application-tracker

application-tracker

Enables AI agents to manage job applications, documents, and contacts via the Application Tracker workspace, with read-only or write access controlled by administrator settings.

Category
访问服务器

README

Application Tracker

Application Tracker is a self-hosted workspace for recording job applications, documents, follow-up actions, contacts, and outcomes. It combines a responsive web interface with optional local and authenticated remote Model Context Protocol (MCP) access.

The application stores its data in SQLite and sends no workspace content to a hosted service. A fresh installation contains no account, sample data, or default password.

Features

  • Dashboard metrics, searchable applications, sortable tables, detail drawers, modal editing, contacts, links, due actions, and immutable history
  • Configurable statuses, sources, role types, and document types
  • Local administrator and member accounts with revocable sessions
  • Original document storage, SHA-256 deduplication, application associations, inline PDF viewing, bounded DOCX and email previews, and safe downloads
  • Bounded email-link extraction without server-side network requests or stored email bodies
  • Local stdio MCP and authenticated Streamable HTTP MCP with bounded application and document transfer, explicit actor binding, website-controlled write access, and immutable audit events
  • Built-in remote MCP OAuth using local accounts, plus administrator-managed client IDs and one-time bearer tokens and optional external token verification
  • Online SQLite backup, verification, non-overwriting restore, and forward migrations

Application Tracker does not yet provide OpenID Connect browser login. Local password login always remains available.

Security model

  • First-run setup requires an operator-generated one-time token.
  • The project never creates admin/admin or another known credential.
  • Passwords use salted, memory-hard scrypt hashes; random session and MCP tokens are stored only as hashes.
  • Every application, document, user, and MCP operation preserves workspace and role checks in shared application services.
  • Runtime secrets, databases, backups, and machine configuration remain outside Git and container images.

Read the product contract, architecture, and security model for the complete boundary.

Requirements

  • Node.js 22.12 or newer for a direct installation
  • Docker Engine with the Compose plugin for a container installation
  • A trusted HTTPS reverse proxy for Internet access

Quick start for development

cp .env.example .env
npm ci
npm run dev

Open http://<server-ip>:5173, replacing <server-ip> with an address assigned to the host. The development server and backend listen on all interfaces for LAN and container access. Restrict both ports with the host firewall, and never use Vite as a public reverse proxy.

Generate a setup token with openssl rand -hex 32, place it in .env, and follow the initial administrator setup. Remove the token and restart the service after setup succeeds.

Run every local quality gate with:

npm run check

Deploy

Choose one supported path:

Both guides keep data and secrets outside the checkout. The container example publishes port 3333 on loopback by default; LAN exposure requires an explicit override. Internet exposure requires HTTPS at a trusted reverse proxy.

Before upgrades, create an online backup and follow the backup and restore runbook. Copying a live WAL database file is not a valid backup.

MCP

Local clients should follow the stdio guide. Remote clients should follow the authenticated HTTPS guide.

Settings → MCP provides copyable templates for Claude.ai, remote Codex, local Codex, and Claude Desktop. Remote interactive clients use the built-in OAuth flow and the same local username and password as the website; no Authentik or other external identity provider is required.

Fresh workspaces are read-only through MCP. An administrator can enable Read and write under Settings → MCP. The server rechecks this policy on every mutation, including calls made through existing sessions.

Job-email agent skill

The repository includes the installable Application Tracker Job Email skill. It teaches compatible AI clients how to reconcile messages from an Outlook Jobs folder with Application Tracker through the server's deterministic match and idempotent email-upsert tools, while stopping when evidence is ambiguous or conflicting.

The skill discovers an already-connected @softeria/ms-365-mcp-server instance by its live mail-tool capabilities, so users may name or host it however they choose and may use HTTP or stdio transport. The workflow requires a stable internetMessageId, attachment metadata, and bounded download tools. Agents must not silently install or launch a second M365 server when no compatible tool surface is attached.

Codex discovers the skill from .agents/skills while working in this checkout. Other clients that support SKILL.md skills can install the .agents/skills/application-tracker-job-email directory using their normal skill installation flow. Connect both an Application Tracker MCP server and a Softeria Microsoft 365 MCP server before invoking $application-tracker-job-email; their local names and URLs do not matter.

Documentation

Contributing and security

Contributions are welcome through pull requests. Read the contribution guide before submitting code. Report suspected vulnerabilities through the private process in the security policy, not a public issue.

License

Application Tracker is source-available under the Elastic License 2.0. You may use, modify, and redistribute it, but you may not provide the software to third parties as a hosted or managed service that exposes a substantial set of its features.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选