
Get blog posts from Confluence with optional space filtering
Get a specific blog post with full content by ID
Create a new blog post in Confluence - requires spaceid, title, and bodyvalue
Update an existing blog post in Confluence - requires blogpostid, title, bodyvalue, and version_number
Delete a blog post from Confluence
Get pages from Confluence with optional space filtering
Get a specific page with full content by ID
Create a new page in Confluence - requires spaceid, title, and bodyvalue
Update an existing page in Confluence
Delete a page from Confluence
Get footer comments for a specific Confluence page
Get inline comments for a specific Confluence page
Create a footer comment at the bottom of a Confluence page. commenttext accepts plain text, or an ADF dict ({'type': 'doc', 'version': 1, 'content': [...]}) for rich formatting such as bold, lists, tables, links and code blocks. Use getpages to find page IDs, and getpagefootercomments for parentcomment_id when replying.
Create an inline comment anchored to specific text within a Confluence page. textselection must match the page content exactly, so call getpage first to read it. comment_text accepts plain text, or an ADF dict ({'type': 'doc', 'version': 1, 'content': [...]}) for rich formatting such as bold, lists, tables, links and code blocks.
Find text occurrences in page content to help with inline comment creation
Advanced page search with date filtering using CQL (Confluence Query Language)
Get spaces from Confluence
Create a new space in Confluence - requires key and name
Get a specific space by key
Update a space in Confluence
Delete a space from Confluence
Get the permission grants (who can do what) for a space. Use getspaces or getspace to find the numeric space_id.
Get content from a specific space
List all accessible spaces
Search for spaces by name or key
Get current authenticated user details
Validate Confluence credentials. Verifies credentials during setup.

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}Here are some use cases worth implementing:
Here are some popular tools across data types:
Blog posts
Pages
Spaces
When using Confluence through Merge Agent Handler, developers benefit from platform-level capabilities that apply across all connectors:
Yes, you can set a wide range of security rules for Confluence tool calls in Merge Agent Handler.
For example, you can:
Here's how to get started with Merge Agent Handler's Confluence MCP server:
1. Create your Agent Handler account. Go to Merge Agent Handler's sign up page to register for free and access the platform dashboard.
2. Configure a Tool Pack. Tool Packs define which connectors and tools your agent can use. From the Tool Packs section, click Create Tool Pack, include Confluence as a connector, and choose between Individual or Shared authentication depending on your requirements.
3. Register a User identity. Navigate to Registered Users and create an entry; this represents the identity (either human or system) that will perform actions through your agent. Agent Handler handles Confluence authentication automatically with a guided flow, so you don't need to build custom OAuth logic.
4. Test in the Sandbox environment. Before going live, verify that everything works as expected. Access your Tool Pack's Sandbox and experiment with Confluence tool calls like searching spaces, retrieving pages, or updating documentation.
5. Integrate with your agent application. Connect your agent to Agent Handler through one of these approaches:
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now