Connect your AI Agents to Unify in minutes

Available tools
list_attribute_options
List all options for a SELECT or MULTI_SELECT attribute on a Unify object. Use list_attributes to find valid attribute names.
get_attribute_option
Get a single option from a SELECT or MULTI_SELECT attribute on a Unify object. Use list_attribute_options to find valid option names.
create_attribute_option
Create a new option for a SELECT or MULTI_SELECT attribute on a Unify object. The api_name is permanent. Use list_attributes to confirm the attribute type before adding options.
update_attribute_option
Update the display name of an attribute option. The api_name cannot be changed. Use list_attribute_options to find valid option names.
delete_attribute_option
Delete an option from a SELECT or MULTI_SELECT attribute permanently. Records with this option value will have it set to null. Use list_attribute_options to find valid option names.
list_attributes
List all attributes for a Unify object, including type, required/unique flags, and options for SELECT types. Use list_objects to find valid object names.
get_attribute
Get a single attribute definition for a Unify object by attribute name. Use list_attributes to find valid attribute names.
create_attribute
Create a new attribute on a Unify object. The api_name is permanent. For SELECT/MULTI_SELECT types, add options with create_attribute_option. Use list_objects to find valid object names.
update_attribute
Update an attribute's display name or description. The api_name and type cannot be changed after creation. Use list_attributes to find valid attribute names.
delete_attribute
Delete an attribute from a Unify object. This permanently removes the attribute and its values from all existing records. Use list_attributes to confirm the attribute name.
create_events_query
Create an async bulk events export job in Unify. Returns the job ID. Poll with get_events_query until status is 'completed', then retrieve results with get_events_query_results.
list_events_queries
List bulk events query jobs in Unify with cursor pagination. Returns jobs and page_info with a cursor for the next page.
get_events_query
Get the status and details of a Unify bulk events query job by ID. Poll until status is 'completed' or 'failed', then use get_events_query_results to retrieve the data.
cancel_events_query
Cancel a running Unify bulk events query job. Use get_events_query to confirm the job is in a cancellable state before calling this.
get_events_query_results
Get paginated results from a completed Unify bulk events query job. Returns up to page_size events (max 2000). Use get_events_query first to confirm status is 'completed'.
list_objects
List all objects in Unify, including standard built-in objects ('company', 'person', 'opportunity', 'user') and custom objects. No pagination — returns all objects.
get_object
Get a Unify object definition by API name (e.g. 'company', 'person', 'opportunity'). Use list_objects to find valid object names.
create_object
Create a custom object in Unify. The api_name is permanent and cannot be changed after creation. Use list_objects to check existing names before creating.
update_object
Update a Unify object's display name or description. The api_name cannot be changed. Use list_objects to find valid object names.
delete_object
Delete a custom Unify object and all its records permanently. Standard objects (company, person, opportunity, user) cannot be deleted. Use list_objects to find valid object names.
create_record
Create a new record in a Unify object. Standard objects: 'company' requires 'domain'; 'person' requires 'email'; 'opportunity' requires 'name' and 'uniqueness_key'. Use list_attributes to see all required fields.
get_record
Get a Unify record by object name and record ID (UUID). Use find_record to look up records by attribute values when you don't have the ID.
update_record
Update attribute values on an existing Unify record by ID. Only provided attributes are changed; omitted attributes remain unchanged. Use get_record or find_record to confirm the ID first.
delete_record
Delete a Unify record by ID. Permanent — references from other records are set to null, not deleted. Use get_record or find_record to confirm the ID before deleting.
upsert_record
Create or update a Unify record based on matching unique attributes. 'match' identifies the record (must include a unique attribute). 'create' is REQUIRED by the API on every call (values used when no match is found; must include the unique attribute). Use 'update' for existing-only values and 'create_or_update' for both.
find_record
Find a single Unify record by unique attribute values (e.g. email for person, domain for company). Returns found=false if no match. Use upsert_record to create-or-update in one step.
validate_credential
Validate the Unify API key by listing objects. Returns success and a message.

How to set up Merge Agent Handler
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}FAQs on using Merge's Unify MCP server
FAQs on using Merge's Unify MCP server
What is a Unify MCP?
It's an MCP server that lets your agents access data and functionality from Unify via tools. Your agents can invoke these tools to pull intent signals for an account, look up a company's buying stage, enroll a contact in a play, check enrichment data, and more.
Unify doesn't offer an MCP server purpose built for Unify, but you can use one from a third-party platform, like Merge Agent Handler.
How can I use the Unify MCP server?
The use cases naturally depend on the agent you've built, but here are a few common ones:
- Intent-signal-triggered outreach: an agent watches an events query for a spike in an account's intent signals, like repeated G2 category page visits, and kicks off a personalized outbound sequence the moment the signal crosses a threshold
- Account scoring and prioritization: an agent pulls attribute values across a list of target accounts and ranks them by buying-stage signal strength, then flags the top movers for the sales team each morning
- Sales play automation: an agent detects a new signal match on a contact, creates the record to enroll them in the right play, and confirms the enrollment without anyone touching Unify directly
- Cross-tool GTM data correlation: an agent joins Unify account records with open opportunities in the CRM to surface accounts showing rising intent but no active pipeline, then routes them to the right rep
What are popular tools for Unify's MCP server?
Here are some of the most commonly used tools:
list_objects: returns the object types defined in a Unify workspace, including custom objects built on top of companies and contacts. Useful for agents that need to discover the data model before querying records
find_record: searches for a record matching a set of filter conditions, like a company domain or a contact's email. Call this when an agent needs to check whether a record already exists before creating one
upsert_record: creates a record if it doesn't exist or updates it if it does, in a single call. Good for workflows that sync account or contact data from another system without a separate lookup step
get_record: retrieves a single record by ID, returning its current attribute values. Helpful when an agent needs the latest state of an account before deciding on a next action
create_events_query: kicks off a query against Unify's event data, like intent signals or page visits, scoped to a time window and set of accounts. Use this when an agent needs to detect a signal spike rather than pull a single record
get_events_query_results: fetches the results of a previously submitted events query once it's finished processing. Agents typically call this right aftercreate_events_queryto pull the actual signal data
What makes Merge Agent Handler's Unify MCP server better than alternative Unify MCP servers?
There are several reasons to use Merge Agent Handler's Unify MCP server over building or maintaining your own:
- Enterprise-grade security and DLP: Merge Agent Handler includes built-in data loss prevention controls that let you block or redact sensitive fields before they reach an agent. For Unify, this means you can prevent account-level intent scores and contact-level signal data from being exposed even when the agent has broad read access
- Managed authentication and credentials: Merge stores and refreshes Unify credentials on your behalf. You never expose raw API keys or OAuth tokens to an agent or manage token rotation manually
- Real-time observability and audit trail: every tool call made against Unify is logged with timestamp, tool name, input parameters, and response metadata. You can audit exactly what an agent read or wrote without instrumenting anything yourself
- Tool Packs and controlled access: bundle specific Unify tools with tools from other connectors into a single MCP endpoint, scoped to a specific use case. An agent gets exactly the tools it needs, nothing more
How can I start using Merge Agent Handler's Unify MCP server?
You can take the following steps:
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 Unify and complete the auth flow. Merge stores and manages the credentials going forward.
5. Open a Claude Code session and start querying Unify data directly. The first time you use a Unify tool, a Magic Link may appear to complete connector authentication.
If you want to connect Merge Agent Handler's Unify MCP with internal or customer-facing agentic products, you can follow the steps in our docs.
Can employees use Merge Agent Handler to connect their AI tools to Unify?
Yes, Agent Handler for Employees lets your employees connect Claude, ChatGPT, Microsoft Copilot, Cursor, and other MCP-compatible AI tools to Unify without bypassing IT governance.
IT can provision access by role or group via SCIM. A sales development rep, for example, gets Unify access to check an account's latest intent signals, Salesforce to log outreach, and Slack to alert their manager; while a demand generation marketer gets Unify access to monitor signal spikes across target accounts, HubSpot to update campaign audiences, and Google Sheets to track weekly signal reports.
Every tool call an employee's AI makes to Unify 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.
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now
























