← All projects
Active

JobHound MCP

MCP server that lets Claude Code scan, score, and apply to jobs autonomously. Connects directly to Ashby, Greenhouse, and Lever job board APIs. No browser. No resume upload portals. Claude does the tailoring.

Python
language
8
tools
3
ATS sources
MIT
license

What it does

JobHound MCP exposes a set of tools to Claude Code that form a complete autonomous job application pipeline. The flow is linear: scan job boards for matching roles, score each one against your profile, queue the best candidates, let Claude tailor a cover letter and resume for each, then submit directly via the ATS API. No human in the loop unless you want one.

The pipeline: scan pulls fresh listings from Ashby, Greenhouse, and Lever. score runs each listing through a relevance model against your stored profile. queue holds anything above the threshold. Claude reads the full job description, rewrites your materials for that specific role, then submit fires the POST directly to the ATS endpoint. Status is written back to a local SQLite database that the TUI reads in real time.

The 8 tools

jobhound_scan
Fetch fresh job listings from all configured ATS sources. Deduplicates against the local database and scores new entries automatically.
jobhound_list
Return all tracked jobs filtered by status. Accepts optional status, company, and score threshold arguments for targeted queries.
jobhound_get
Fetch the full record for a single job by ID. Returns title, company, URL, score, status, and all stored metadata.
jobhound_get_for_tailoring
Returns the job description alongside your base resume and profile in a single context block — ready for Claude to tailor in one pass.
jobhound_apply_tailored
Submit a tailored application to the ATS endpoint. Accepts the job ID plus Claude's generated cover letter and resume body. Logs result to DB.
jobhound_update
Write any field on a job record — status, notes, interview date, follow-up flag. Used by Claude after status changes or manual review.
jobhound_pause
Pause automatic scanning and queuing without stopping the server. Useful when you want to review the queue before Claude submits anything new.
jobhound_resume
Resume automatic operation after a pause. Scanning, scoring, and submission return to the configured schedule.

Claude Code setup

{
  "mcpServers": {
    "jobhound": {
      "command": "python",
      "args": ["-m", "jobhound.server"],
      "env": {
        "ASHBY_API_KEY": "your_key_here",
        "GREENHOUSE_API_KEY": "your_key_here",
        "LEVER_API_KEY": "your_key_here",
        "JOBHOUND_DB": "~/.jobhound/jobs.db",
        "JOBHOUND_PROFILE": "~/.jobhound/profile.json"
      }
    }
  }
}

Sources

JobHound pulls from the following job board APIs directly — no scraping, no third-party aggregators:

Stack

Python 3.11+ FastMCP httpx sqlite3 Pydantic Claude API


Open source on github.com/Null-Phnix/jobhound-mcp. Issues and PRs welcome.