
List candidates (applications) for a specific job in SmartRecruiters. Returns candidates with their application status in primaryAssignment. Use list_jobs to find valid job IDs. Supports cursor pagination.
List candidates in SmartRecruiters with optional text search and cursor pagination. Filter by job ID or application status. Returns candidates array and page_info with cursor for the next page.
Get full profile for a SmartRecruiters candidate by ID, including contact info, tags, and primary job assignment. Use list_candidates to find valid candidate IDs.
Create a new candidate in SmartRecruiters and assign them to a job. Requires jobid, firstname, and lastname. Use listjobs to find valid job IDs. Returns the created candidate record.
Update a candidate's profile in SmartRecruiters. All fields are optional — only provide what you want to change. Use list_candidates to find valid candidate IDs.
List all departments configured in SmartRecruiters. Returns department IDs and labels, which can be used to filter jobs by department.
List jobs in SmartRecruiters with optional filtering and cursor pagination. Filter by status, department, text query, or date. Returns jobs array and page_info with cursor for the next page.
Get full details for a SmartRecruiters job by ID, including location, status, hiring team links, and posting info. Use list_jobs to find valid job IDs.
List users in SmartRecruiters with offset-based pagination. Filter by role (ADMINISTRATOR, REGULAR, RESTRICTED, EMPLOYEE) or active status. Returns users array and page_info with next offset.
Get full details for a SmartRecruiters user by ID, including name, email, role, and active status. Use list_users to find valid user IDs.
Validate SmartRecruiters credentials by verifying API access. Returns success status and the authenticated user's name.

In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}It's an MCP server that gives your agents direct access to recruiting data and operations in SmartRecruiters through a set of callable tools. Your agents can invoke these tools to search candidate records, retrieve job listings, track application status, update candidate profiles, and more.
SmartRecruiters offers an official MCP server, but you can also use one from a third-party platform, like Merge Agent Handler.
The use cases naturally depend on the agent you've built, but here are a few common ones:
Here are some of the most commonly used tools:
list_candidates: retrieves a filtered list of candidates across active jobs, including name, contact details, and current application stage. Useful for agents that need a pipeline overview before generating a recruiter report or routing follow-up actionsget_candidate: fetches the complete profile for a single candidate, including application history, attached documents, and stage notes. Call this when an agent needs precise detail about one individual rather than a broad list pullcreate_candidate: adds a new candidate record to SmartRecruiters with profile data sourced from an external system. Good for workflows that automatically push sourced prospects from a sourcing tool or enrichment platform into the ATSupdate_candidate: modifies an existing candidate's record, such as adding contact information, updating tags, or attaching notes from an interview. Use this when an agent processes information from another tool and needs to keep SmartRecruiters as the system of recordlist_jobs: returns open and closed job listings with title, department, location, and status. Helpful when an agent needs to match inbound candidates to current openings or validate that a requisition is still active before taking a downstream actionlist_applications: pulls application records tied to a specific job or candidate, including submission date, current stage, and assigned recruiter. Call this when an agent needs to track pipeline volume or detect stalled applications that have had no stage movementHere is why Merge Agent Handler stands out from other ways to connect agents to SmartRecruiters:
create_candidate and list_jobs. It never sees interview notes or offer details it has no reason to access.You can take the following steps (assuming you use Claude Code):
1. Create or log into your Merge Agent Handler account.
2. Install the Merge CLI by running pipx install merge-api, then run merge configure to link the CLI to your Merge account and merge login to authenticate your session.
3. Register the Agent Handler MCP server with Claude Code by running claude mcp add --transport http agent-handler https://ah-api.merge.dev/mcp, then open Claude Code and run /mcp to confirm agent-handler appears with a connected status.
4. Select agent-handler from the MCP list. This opens a browser window where you select which integrations to authenticate. Choose SmartRecruiters and complete the auth flow. Merge stores and manages the credentials going forward.
5. Open a Claude Code session and start querying SmartRecruiters data directly. The first time you use a SmartRecruiters tool, a Magic Link may appear to complete connector authentication.
If you want to connect Merge Agent Handler's SmartRecruiters MCP with internal or customer-facing agentic products, you can follow the steps in our docs.
Yes, Merge for Workforce lets your employees connect Claude, ChatGPT, Microsoft Copilot, Cursor, and other MCP-compatible AI tools to SmartRecruiters without bypassing IT governance.
Instead of setting up direct connections with personal credentials that IT can't monitor or revoke, each employee authenticates through Merge and gets individual credentials tied to their identity. A recruiter can ask their AI to look up a candidate, check where they are in the pipeline, or pull a list of open roles, all within the permissions IT has defined.
IT also provisions access by role or group via SCIM. A recruiter, for example, gets SmartRecruiters access to manage candidates and job listings, LinkedIn to source and enrich profiles, and Slack to coordinate interview scheduling with hiring teams; while a hiring manager gets SmartRecruiters access to review applicants and pipeline progress, Greenhouse to track cross-team requisitions, and Outlook to manage interview communications.
Every tool call an employee's AI makes to SmartRecruiters is also inspected against your DLP rules and logged to a searchable audit trail, giving security teams full visibility into what data was accessed and by whom.
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now