The MCP server

39 tools over stdio, so an agent can run the whole search against the same notes.

node app/server/mcp.mjs speaks JSON-RPC over stdio, no SDK. The app/.mcp.json wires it for Claude Code; Claude Desktop, Cursor and ChatGPT take the same command.

AreaTools
Onboardingonboarding_status, onboarding_materials, save_profile, fetch_link, import_resume
Findingsearch_jobs (every Jobs filter), get_job, today, summary, outcomes
Movingset_status (as far as ready), add_note, save_application_field, application_packet, application_materials
Writingcover_letter_materials, save_cover_letter, tailored_resume_materials, save_tailored_resume, list_snippets
Addingadd_job, attach_posting, add_company, list_companies
Mailmail_check, mail_items (read and start only)
Peoplelist_people, get_person, add_person, attach_person, log_contact
Criteriaget_criteria, set_criteria, preview_criteria, list_criteria_presets, save_criteria_preset, activate_criteria_preset
Scansrun_scan, scan_status

The boundary, enforced

set_status refuses applied, interviewing and offer from an agent: those record something that happened outside the machine, and only the person it happened to can say so. An agent drafts a packet, moves the job to ready, and asks. Confirming a mail item is not a tool at all.

The agent skill

The repository ships a Claude Code skill, tekjobs-onboard, which runs the interview: call onboarding_status, follow onboarding_materials' script literally, never scrape a LinkedIn profile, never invent a number for the profile.