Docs

Tools reference

The MCP server exposes six tools. Every tool maps to one REST endpoint; the MCP layer mostly shapes inputs and trims responses so the model gets a useful payload without blowing out the context window.

list_jobs

Your hiring roles. Returns lightweight summaries with interview counts. Optional filters: status, search (title substring), limit (defaults 20, max 50).

Input schema

json
{
  "status": "active" | "paused" | "archived" (optional),
  "search": string (optional),
  "limit": integer 1-50 (optional)
}

REST equivalent: GET /api/jobs

get_job

Full details + screening questions for one role. Returns the job object including description, branding fields, and counts. Pass the UUID returned by list_jobs.

Input schema

json
{ "jobId": "uuid" }

REST equivalent: GET /api/jobs/:jobId

list_screens

Candidates screened for a role. Returns candidate summaries with score and recommendation. Optional filters: status, minScore (0-100), limit. Includes total_returned and total_matched so the model knows when results were trimmed.

Input schema

json
{
  "jobId": "uuid",
  "status": "in_progress" | "completed" | "expired" (optional),
  "minScore": number 0-100 (optional),
  "limit": integer 1-50 (optional)
}

REST equivalent: GET /api/jobs/:jobId/interviews

get_screen

Score, recommendation, summary for one candidate. Returns the screen object with per-question scores. Strips the messages array to keep tool output small. Use get_transcript when the conversation is what you need.

Input schema

json
{ "jobId": "uuid", "screenId": "uuid" }

REST equivalent: GET /api/jobs/:jobId/interviews/:interviewId

get_transcript

Full AI - candidate conversation. Returns the ordered messages between the AI screener and the candidate. Use this when the user wants to read what was said.

Input schema

json
{ "jobId": "uuid", "screenId": "uuid" }

REST equivalent: GET /api/jobs/:jobId/interviews/:interviewId

get_job_analyticsPro

Completion rate, average score, weekly trends. Pro plan only. Free-tier users get a structured upgrade message instead of a thrown error, so the model can suggest upgrading.

Input schema

json
{ "jobId": "uuid" }

REST equivalent: GET /api/jobs/:jobId/analytics