Search and enrich, from your own tools.
An MCP server for Claude Code, Claude Desktop, and any MCP client — search, enrich, post jobs, run interviews and campaigns, called as tools from wherever you already work.
code called search: 124 people.
Connect it
Server URL for every client: https://mcp.openrecruiter.co/api/mcp. There are two
ways to authenticate. Sign in (OAuth) is
for apps with a connector dialog — you approve once in your browser and nothing is copied.
An API key is for config files and the command
line.
Claude.ai and Claude Desktop app
Sign in- Go to Customize → Connectors (claude.ai/customize/connectors), click +, then Add custom connector.
- Name it and paste https://mcp.openrecruiter.co/api/mcp as the URL. Leave Advanced settings as they are — Claude registers itself automatically.
- Click Add, then Connect. Sign in to openRecruiter in the window that opens and click Approve.
- The connector syncs to the Claude Desktop and mobile apps on the same account.
Claude Code
API key- Create a key in Settings → API keys.
- Run this in your terminal, with your key in place of the placeholder.
- Prefer signing in? Leave off --header, then run /mcp inside Claude Code and choose Authenticate.
claude mcp add --transport http openrecruiter https://mcp.openrecruiter.co/api/mcp \
--header "Authorization: Bearer <your API key>"Any other MCP client
API key- Create a key in Settings → API keys.
- Add this to the client’s MCP config file (Cursor, VS Code, Windsurf and most others accept this shape).
{
"mcpServers": {
"openrecruiter": {
"url": "https://mcp.openrecruiter.co/api/mcp",
"headers": {
"Authorization": "Bearer <your API key>"
}
}
}
}ChatGPT
Sign in- Needs a paid ChatGPT plan that offers Developer mode.
- Go to Settings → Apps & Connectors → Advanced settings and turn on Developer mode.
- Back in Apps & Connectors, click Create. Name it, paste https://mcp.openrecruiter.co/api/mcp as the URL, set Authentication to OAuth, and tick “I trust this application”.
- Click Create, sign in to openRecruiter in the window that opens, and click Approve.
Get a key from Settings → API keys once signed in. Approving a sign-in also creates a key, named “OAuth (…)”, that doesn't expire — it appears in the same list, where you can revoke it any time.
Claude sign-in failed?
Remove the connector and add it again, then retry. Still stuck: register a client
yourself. Run this in a terminal, then in the connector dialog's Advanced settings choose “Use your own OAuth client”, paste the client_id it prints,
and leave the secret blank:
curl -s -X POST https://openrecruiter.co/api/oauth/register \
-H 'content-type: application/json' \
-d '{"client_name":"Claude","redirect_uris":["https://claude.ai/api/mcp/auth_callback","https://claude.com/api/mcp/auth_callback"]}' Or skip sign-in entirely: Claude Code and config-file clients work with an API key.
Tools
Anything that costs money is two steps: a quote shows the most it can charge, and the paid call only runs with that quote, after you approve it.
Find people
- search_people / find_similar
- Search from a natural-language description, or find people like one you already have.
- get_more_search_results / refine_search_filters
- Page through a search, or change one filter without re-running the whole request.
- quote_more_enriched_results / get_more_enriched_results
- Past the free 100-person preview: fetch more full profiles for the same search. Paid, quote first.
- get_person
- Fetch a full record for one person.
Enrich and contact
- quote_enrich_person / enrich_person
- Deep-enrich one person — experience, education, contact info. Paid, quote first.
- quote_enrich_people / enrich_people
- Enrich up to 20 people with one approval. Paid, quote first.
- quote_contact_lookup / lookup_contact
- Just a work email, personal email or phone — charged per field found. Paid, quote first.
Lists
- get_lists / get_list_items / create_list
- Read and create your saved lists.
- add_to_list / remove_from_list
- Add or remove several people at once.
Postings and applications
- create_posting / list_postings / update_posting
- Publish a job, edit it, or close and reopen it.
- create_apply_link / list_apply_links / revoke_apply_link
- Invite one person to apply, and take back a link you no longer want used.
- list_applications / get_application / update_application_status
- Review applications — answers and resume — and shortlist or reject.
AI interviews
- create_interview / list_interviews / update_interview
- Create a voice interview, edit it, or publish, close or unpublish it.
- invite_to_interview
- Email candidates a personal interview link.
- get_interview_results / get_interview_session
- Ranked results, then one candidate in full — scores per criterion and the transcript.
Automated Recruiting
- create_campaign / preview_campaign / launch_campaign
- Draft a campaign, send yourself the test emails, then launch it.
- list_campaigns / get_campaign / pause_campaign
- See every campaign, its pipeline, and pause or resume one.
- list_campaign_approvals / resolve_campaign_approvals
- Approve or decline first contact, apply invites and interview invites.
- get_campaign_results / decide_campaign_candidate / stop_campaign_candidate
- Advance or pass on candidates, or stop contacting someone.
More
- find_hiring_managers
- Find the likely hiring manager for a job posting.
- find_hard_to_fill_roles / find_growth_companies / find_vacated_seats
- Prospect: roles open 30+ days, companies that raised or grew, seats someone just left.
- find_managers_for_prospect
- The likely hiring managers for one of those prospects.
- add_to_crm
- Save a person to your CRM.
- get_wallet
- Your balance and recent charges, before anything paid.