
List assets in a Contentful environment. Optionally filter by MIME type group.
Get a Contentful asset by ID.
Create a new asset in Contentful. Must be processed and published after creation.
Update a Contentful asset. Requires current version for optimistic locking.
Delete a Contentful asset. Must be unpublished first.
Publish a Contentful asset to make it available via the Content Delivery API.
Unpublish a Contentful asset to remove it from the Content Delivery API.
Process a Contentful asset for a specific locale. Downloads and stores the file.
List all content types in a Contentful environment.
Get a Contentful content type by ID.
Create a new content type in Contentful. Must be published before entries can be created.
Update a Contentful content type. Requires current version for optimistic locking.
Delete a Contentful content type. Must be unpublished first and have no entries.
Publish a Contentful content type. Required before entries can be created.
Unpublish a Contentful content type. All entries must be deleted first.
List entries in a Contentful environment. Filter by content type or query parameters.
Get a Contentful entry by ID.
Create a new entry in Contentful. Specify content type and field values by locale.
Update a Contentful entry. Requires current version for optimistic locking.
Delete a Contentful entry. Must be unpublished first.
Publish a Contentful entry to make it available via the Content Delivery API.
Unpublish a Contentful entry to remove it from the Content Delivery API.
Archive a Contentful entry. Must be unpublished first.
Unarchive a Contentful entry to make it editable again.
List all environments in a Contentful space.
Get a Contentful environment by ID.
Create a new Contentful environment. Optionally clone from an existing environment.
Delete a Contentful environment. WARNING: Cannot delete the master environment.
List all locales in a Contentful environment.
Get a Contentful locale by ID.
Create a new locale in a Contentful environment.
Update a Contentful locale. Requires current version for optimistic locking.
Delete a Contentful locale. Cannot delete the default locale.
List all Contentful spaces accessible to the authenticated user.
Get a Contentful space by ID.
Create a new Contentful space. Requires organization_id for paid accounts.
Update a Contentful space name. Requires current version for optimistic locking.
Delete a Contentful space. WARNING: This permanently deletes the space and all its content.
Validate Contentful credentials. Verifies credentials during setup.
List all webhooks in a Contentful space.
Get a Contentful webhook by ID.
Create a new webhook in a Contentful space to receive notifications for content events.
Update a Contentful webhook. Requires current version for optimistic locking.
Delete a Contentful webhook.
Get recent call details for a Contentful webhook.
Get health status for a Contentful webhook.

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 exposes functionality and tools from Contentful via tools. Your agents can use these tools to create new assets, unpublish assets, share links to assets in Slack, and more.
Here are some use cases:
Merge Agent Handler provides platform-level capabilities that extend beyond what you can do with Contentful’s official MCP server. This includes:
Yes. Merge Agent Handler allows you to configure custom security and data-loss-prevention (DLP) rules that inspect Contentful tool inputs and outputs. Rules can block, redact, or mask sensitive fields based on your organization’s policies.
Here some specific examples:
You can follow these steps:
1. Create a free Merge Agent Handler account.
2. Create a Tool Pack for the Contentful workflow you want (for example, “Website content updates”).
3. Add the Contentful connector to that Tool Pack.
4. Configure authentication for Contentful (shared org auth vs individual end-user auth, depending on your setup).
5. Create a Registered User (this is the identity container that will hold the credentials used to execute tool calls).
6. Complete the Contentful authentication flow for that Registered User so Contentful tools become available.
7. Copy the MCP entry URL for your Tool Pack + Registered User and add it to your MCP client (Cursor, Claude Desktop, VSCode, Windsurf, etc.).
8. Use the Playground to run a few Contentful tool calls end-to-end and confirm the calls succeed and logs are generated.
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now