confluence-mcp
Allows managing Confluence Cloud wiki pages, spaces, blog posts, comments, attachments, labels, tasks, and content properties via the Confluence REST API v2.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@confluence-mcplist pages in space DEV"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
confluence-mcp
An MCP server for administering Atlassian Confluence Cloud wiki pages. Built with FastMCP and the Confluence REST API v2.
Features
Create, read, update, delete, and restore pages
Move (reparent) pages within a space; transfer page ownership
Navigate the page tree (children, ancestors, descendants)
Bulk-fetch multiple pages in a single request
Create, read, update, and delete spaces; manage space content properties
Full blog post CRUD (create, read, update, delete)
Read labels (list all labels, list pages/blogposts by label)
Inspect version history
Manage footer and inline comments (including creating inline comments)
List and delete attachments
Manage page and space content properties (key/value metadata)
Manage tasks
Bulk user lookup (resolve multiple account IDs to profiles)
Related MCP server: inhouse_confluence_mcp
Requirements
Python 3.11+
uvpackage managerAn Atlassian Confluence Cloud account with API access
Setup
1. Clone and install
git clone <repo-url>
cd confluence
uv sync2. Configure credentials
Copy .env.example to .env and fill in your values:
cp .env.example .envVariable | Required | Description |
| Yes | Your Confluence base URL, e.g. |
| Basic Auth | Atlassian account email |
| Basic Auth | |
| Bearer Auth | Personal Access Token (alternative to Basic Auth) |
Use either Basic Auth (EMAIL + API_TOKEN) or a Bearer token — not both.
3. Run
uv run confluence-mcpThe server communicates over stdio (standard MCP transport).
Integration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on your OS:
{
"mcpServers": {
"confluence": {
"command": "uv",
"args": [
"--directory", "/path/to/confluence",
"run", "confluence-mcp"
],
"env": {
"CONFLUENCE_BASE_URL": "https://your-domain.atlassian.net",
"CONFLUENCE_EMAIL": "you@example.com",
"CONFLUENCE_API_TOKEN": "your-api-token"
}
}
}
}OpenCode
Add to your OpenCode MCP config:
{
"confluence": {
"command": "uv",
"args": [
"--directory", "/path/to/confluence",
"run", "confluence-mcp"
]
}
}Set the env vars in your shell or .env file.
Tool Reference
Pages
Tool | Description |
| List pages filtered by space, title, status, or parent |
| Get a page by ID (with optional body format and version) |
| Fetch multiple pages by ID in a single request |
| Create a new page in a space |
| Update content, title, parent (move), or owner of a page |
| Rename a page without changing its body or version metadata |
| Move a page to trash (or permanently delete with |
| Restore a trashed page to |
| List permitted operations for a page |
Moving a page: pass parent_id in update_page to reparent within the same space.
Cross-space moves are not supported by the Confluence v2 API.
Transferring ownership: pass owner_id (Atlassian account ID) in update_page.
Page Navigation
Tool | Description |
| All child pages (recursive, paginated) |
| Immediate children only |
| Full breadcrumb trail to the root |
| All descendants |
Spaces
Tool | Description |
| List spaces (filterable by type, status, key, label) |
| Get a space by ID |
| Create a new space |
| List permitted operations for a space |
| List all labels used on content within a space |
| List pages in a space |
| List blog posts in a space |
| List permission assignments for a space |
Space Properties
Tool | Description |
| List key/value properties on a space |
| Get a specific space property |
| Create a new space property |
| Update an existing space property |
| Delete a space property |
Blog Posts
Tool | Description |
| List blog posts (filterable by space, status) |
| Get a blog post by ID |
| Create a new blog post in a space |
| Update content, title, or status of a blog post |
| Move a blog post to trash (or permanently delete with |
Labels
Label add/remove is available via the Confluence v1 API only; the v2 API is read-only for labels.
Tool | Description |
| List all labels across the Confluence instance |
| Labels attached to a page |
| Labels used across a space |
| Pages that carry a specific label |
| Blog posts that carry a specific label |
Version History
Tool | Description |
| Version history of a page |
| Details of a specific page version |
Footer Comments
Tool | Description |
| Footer comments on a page |
| Get a footer comment by ID |
| Create a comment on a page, blog post, or as a reply |
| Update comment content |
| Delete a comment |
| List replies to a comment |
Inline Comments
Tool | Description |
| Inline comments on a page |
| Get an inline comment by ID |
| Create an inline comment anchored to a text selection |
| Update content or resolved state |
| Delete an inline comment |
Attachments
Tool | Description |
| List attachments on a page |
| Get an attachment by ID |
| Delete an attachment |
Uploading attachments requires multipart form data and is not supported by this server.
Content Properties
Tool | Description |
| List key/value properties on a page |
| Get a specific property |
| Create a new property |
| Update an existing property |
| Delete a property |
Tasks
Tool | Description |
| List tasks (filterable by status, space, page, assignee) |
| Get a task by ID |
| Update task status, assignee, or due date |
Utility
Tool | Description |
| Resolve content IDs to their types (page, blogpost, etc.) |
| Resolve multiple Atlassian account IDs to user profiles |
Notes
Body formats:
storage(XHTML, default for write),wiki(Confluence wiki markup),atlas_doc_format(Atlassian Document Format / ADF),view(rendered HTML, read-only).Versioning:
update_page,update_blogpost,update_footer_comment, andupdate_inline_commentall require passing the currentversion_number. The API increments it automatically. Always callget_page/get_blogpostfirst to obtain the current version.Labels: To add or remove labels, use the Confluence v1 REST API (
/wiki/rest/api/content/{id}/label) directly — this is not exposed in this server.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pascalhubacher/confluence'
If you have feedback or need assistance with the MCP directory API, please join our Discord server