Logo StartupKit
EN

AI Agent and MCP Tools

Run your pipeline from Kit's in-app AI assistant or any external MCP client — triage applications, work your review queue, move candidates, and draft candidate replies.

Why It Matters

Recruiting is a queue. Reviews pile up, applications go idle, five candidates need the same “thanks, not this time” written kindly. Kit exposes the Hiring module to AI assistants two ways — the in-app agent that lives on every Hiring page, and MCP tools any external client (Claude Desktop, Claude Code, Codex CLI, or your own agents) can call against your account.

You do not need to be an account admin to connect. Anyone with Hiring access can set up an MCP client and point it at Kit. Connecting is a personal act, like installing an app on your own laptop — what the assistant can then reach is decided per call by your own permissions, not by who set it up.

Both surfaces enforce the same rules as the UI: module permissions, per-posting access, tenant scoping, and every lifecycle guard the forms enforce. An assistant acts as you. It can never reach a job posting you can’t open, and it can never do something the web UI would refuse you.

The In-App Assistant

Open the AI chat on any page under Hiring — it activates automatically, alongside the Security and Outreach agents. It can:

Work your queue — “What’s waiting on me today?” returns your open reviews and any team review that concluded without a clear outcome, each with the candidate, the stage, and how long it has been sitting.

Screen candidates — “Summarize the top 3 applicants for the Senior Rails role” pulls application summaries, extracted candidate data fields, and CV text, then ranks them against the posting.

Move the pipeline — advance a candidate to the next stage, reject with a personalized note, or reverse a rejection. Every action is attributed to you and lands on the audit trail.

Draft candidate replies — the agent stages an email as a pending draft. Nothing leaves Kit until a human sends it.

Answer platform questions — the agent searches Kit’s docs inline.

MCP Tools Reference

What Your Role Allows

Three separate limits stack, and a tool call has to clear all of them:

  1. The connection’s scopes. When you authorize a client you pick, per module, read or read & write. A connection granted only hiring_read cannot write, no matter who you are. Writes are off by default on the consent screen.
  2. Your own Hiring level. Kit re-reads your live per-module level on every single call, so a change to your access takes effect immediately — not at the next token refresh. A member without Hiring access gets no hiring tools at all. Within Hiring, you reach the postings you’d reach in the browser: unrestricted ones, plus any where you’re on the job team. A restricted posting returns “not found”, identical to a bogus ID.
  3. Module admin and subscription. A handful of tools are reserved for Hiring admins — creating job postings and process templates, and changing CV download settings. Defining and editing metafields follows the same rule as the web app: Hiring admins plus the hiring managers of that specific posting. Most write tools additionally require an active subscription.

The recruiter role preset gives Hiring admin, so a recruiter gets the full hiring toolset without holding account admin anywhere else. See Team Roles for what each preset grants.

In the Requires column below: read means any Hiring member with a read scope; write means the connection needs read & write; Hiring admin means module admin on Hiring; admin or HM means Hiring admin or a hiring manager on that job posting; subscription means an active plan.

Setup and Templates

Tool Requires What it does
hiring_get_setup_guide read Start here. Account state, what your role allows, a setup checklist with the tool that fixes each gap, and the recommended next call
hiring_list_templates read Hiring process templates available to the account, with tags and publish state
hiring_get_template read One template in full: every stage, its type, and its configuration
hiring_create_process_template write · Hiring admin Create a reusable process template from a list of stages, with optional reviewers per stage

Postings

Tool Requires What it does
hiring_list_job_postings read Postings you can access, with status, application counts, and stage summaries
hiring_get_job_posting read One posting in full: body, stages with config, reviewers, and portal URL
hiring_create_job_posting write · Hiring admin · subscription Create a draft posting, applying a template or inline stages. Returns the edit URL
hiring_list_metafield_definitions read The custom data fields defined on a posting, with types and extraction settings. Managers-only fields appear for admins and the posting’s hiring managers only
hiring_create_metafield_definition write · admin or HM Add a metafield to a posting, optionally marked for AI extraction or restricted to managers only

Pipeline

Tool Requires What it does
hiring_list_applications read Submitted applications, filterable by posting, status, and date range
hiring_get_application_summary read Everything needed to screen one application: candidate, answers, stage history, notes
hiring_get_stage_details read Stage-type-specific detail for one stage — code assignment, interview, video, portfolio
hiring_search_video_transcripts read Semantic and text search across video interview transcripts
hiring_get_metafield_values read Extracted and manual field values for an application, with confidence scores. Managers-only fields appear for admins and the posting’s hiring managers only
hiring_advance_application write · subscription Move an application to the next stage, or skip ahead to a named one
hiring_reject_application write · subscription Reject an application. The candidate is emailed, with your personalized message if you supply one
hiring_unreject_application write · subscription Reverse a rejection, with a required audit reason
hiring_save_note write · subscription Save feedback or a thread summary to an application, attributed to you
hiring_update_metafield_value write · admin or HM Set a field value manually, recorded as your edit and protected from re-extraction
hiring_trigger_metafield_extraction write · admin or HM Re-run AI extraction against an application’s resume

Reviews

Tool Requires What it does
hiring_list_reviews read Your review inbox, split into what needs a decision, what you owe, and what’s pending on others
hiring_get_review_details read Everything a reviewer needs for one candidate at one stage: criteria, submissions, prior scores
hiring_list_pending_decisions read Team reviews that concluded without a clear outcome — a split vote, or no quorum
hiring_decide_review write · subscription Record an attributed, audited call on a stalled team review, with a required rationale

Talent Pool

Tool Requires What it does
hiring_list_talent_pool read Verified talent pool entries with compact resume summaries, paginated
hiring_search_talent_pool read Search the pool by skills, experience, or email — semantic with text fallback
hiring_invite_talent_pool write · subscription Invite a pool entry to apply for a specific posting

Messaging

Tool Requires What it does
hiring_list_messages read The full email thread between your team and one candidate
hiring_send_message write · subscription Stage a reply as a pending draft. The candidate is not emailed until a human sends it

Candidates and CVs

Tool Requires What it does
hiring_get_candidate_summary read One candidate across every application they’ve made to you
hiring_get_candidate_cv read The extracted CV text for a candidate or talent pool entry
hiring_get_candidate_cv_url read A short-lived signed download URL for the original file — five minutes by default, ten at most
hiring_get_cv_download_settings read The account’s CV download trust config: trusted domains, strict mode, and what it means in practice
hiring_update_cv_download_settings write · Hiring admin · subscription Add or remove trusted domains, or turn strict mode on and off

Records are addressed by prefixed IDs (job_… postings, app_… applications, cand_… candidates, tpe_… talent pool entries) that tools return and accept, so an agent chains list → get → act without screen-scraping.

Limits

  • Messages to candidates are real emails to real people. hiring_send_message deliberately stops at a pending draft — there is no MCP path that puts an email in a candidate’s inbox without a human pressing send. hiring_reject_application does email the candidate, subject to your account’s rejection cool-off; treat it as a send, not a status change.
  • CV access follows the account’s CV-download settings. hiring_get_candidate_cv_url mints a signed URL under the same trust rules the browser applies — trusted domains, strict mode, and your team’s own access. Turning strict mode on narrows what the tool will hand back.
  • Restricted postings are invisible, not forbidden. A posting you’re fenced off from returns “not found” rather than “denied”, so nothing about it leaks — including whether it exists.
  • No agent can promote itself. Nothing in the hiring toolset changes anyone’s role, access level, or module membership.

Connecting an External Client

Setup lives at Integrations > Kit for AI, with copy-paste config per client. No admin access is required to open it. For Claude Code:

claude mcp add --transport http kit https://startupkit.app/api/v1/mcp

On first use, your client walks through Kit’s OAuth flow in the browser. Pick the account, then grant hiring_read for triage and reporting, and hiring_write only to assistants that should act on your behalf. Modules you don’t have access to appear on the consent screen marked as not part of your role — granting them mints nothing usable.

Full setup for every client, the OAuth flow, and the 90-day inactivity sweep are covered in Connecting AI Assistants.

Example Prompts

What you type What happens
“What’s waiting on me today?” hiring_list_reviews + hiring_list_pending_decisions → your open reviews and every stalled team decision, oldest first
“Summarize the top 3 candidates for the Senior Rails role” hiring_list_applicationshiring_get_application_summaryhiring_get_candidate_cv → a ranked shortlist with the evidence behind each rank
“Move Priya Raman to the technical interview stage” hiring_get_application_summaryhiring_advance_application → the candidate is advanced and notified, attributed to you
“Draft a warm rejection for everyone idle in Screening for 3+ weeks — show me before sending” hiring_list_applications → a per-candidate draft in chat; nothing is sent until you approve each hiring_reject_application
“Who in the talent pool matches this posting?” hiring_get_job_postinghiring_search_talent_pool → matches with reasons, then hiring_invite_talent_pool on your say-so
“Why did we pass on this candidate last year?” hiring_get_candidate_summary → every prior application, stage reached, and the notes attached

Quick Checklist

  • Try the in-app agent on Hiring: “What’s waiting on me today?”
  • Connect your MCP client at Integrations > Kit for AI — no admin access needed
  • Grant hiring_read broadly; reserve hiring_write for assistants you trust to act
  • Ask hiring_get_setup_guide first — it tells the agent what your role allows before it plans
  • Chain the triage flow: list reviews → get review details → advance or reject
  • Confirm your account’s CV download settings before pointing an agent at resumes

Next Steps

Type to search...