MCP server enabling AI agents to access and manage Atlassian Confluence content with ADF to Markdown conversion.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by MCP Server Atlassian Confluence.
conf_getRead any Confluence data. Returns TOON format by default (30-60% fewer tokens than JSON). **IMPORTANT - Cost Optimization:** - ALWAYS use `jq` param to filter response fields. Unfiltered responses are very expensive! - Use `limit` query param to restrict result count (e.g., `limit: "5"`) - If unsure about available fields, first fetch ONE item with `limit: "1"` and NO jq filter to explore the schema, then use jq in subsequent calls **Schema Discovery Pattern:** 1. First call: `path: "/wiki/api/v2/spaces", queryParams: {"limit": "1"}` (no jq) - explore available fields 2. Then use: `jq: "results[*].{id: id, key: key, name: name}"` - extract only what you need **Output format:** TOON (default, token-efficient) or JSON (`outputFormat: "json"`) **Common paths:** - `/wiki/api/v2/spaces` - list spaces - `/wiki/api/v2/pages` - list pages (use `space-id` query param) - `/wiki/api/v2/pages/{id}` - get page details - `/wiki/api/v2/pages/{id}/body` - get page body (`body-format`: storage, atlas_doc_format, view) - `/wiki/rest/api/search` - search content (`cql` query param) **JQ examples:** `results[*].id`, `results[0]`, `results[*].{id: id, title: title}` API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/
conf_postCreate Confluence resources. Returns TOON format by default (token-efficient). **IMPORTANT - Cost Optimization:** - Use `jq` param to extract only needed fields from response (e.g., `jq: "{id: id, title: title}"`) - Unfiltered responses include all metadata and are expensive! **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Create page:** `/wiki/api/v2/pages` body: `{"spaceId": "123456", "status": "current", "title": "Page Title", "parentId": "789", "body": {"representation": "storage", "value": "<p>Content</p>"}}` 2. **Create blog post:** `/wiki/api/v2/blogposts` body: `{"spaceId": "123456", "status": "current", "title": "Blog Title", "body": {"representation": "storage", "value": "<p>Content</p>"}}` 3. **Add label:** `/wiki/api/v2/pages/{id}/labels` - body: `{"name": "label-name"}` 4. **Add comment:** `/wiki/api/v2/pages/{id}/footer-comments` API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/
conf_putReplace Confluence resources (full update). Returns TOON format by default. **IMPORTANT - Cost Optimization:** - Use `jq` param to extract only needed fields from response - Example: `jq: "{id: id, version: version.number}"` **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Update page:** `/wiki/api/v2/pages/{id}` body: `{"id": "123", "status": "current", "title": "Updated Title", "spaceId": "456", "body": {"representation": "storage", "value": "<p>Content</p>"}, "version": {"number": 2}}` Note: version.number must be incremented 2. **Update blog post:** `/wiki/api/v2/blogposts/{id}` Note: PUT replaces entire resource. Version number must be incremented. API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/
conf_patchPartially update Confluence resources. Returns TOON format by default. **IMPORTANT - Cost Optimization:** Use `jq` param to filter response fields. **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Update space:** `/wiki/api/v2/spaces/{id}` body: `{"name": "New Name", "description": {"plain": {"value": "Desc", "representation": "plain"}}}` 2. **Update comment:** `/wiki/api/v2/footer-comments/{id}` Note: Confluence v2 API primarily uses PUT for updates. API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/
conf_deleteDelete Confluence resources. Returns TOON format by default. **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** - `/wiki/api/v2/pages/{id}` - Delete page - `/wiki/api/v2/blogposts/{id}` - Delete blog post - `/wiki/api/v2/pages/{id}/labels/{label-id}` - Remove label - `/wiki/api/v2/footer-comments/{id}` - Delete comment - `/wiki/api/v2/attachments/{id}` - Delete attachment Note: Most DELETE endpoints return 204 No Content on success. API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/
Transform how you access and interact with your team's knowledge by connecting Claude, Cursor AI, and other AI assistants directly to your Confluence spaces, pages, and documentation. Get instant answers from your knowledge base, search across all your spaces, and streamline your documentation workflow.
Get up and running in 2 minutes:
Generate a Confluence API Token:
Add this to your Claude configuration file (~/.claude/claude_desktop_config.json):
Restart Claude Desktop, and you'll see the confluence server in the status bar.
Most AI assistants support MCP (Cursor AI, Continue.dev, and others). Install the server globally:
Then configure your AI assistant to use the MCP server with STDIO transport. The binary is available as mcp-atlassian-confluence after global installation.
Create ~/.mcp/configs.json for system-wide configuration:
Alternative config keys: The system also accepts "atlassian-confluence", "@aashari/mcp-server-atlassian-confluence", or "mcp-server-atlassian-confluence" instead of "confluence".
You can also configure credentials using environment variables or a .env file:
The server will automatically load these values from:
.env file in the current directory~/.mcp/configs.json (as shown above)This MCP server provides 5 generic tools that can access any Confluence API endpoint:
| Tool | Description |
|---|---|
conf_get | GET any Confluence API endpoint (read data) |
conf_post | POST to any endpoint (create resources) |
conf_put | PUT to any endpoint (replace resources) |
conf_patch | PATCH to any endpoint (partial updates) |
conf_delete | DELETE from any endpoint (remove resources) |
All tools share these common parameters:
path (required): The API endpoint path (e.g., /wiki/api/v2/spaces)queryParams (optional): Query parameters as key-value pairs (e.g., {"limit": "25", "space-id": "123"})jq (optional): JMESPath expression to filter/transform the response (e.g., results[*].{id: id, title: title})outputFormat (optional): Output format - "toon" (default, 30-60% fewer tokens) or "json"Tools that accept a request body (conf_post, conf_put, conf_patch):
body (required): Request body as a JSON objectSpaces:
/wiki/api/v2/spaces - List all spaces/wiki/api/v2/spaces/{id} - Get space detailsPages:
/wiki/api/v2/pages - List pages (use space-id query param to filter)/wiki/api/v2/pages/{id} - Get page details/wiki/api/v2/pages/{id}/body - Get page body (use body-format param)/wiki/api/v2/pages/{id}/children - Get child pages/wiki/api/v2/pages/{id}/labels - Get page labelsComments:
/wiki/api/v2/pages/{id}/footer-comments - List/add footer comments/wiki/api/v2/pages/{id}/inline-comments - List/add inline comments/wiki/api/v2/footer-comments/{comment-id} - Get/update/delete commentBlog Posts:
/wiki/api/v2/blogposts - List blog posts/wiki/api/v2/blogposts/{id} - Get blog postSearch:
/wiki/rest/api/search - Search content (use cql query param)What is TOON? TOON (Token-Oriented Object Notation) is a format optimized for LLM token efficiency, reducing token costs by 30-60% compared to JSON. It's the default output format for all tools.
Benefits:
When to use JSON instead:
Example comparison:
To use JSON instead of TOON, set outputFormat: "json" in your request.
All tools support optional JMESPath (jq) filtering to extract specific data and reduce token costs:
IMPORTANT: Always use the jq parameter to filter responses to only the fields you need. Unfiltered responses can be very large and expensive in token costs.
JMESPath Syntax Reference:
results[*] - All items in results arrayresults[0] - First item onlyresults[*].id - Just IDs from all itemsresults[*].{id: id, title: title} - Create objects with selected fieldsresults[?status=='current'] - Filter by conditionAsk your AI assistant:
Ask your AI assistant:
Ask your AI assistant:
Ask your AI assistant:
The CLI mirrors the MCP tools for direct terminal access. All commands support the same parameters as the tools.
get - GET any Confluence endpointpost - POST to any endpointput - PUT to any endpointpatch - PATCH any endpointdelete - DELETE from any endpointFactual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/aashari-mcp-server-atlassian-confluence)<a href="https://allmcps.com/mcp/aashari-mcp-server-atlassian-confluence"><img src="https://allmcps.com/api/badge/aashari-mcp-server-atlassian-confluence?style=directory" alt="MCP Server Atlassian Confluence on AllMCPs" /></a>