confluence cloud mcp
Enables AI assistants to interact with Confluence Cloud for managing spaces, pages, and content via the Model Context Protocol (MCP).
Enables AI assistants to interact with Confluence Cloud for managing spaces, pages, and content via the Model Context Protocol (MCP).
A Model Context Protocol (MCP) server that provides tools for interacting with Confluence Cloud. This server enables AI assistants to manage Confluence spaces, pages, and content through a standardized interface.
The easiest way to use this server is with the pre-built Docker image:
docker run --rm -i
-e CONFLUENCE_API_TOKEN=your-api-token
-e [email protected]
-e CONFLUENCE_DOMAIN=your-domain.atlassian.net
ghcr.io/aaronsb/confluence-cloud-mcp:latest
Clone the repository:
git clone https://github.com/aaronsb/confluence-cloud-mcp.git
cd confluence-cloud-mcp
Build and run using the local build script:
# Build the Docker image
./scripts/build-local.sh
# Run the server
CONFLUENCE_API_TOKEN=your-token CONFLUENCE_EMAIL=your-email ./scripts/run-local.sh
Install dependencies:
npm install
Configure environment variables:
Create a .env
file with your Confluence credentials:
CONFLUENCE_DOMAIN=your-domain.atlassian.net
[email protected]
CONFLUENCE_API_TOKEN=your-api-token
Build the project:
npm run build
Run the server:
node build/index.js
The server can be integrated with MCP-compatible AI assistants by adding it to their MCP configuration:
{
"mcpServers": {
"confluence": {
"command": "docker",
"args": ["run", "--rm", "-i", "ghcr.io/aaronsb/confluence-cloud-mcp:latest"],
"env": {
"CONFLUENCE_DOMAIN": "your-domain.atlassian.net",
"CONFLUENCE_EMAIL": "[email protected]",
"CONFLUENCE_API_TOKEN": "your-api-token"
},
"disabled": false,
"autoApprove": []
}
}
}
Note for AI Assistants: If you're an AI assistant like Cline trying to install this MCP server, please refer to the llms-install.md file for detailed installation instructions.
list_confluence_spaces
: List all spaces in Confluenceget_confluence_space
: Get details about a specific spacelist_confluence_pages
: List pages in a spaceget_confluence_page
: Get a specific page with its content (now includes Markdown conversion)create_confluence_page
: Create a new page in a spaceupdate_confluence_page
: Update an existing pageThe get_confluence_page
tool now automatically converts Confluence storage format content to Markdown, making it easier to work with page content. The conversion handles:
- Headers (h1-h6)
- Lists (ordered and unordered)
- Links
- Emphasis (bold/italic)
- Code blocks
- Tables
- Paragraphs and line breaks
search_confluence_pages
: Search Confluence content using CQLget_confluence_labels
: Get labels for a pageadd_confluence_label
: Add a label to a pageremove_confluence_label
: Remove a label from a pageNote: All tool names follow the [verb]confluence[noun] naming convention for consistency and clarity.
This project is written in TypeScript and follows the MCP SDK conventions for implementing server capabilities. The codebase is organized into:
src/client/
- Confluence API client implementationsrc/handlers/
- MCP tool request handlerssrc/schemas/
- JSON schemas for tool inputssrc/types/
- TypeScript type definitionssrc/utils/
- Utility functions including content format conversionThis project uses GitHub Actions for continuous integration and deployment:
For local development, use the provided scripts:
./scripts/build-local.sh
: Builds the project and creates a local Docker image./scripts/run-local.sh
: Runs the local Docker image with your credentialsMIT