ATS MCP SERVER FOR RECRUITERS

ATS MCP server for 100Hires - run your hiring pipeline from Claude and ChatGPT

The 100Hires MCP server is a hosted endpoint with OAuth 2.1 and 130 tools for candidates, jobs, applications, interviews, and messages. One click in Claude.ai, ChatGPT, Cursor, VS Code, or Codex and you can run your hiring pipeline in plain English. Free on every plan.

4.7
4.8
based on 1,300+ reviews
100Hires Connect via MCP card with Claude, Codex, and Cursor agent tiles plus an example prompt to move candidates by AI score

Connect in one click, no install

The 100Hires MCP server is hosted at mcp.100hires.com/mcp. There is no npm install, no API key to paste, and no local process to keep alive. Your AI client speaks Streamable HTTP to our endpoint, you approve the OAuth consent once, and the 130 tools show up in the chat.

If you prefer to call the 100Hires REST API directly, you can – the same endpoints and authentication surface are included with paid plans. MCP availability is a separate entitlement. Both paths are available. MCP is the simpler one for AI-driven workflows: no glue code, no per-workflow scripts, and the AI client discovers all 130 tools at startup. Pick the integration that matches your stack.

Step 1. Sign in to your 100Hires account

Free trial is enough. Confirm your email so the OAuth flow knows who you are.

Step 2. Click Connect in your AI client

In Claude.ai, open Settings, then Connectors, and add the 100Hires MCP server.

In ChatGPT the surface is Settings, then Apps & Connectors. Open Advanced settings and toggle Developer mode on (still in beta, available on Plus, Pro, Business, Enterprise, and Edu – not Free). Back in Apps & Connectors click Create and point a new connector at https://mcp.100hires.com/mcp. In Business, Enterprise, or Edu workspaces, an admin first enables custom MCP connectors under Workspace Settings, Permissions & Roles. Once it is added, hit + in the composer to invoke it.

For Cursor, VS Code, Codex, and Windsurf, the configuration block lives in the Developer Portal.

Step 3. Approve the consent screen

You will land on a 100Hires consent page. It lists the scope (mcp:full), shows which account is being connected, and lets you revoke the connection at any time from Settings, Integrations. Approve, return to your AI client, and start prompting.

The tokens are bound to your user, expire in one hour, and refresh automatically. There is no API key on the wire and nothing to copy into a config file.

Run your ATS in natural language, five prompts recruiters use

Many recruiting workflows follow a repeatable pattern: filter candidates by AI score, draft a follow-up email, move 50 applicants from “new” into “phone screen”. The 100Hires MCP server turns those patterns into one-line prompts inside Claude, ChatGPT, Cursor, or any MCP-compatible client.

Each prompt below maps to one or more of the 130 MCP tools the server exposes.

  1. “Show me the top 10 candidates for the Senior Engineer role by AI score, in JSON.”
    Maps to hires_list_applications with filters by job and AI score.
  2. “Move every candidate below AI score 40 to rejected, with reason ‘AI score below threshold’.”
    Maps to hires_batch_reject_applications, a batch op that handles hundreds in one call.
  3. “For candidate Lydia Martinez, post a note: ‘Follow up next Tuesday after their portfolio review.’”
    Maps to hires_create_note.
  4. “Schedule a follow-up email to all candidates stuck in ‘phone screen’ for more than 5 days. Use template ‘gentle nudge’.”
    Maps to hires_batch_create_messages and hires_list_email_templates.
  5. “Pull every interview from the last 30 days, summarize what each candidate said about salary, and add it to their notes.”
    Chains hires_list_interviews and hires_create_note.

130 MCP tools across 17 domains

The 100Hires MCP server exposes the entire 100Hires API v2 surface (87 REST endpoints) as 130 typed MCP tools, grouped into 17 domains. Every part of your ATS, candidates, jobs, applications, interviews, messages, forms, nurture campaigns, webhooks, is callable from your AI assistant with full schema validation.

Domain Tools What you can do
Candidates 18 Search, create, update, tag, batch-tag, attach files, view timelines, send messages
Applications 18 Move stages, advance, reject, transfer, get AI score, batch-move, batch-reject, schedule interviews
Jobs 17 Create, update, set status, publish to 13 job boards, batch publish, manage hiring teams, register webhooks
Messages and Templates 17 Schedule emails, batch up to 100 in one call, manage templates, run nurture campaigns
Companies and Webhooks 11 Register webhooks at company or per-job level, manage multi-tenant agency setups
Reference and Taxonomy 23 Sources, rejection reasons, statuses, departments, workflow stages, question types, education levels, billing
Forms, Notes, Interviews, Users, Career Site, Attachments, Feedback 26 Application forms, candidate notes, interview lookup, user management, public career site endpoints, file attachments, structured feedback

Full tool catalog, input schemas, and per-client setup snippets live in the 100Hires MCP Developer Portal.

Hosted, open source, and in the Official MCP Registry

The 100Hires MCP server is open source under the MIT license and runs as a hosted Streamable HTTP service at mcp.100hires.com/mcp. The code lives at github.com/100Hires/mcp-server and is built on @modelcontextprotocol/sdk, the official SDK from Anthropic.

The server is listed in Glama.ai and in the Official MCP Registry, so any MCP-compatible client can discover it. If your security team prefers to self-host, you can run the open-source server from a local clone of the repo, but most teams stay on the hosted endpoint and never touch infrastructure.

At a glance: 130 tools across 17 domains, MIT license, hosted at mcp.100hires.com/mcp, Streamable HTTP transport, OAuth 2.1 with PKCE and Dynamic Client Registration, built on @modelcontextprotocol/sdk by Anthropic, listed in Glama.ai and the Official MCP Registry.

Developer Portal | README | OpenAPI spec

100Hires Integrations panel showing Gmail, Outlook, Calendar, Personal API key for Developer API, and Zapier integration cards

OAuth 2.1, not API keys, not env vars

Authentication goes through a standard OAuth 2.1 flow with PKCE and Dynamic Client Registration. Your AI client opens a 100Hires consent screen, you approve, and a refresh token is bound to your user. No API key on disk, no shared secret pasted into env vars, no key rotation to remember.

  • OAuth 2.1 with PKCE (S256) and Dynamic Client Registration
  • Access tokens scoped mcp:full, expire in 1 hour, auto-refresh
  • Tokens bound to your user permissions, not company-wide
  • Revoke any connection from Settings, Integrations in one click
100Hires Integrations settings showing API and developer integration options

The same backend powers Zapier, Make, and the MCP server

If you cannot connect through MCP (locked-down laptop, no Claude or ChatGPT in your stack) the same 100Hires API wires into Zapier, Make.com, n8n, or any tool that speaks REST. The MCP server is one consumption pattern, not the only one.

  • Zapier with 5,000-plus apps, no code
  • Make.com or n8n visual workflows
  • Webhooks at company or per-job level
  • Direct REST when an AI is not in the loop
100Hires AI scoring prompt with research instructions, 0-100 scoring bands, and importance weight

AI score, ranked candidates, batch ops in one prompt

Every application in 100Hires gets an AI score against the job description. The MCP server exposes those scores plus batch move and batch reject, so 'reject everyone below 40, move everyone above 80 to phone screen' is one prompt, not 200 clicks.

  • AI score per application (0-100)
  • Batch move up to several hundred applications at once
  • Batch reject with custom reason and notification handling
  • Filter by score, source, tag, or pipeline stage

See 100Hires AI in action

A 2-minute walkthrough showing how 100Hires AI surfaces drop-off points across your hiring funnel.

2-minute product tour

Why MCP, when you already have a REST API

Fair question. AI assistants in hosted environments such as ChatGPT and Claude.ai cannot make outbound HTTP calls on their own. Coding agents such as Cursor, Claude Code, VS Code, and Codex can write a script that calls a REST API, but that means writing fresh glue code for every workflow. MCP standardizes the tool surface either way: one protocol the AI client speaks, and a hosted server that maps it to the 100Hires API.

With the 100Hires MCP server, the AI client discovers the 130 available tools at startup and dispatches them with full schema validation. The alternative is a custom script per workflow: take the LLM tool-call payload, hit the 100Hires REST endpoint, validate the response, and loop it back. MCP removes that layer.

A second reason is permissions. The MCP server enforces your user scope through OAuth, so the AI client sees the tool list and the responses, but never the underlying credential. If you grant Claude access to the hires_reject_application tool, you are scoping that one verb, not handing over the keys to your ATS.

The third reason is composition. A real workflow looks like “find the top 10 candidates for the role, summarize each resume, draft a follow-up email, schedule it for tomorrow morning”. That is five different REST endpoints in sequence. With MCP the AI plans the chain itself; with raw REST you orchestrate it.

Honest caveat: if your workflow is one fixed REST call once a day, an MCP server is overkill. Use the API directly. The 100Hires MCP server pays off when the workflow is multi-step, exploratory, or natural-language driven.

How 100Hires compares to a typical ATS on the developer surface

100Hires
Free on every plan
Typical ATS
Enterprise tier only
Hosted MCP endpoint
Yes, mcp.100hires.com/mcp, free
Not available
OAuth 2.1 with PKCE and Dynamic Client Registration
-
One-click connect to Claude.ai and ChatGPT
-
API access
Paid plans, self-serve after company verification
Enterprise tier only
OpenAPI 3.1 spec
-
Webhooks at job level, not just company
Company-level only
Batch operations as first-class
Move or reject hundreds in one call
Loop over single calls
AI scoring exposed via API
-
Open-source MCP server
MIT, on GitHub and in Official MCP Registry
-
MCP clients tested by 100Hires
Claude.ai, ChatGPT, Cursor, Claude Code, VS Code, Codex, Zed, Windsurf
No native MCP client; Zapier or REST glue only
Public career-site API
3 tools, no API key needed
-

How 100Hires runs its own hiring on this MCP server

We dogfood. The 100Hires hiring team, sales team, and founder use the same MCP server you do, every day. Below is one workflow we run from Claude in production. It is a use case the 100Hires platform supports out of the box.

  • Candidate assessment. Pull a candidate’s profile, applications, and evaluation forms; cross-check against company employees; flag failed-hire patterns; output a hire/reject recommendation. Tools: hires_get_candidate, hires_list_applications, hires_list_application_evaluations, hires_create_note.

Security, scoping, and data privacy

The 100Hires MCP server uses OAuth 2.1 with PKCE (S256) and Dynamic Client Registration (RFC 7591). Your AI client never sees a long-lived API key, only a short-lived access token bound to your user. Tokens expire in one hour and refresh in the background; you can revoke any connection from Settings, Integrations in 100Hires at any time.

The scope mcp:full inherits your user permissions. If your role in 100Hires cannot delete a job, the MCP server cannot delete a job through your session either. Hiring managers, recruiters, and admins get exactly the tool surface they already have in the UI.

Candidate data is only sent to the AI when you call a tool that returns it. There is no background sync and no telemetry to a third party. If you ask Claude “show me the top 10 candidates for Job X”, the names, resumes, and AI scores for those 10 candidates flow into your AI client’s context for that prompt and nowhere else. If your data protection policy requires anonymization before LLM processing, do that in your prompt or in a wrapper script. The 100Hires MCP server hands the AI exactly what the API returned.

The server source code is MIT-licensed and on GitHub. Audit it, run a self-hosted clone, or vendor it into your own infrastructure if you want full control of the runtime.

Atiq Arshad
Technical Recruiter @Kidan

It solved all of my recruitment problems and offered all of the features I was looking for. It can automate most of my recruitment processes.

Source: G2
Philipp Maschelski
Talent Acquisition Partner @G42

I'd happily recommend it to my industry peers. I'm able to use the platform with ease and don't have to think twice what function to use.

Source: Capterra
Teodora Franich
HR Manager @TeachMeSkills

The system is very user-friendly. Even people with no experience will find it easy to understand its functionality.

Source: G2
Best ATS for SMBs Forbes Best AI Applicant Tracking System Capterra
Capterra Shortlist 2026 Capterra Best Ease of Use 2026 Capterra Best Value 2026 Software Advice Front Runners 2026 Software Advice Most Recommended 2026 G2 Leader Winter 2026 G2 Users Love Us 2026
Frequently asked questions about the 100Hires MCP server
+ Do I need to install or run anything to use the 100Hires MCP server?
No. The 100Hires MCP server is hosted at https://mcp.100hires.com/mcp. Your AI client connects over Streamable HTTP. There is no npm install, no local process, and no Docker container to keep alive. Self-hosting from a clone of github.com/100Hires/mcp-server is supported but optional.
+ How does authentication work?
OAuth 2.1 with PKCE (S256) and Dynamic Client Registration (RFC 7591). Your AI client opens a 100Hires consent screen on first connect, you approve the scope mcp:full, and the client receives a refresh token bound to your user. Access tokens expire in one hour and refresh automatically. Revoke any connection from Settings, Integrations in 100Hires.
+ Which AI clients can connect to the 100Hires MCP server?
Verified clients include Claude.ai, ChatGPT, Claude Code, Cursor, VS Code with Copilot, Codex, Zed, and Windsurf. Any MCP-compatible client that speaks Streamable HTTP can connect. Setup snippets for every client live in the 100Hires Developer Portal at https://100hires.com/mcp.
+ Can I use the 100Hires MCP server with ChatGPT?
Yes. In ChatGPT open Settings, then Apps and Connectors, then Advanced settings, and turn on Developer mode (still in beta on Plus, Pro, Business, Enterprise, and Edu plans, not Free). Then in Apps and Connectors click Create and point a new connector at https://mcp.100hires.com/mcp. ChatGPT walks you through the OAuth flow against your 100Hires account and the 130 tools appear in the chat. Business and Enterprise workspaces need an admin to allow custom MCP connectors first under Workspace Settings, Permissions and Roles.
+ Is the 100Hires MCP server free?
Yes. The public REST API is included with paid 100Hires plans. MCP access is a separate entitlement and can be evaluated during the trial. Confirm your email after sign-up and you can immediately approve the OAuth consent. No sales call, no enterprise tier.
+ Why MCP when I can call the 100Hires REST API directly?
If you are writing your own scripts, the REST API is the right call. The 100Hires MCP server matters when you want an AI assistant such as Claude, ChatGPT, or Cursor to plan and execute multi-step workflows in plain English. The AI cannot execute REST itself, it needs an MCP server to dispatch the tool calls.
+ Is this for recruiters or for candidates auto-applying to jobs?
Recruiters and hiring teams. The 100Hires MCP server is the employer-side surface: search your pipeline, score your candidates, send your outreach. Candidate-side auto-applying tools exist (some named ATS-MCP) but they are a different category and 100Hires does not build for that use case.
+ How is candidate data protected when an AI uses the 100Hires MCP server?
The 100Hires MCP server uses OAuth 2.1 with short-lived access tokens bound to your user. The AI client never sees a long-lived credential. When you ask Claude to read or modify candidate data, only that requested data is returned to the context for that prompt. No background sync, no third-party telemetry. For data-protection policies that require anonymization before LLM processing, do that in your prompt or in a wrapper script.
+ What happens if I delete a candidate by accident through Claude?
The 100Hires MCP server respects your role permissions and the standard 100Hires recovery rules. Major AI clients such as Claude.ai, Cursor, and ChatGPT prompt for tool-call confirmation by default; exact behavior depends on the client. You can grant always-allow per tool, keep approval-on-each-call for destructive ones, or scope which tools are visible at all, so hires_delete_candidate can be hidden if you do not want it in scope.
+ Can I self-host the 100Hires MCP server?
Yes. The source is MIT-licensed at https://github.com/100Hires/mcp-server. The open-source build runs locally over stdio using a 100Hires API key, which suits security-sensitive teams that prefer to keep the runtime on their own infrastructure. Most teams stay on the hosted endpoint at https://mcp.100hires.com/mcp because there is nothing to operate.
+ Where do I report bugs or request a tool?
GitHub issues at https://github.com/100Hires/mcp-server/issues. The 100Hires MCP server is MIT-licensed and accepts pull requests. There is also a hires_submit_feedback tool that posts directly to the 100Hires team.
23,000+ recruiters & business owners read this newsletter

The hiring playbook, in your inbox

One email a week - benchmarks, AI screening tactics, and short interview templates from the 100Hires team. No product pitches.

Connect 100Hires to your AI assistant in 30 seconds

Sign up for free, approve the OAuth consent in Claude.ai or ChatGPT, and run your first prompt against your real pipeline today.

Related 100Hires resources: Explore recruitment automation software and recruiting software.

We use cookies to offer you our service. By continuing to use this site, you consent to our use of cookies as described in our policy