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
  1. Go to Customize → Connectors (claude.ai/customize/connectors), click +, then Add custom connector.
  2. Name it and paste https://mcp.openrecruiter.co/api/mcp as the URL. Leave Advanced settings as they are — Claude registers itself automatically.
  3. Click Add, then Connect. Sign in to openRecruiter in the window that opens and click Approve.
  4. The connector syncs to the Claude Desktop and mobile apps on the same account.

Claude Code

API key
  1. Create a key in Settings → API keys.
  2. Run this in your terminal, with your key in place of the placeholder.
  3. 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
  1. Create a key in Settings → API keys.
  2. 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
  1. Needs a paid ChatGPT plan that offers Developer mode.
  2. Go to Settings → Apps & Connectors → Advanced settings and turn on Developer mode.
  3. 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”.
  4. 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.