jobctl

io.github.DmytroRybka由 GitHub 账号 DmytroRybka 发布v0.5.1更新于 Oct 24, 2026

Job application tracker for developers - AI agents write over MCP, you review in a dashboard.

已验证Streamable HTTP可网页运行效率与工作流文件与存储

概览

AI 生成的概览

让助手跟踪求职申请、记录面试、备注和待办事项,并附加简历与分析,用户可在仪表盘中查看。

可以做什么
助手可以用一行自由文本或结构化字段添加申请,按视图、状态、优先级或搜索列出和筛选申请,并更新状态、下一步行动等字段。它可以追加时间线备注、记录面试(含参加者和链接),并报告今天到期的事项或未来几天的安排。还可以为申请附加公司分析、简历或求职信,以及为某场面试附加准备材料。
适用场景
适合希望由 AI 助手维护求职流程、自己在网页仪表盘中查看和修改的用户。适用于询问今天该做什么、有哪些面试安排,或记录招聘方通话和面试回顾等场景。
运行要求
通过 streamable HTTP 连接 app.jobctl.app 的远程 MCP 端点;未声明任何软件包、环境变量或请求头。用户在 jobctl 仪表盘中查看和管理数据。
安装前请注意
助手会写入用户的求职数据:创建和更新申请、备注、面试及附件,且新的分析或文件会替换该申请或该类别的旧文件。附件以 base64 发送并存储在服务中。清单未声明身份验证,使用前请确认该端点的安全方式。

安装

在 SourceWeft 中

  1. 打开 控制台中的 jobctl,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.DmytroRybka%2Fjobctl/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "jobctl": {
      "type": "http",
      "url": "https://app.jobctl.app/mcp"
    }
  }
}

工具

11

add_application

Add application

Track a new job application. Pass either a single `raw` line — `add_application({raw: "Bosch, Tech Lead, prio A, due friday, remote, via LinkedIn"})` — or structured fields (`company` and `role` required then). Returns the created application and possible-duplicate warnings; if duplicates are listed, tell the user instead of creating again.

输入参数rawurlroleremotesourcestatuscompanylocationpriorityapplied_atcv_variantmatch_notes另有 7 个

list_applications

List applications

List job applications. Filter by view (active = default working set, archive = rejected/withdrawn/no-response), status list, priority, or free-text search in company/role. Example: `list_applications({view: "active"})`, `list_applications({q: "bosch"})`.

输入参数qviewlimitstatuspriority

update_application

Update application

Update fields of an application (get the id from list_applications). Status changes are logged to the timeline automatically. Example: `update_application({id: "…", status: "interview", next_action: "prepare system design", next_action_due: "2026-07-20"})`.

输入参数id必填urlroleremotesourcestatuscompanylocationpriorityapplied_atcv_variantmatch_notes另有 7 个

add_note

Add note

Append a free-text note to an application timeline — recruiter call summaries, interview instructions, pasted messages. Multiline markdown is fine. Example: `add_note({application_id: "…", text: "Recruiter: team of 5, on-call rotation, offer range 85-95k"})`.

输入参数text必填application_id必填

log_interview

Log interview

Log an interview for an application (max 10 per application): when it takes place, its status (planned or done), who attends (each with an optional profile link), related links (prep materials the company sent, meeting URL), and a short recap of what was discussed. Also keeps the application's next-interview date in sync. Example: `log_interview({application_id: "…", scheduled_at: "2026-07-20T14:00:00+02:00", status: "planned", attendees: [{name: "Anna Weber (HR)", url: "https://linkedin.com/in/annaweber"}], links: [{label: "Prep materials", url: "https://company.com/interview-prep"}], recap: "System design round"})`.

输入参数linksrecapstatusattendeesscheduled_at必填application_id必填

get_due

Due actions

What is burning today: applications with next_action_due today or overdue. Call this when the user asks "what should I do today?" about their job search.

无需输入参数。

get_planned

Planned schedule

What is actually SCHEDULED: interviews with their time, attendees and meeting links, plus the actions falling due, for today, tomorrow, or the next seven days. Use this whenever the user asks what is planned, what the day or week looks like, or before proposing a time to anyone — get_due only knows action deadlines and is blind to booked interviews. Example: `get_planned({range: "tomorrow"})`.

输入参数range

attach_analysis

Attach company analysis

Attach a markdown company analysis (research you produced) to an application. Single document per application — a new call REPLACES the previous one. Max 100000 bytes (~100 KB) of utf-8. The user reads it in the dashboard, e.g. before an interview. Example: `attach_analysis({application_id: "…", markdown: "# Bosch\n\n## Culture…"})`.

输入参数markdown必填application_id必填

attach_file

Attach CV or cover letter

Attach or replace a file on an application so the user sees it in the dashboard: a CV/resume (kind: 'cv') or a cover letter (kind: 'cover_letter'). Pass the file bytes as base64 in data_base64. One file per (application, kind) - a new call REPLACES the previous one. Max ~5 MB; pdf/doc/docx/txt/md (MIME is inferred from the filename if you omit it). Call this whenever you generate a tailored CV or cover letter for an application. Example: `attach_file({application_id: "…", kind: "cv", filename: "CV_Cursor.pdf", data_base64: "JVBERi0…"})`.

输入参数kind必填mimefilename必填data_base64必填application_id必填

attach_interview_file

Attach interview prep file

Attach prep material to a specific interview so the user sees it next to that round in the dashboard: the prep document you wrote, the job description, a deck, notes the company sent. Max 3 files per interview, 20000000 bytes (20 MB) each; pass the bytes as base64. Get interview ids from get_application. Example: `attach_interview_file({application_id: "…", interview_id: "…", filename: "prep-round2.md", data_base64: "IyBQcmVw…"})`.

输入参数mimefilename必填data_base64必填interview_id必填application_id必填

get_application

Get application

Full detail of one application: all fields, contacts, recent timeline events, and whether a company analysis is attached (fetch it via the dashboard or attach_analysis to replace).

输入参数id必填

版本历史

1
  1. v0.5.1最新Sep 16, 2026

评分

已满足适用检查项的 83%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。