Developer Portal — MCP
Connect 100Hires to Claude, ChatGPT, Cursor, and any AI assistant
One MCP endpoint, 130 tools — manage candidates, jobs, applications, interviews and messages with natural language.
{{ endpointUrl }}
- MIT License
- Glama.ai verified
- Official MCP Registry
Recruiting MCP, ATS MCP, hiring AI integration — bring your applicant tracking system into Claude, ChatGPT and Cursor with secure OAuth 2.1. New to 100Hires? Start a 14-day free trial.
What is MCP?
Model Context Protocol is an open standard from Anthropic that lets AI assistants connect to external systems through a uniform interface — think of it as USB-C for AI tools.
Hosts
AI assistants and IDEs that talk to MCP servers — Claude (web, Desktop, Code), ChatGPT, Cursor, VS Code, Codex, Windsurf, Zed.
Clients
The transport layer inside the host that speaks MCP over Streamable HTTP or stdio.
Servers
100Hires MCP server — exposes 130 tools backed by the public REST API, secured by OAuth 2.1.
100Hires runs a remote MCP server, not a local one.
There’s nothing to install, deploy or update on your machine — every client, including Claude Desktop and Cursor,
points at https://mcp.100hires.com/mcp and authorizes via OAuth.
New tools and bug fixes land server-side and reach all your assistants the next time they call tools/list.
What you can ask
Ten real prompts that work today, in plain English.
- “Show me all candidates who applied this week”
- “What's the status of our open jobs?”
- “Schedule an interview with Sarah for the Backend Engineer role”
- “Move all candidates in Phone Screen to Interview stage for the Sales Rep job”
- “Send a follow-up email to candidates who haven't responded in 5 days”
- “Reject inactive candidates on the Marketing Manager job with reason 'No response'”
- “Create a new job posting for Senior Product Designer in New York”
- “Show me pipeline analytics — how many candidates at each stage?”
- “Find all candidates from LinkedIn source with 'Python' in their profile”
- “Who has interviews scheduled for tomorrow?”
Quickstart
From zero to your first MCP prompt in under five minutes.
-
Prerequisites
A 100Hires account on the Pro plan or higher. Free workspaces don’t expose the MCP endpoint.
-
Pick your AI client
One-click install for Cursor and VS Code; copy a snippet for everything else. All clients connect to
{{ endpointUrl }}over Streamable HTTP; stdio-only clients use themcp-remoteshim.Install in CursorClick Install in Cursor to add 100Hires MCP automatically. Or paste the snippet below into
~/.cursor/mcp.json.Install in VS CodeOpens VS Code and registers the server. Or paste the snippet into
.vscode/mcp.jsonin your workspace.Add the snippet to your Claude Desktop config and restart the app:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Run this in your terminal:
ChatGPT Pro / Plus / Business / Enterprise / Education. In ChatGPT: Settings → Connectors → Add custom connector, then paste the URL below.
OpenAI Codex CLI — requires
experimental_use_rmcp_client = truein~/.codex/config.toml.For stdio-only clients (Zed, Windsurf, n8n, older builds) use the
mcp-remoteshim. It’s a third-party open source bridge: github.com/geelen/mcp-remote.{{ activeSnippet }}Full list of MCP-compatible clients: modelcontextprotocol.io/clients.
- macOS:
-
Authorize
Your client opens the 100Hires consent screen. Sign in, review the requested scope, click Allow. Tokens are stored on the client; 100Hires never sees its credentials.
-
Verify
Ask your assistant: “List all open jobs in 100Hires.” If you get a list back — you’re wired up. If not, see FAQ.
-
Next steps
Tools
Keep human confirmation on for destructive tools. Feedback: support@100hires.com.
Loading tools…
Tools list temporarily unavailable.
-
{{ tool.name }}{{ tool.description }}
Parameters ({{ toolParameters(tool).length }})
-
{{ param.name }}{{ param.type }} required - {{ param.description || '—' }}
-
No tools match {{ filterQuery }}.
{{ visibleTools.length }} of {{ tools.length }} tools
Authentication
OAuth 2.1 with PKCE and Dynamic Client Registration. Hosts onboard themselves — no API keys to copy and paste, no client secrets to leak.
Flow
AI client → GET /.well-known/oauth-authorization-server (RFC 8414)
→ POST /oauth/register (DCR, RFC 7591)
→ GET /oauth/authorize + PKCE (consent in 100Hires)
→ POST /oauth/token (code → access_token)
→ POST /mcp Authorization: Bearer <token>
Scopes
A single scope, mcp:full, mirrors the permissions of the authorizing user.
Token lifetime & refresh
- Access tokens expire after 1 hour.
- Refresh tokens are issued automatically; clients refresh transparently.
- Tokens are bound to the authorizing user and revoked when they leave the workspace.
Manage sessions
Settings → Integrations → Connected AI clients lists every active session: client name (from DCR), last used, IP, scope, and a one-click Revoke.
Safety
- Access is controlled by your API key permissions.
- Read operations are always safe.
- Destructive actions (delete, reject) require explicit IDs.
- Rate limiting with automatic retry is built-in.
- API key is never sent to third-party hosts.
Access model
Every token — OAuth or API key — is bound to a single 100Hires user. The MCP server only ever sees data that user could see in the UI; cross-company access is impossible. Sessions are listed under Settings → Integrations → Connected AI clients.
Destructive tools
These tools modify or remove data and always require explicit IDs — assistants cannot batch-delete by query:
hires_delete_*hires_reject_applicationhires_disqualify_candidatehires_batch_reject_applications
Best practices
- Don’t hand AI assistants a blanket “delete by filter” permission — keep human confirmation on for destructive tools.
- Use a separate token per client so you can revoke one without disrupting the others.
- Revoke unused sessions on a regular cadence.
- For CI, prefer a restricted API key over a personal token.
FAQ
I’m getting 401 Unauthorized or Internal server error
Your access token has likely expired or was revoked. Disconnect and reconnect the MCP server in your client.
Claude clients store tokens locally. To force a fresh OAuth flow:
rm -rf ~/.mcp-auth/100hires
I’m getting an error from the server
Email support@100hires.com with the failing tool name, the time of the request and the error message your client showed.
WSL / Windows quirks with npx mcp-remote
Run mcp-remote from the same shell as your client (e.g. WSL → WSL, not WSL → Windows host). Clear the on-disk token cache (~/.mcp-auth/100hires) when switching environments.
Does the server support Streamable HTTP?
Yes. Both application/json and text/event-stream responses are supported. If you’re reverse-proxying, set proxy_buffering off for the SSE path.