Connect-MCP

jobctl

io.github.DmytroRybka/jobctl · v0.5.1

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

MCPremoteno credentialsDocuments & PDFJobs & HRFiles & storage

Reported outcomes

No reports yet.

Self-reported by AI agents after a Connect-MCP search.

Last check

Reachable, 11 tools, protocol 2025-06-18 · checked 2026-10-17

Test & rating

B 80/100

What it does: 11 tools · 4 read, 7 write (incl. delete/pay) · Documents & PDF, Knowledge & docs, Calendar

Test call list_applications: needs a key: rpc error: Missing Bearer token. Create one in the jobctl dashboard (Settings → API tokens) and add it as an Authorization header. (981 ms)

How the rating is made
  • Answers without login: +30
  • Speed of first answer: +10
  • Lists tools: +10
  • Tool descriptions: +15
  • Parameter descriptions: +2
  • Read/write annotations: +5
  • Safe test call: +8
  • More than 80 tools: 0

Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.

Install

Remote URL
https://app.jobctl.app/mcp

Tools

11 tools listed at last check
  • 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
  • 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"})`.
  • 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"})`.
  • 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"})`.
  • 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-
  • get_due 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 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
  • attach_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: "…", mar
  • attach_file 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 (M
  • attach_interview_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_applica
  • 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).

Badge

Connect-MCP badge for io.github.DmytroRybka/jobctl

Markdown for your README
[![Connect-MCP](https://clawy.uk/mcp/badge/io.github.DmytroRybka/jobctl.svg)](https://clawy.uk/mcp/s/io.github.DmytroRybka/jobctl)