Information
# Confluence Cloud MCP Server
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.
[](https://github.com/aaronsb/confluence-cloud-mcp/actions/workflows/ci-cd.yml)
## Features
- Space Management
- List spaces
- Get space details
- Page Operations
- Create, read, update pages
- List pages in a space
- Convert page content from Confluence storage format to Markdown
- Search & Labels
- Search content using CQL
- Manage page labels
## Setup
### Option 1: Using Docker (Recommended)
The easiest way to use this server is with the pre-built Docker image:
\`\`\`bash
docker run --rm -i \
-e CONFLUENCE_API_TOKEN=your-api-token \
-e CONFLUENCE_EMAIL=your-email@domain.com \
-e CONFLUENCE_DOMAIN=your-domain.atlassian.net \
ghcr.io/aaronsb/confluence-cloud-mcp:latest
\`\`\`
### Option 2: Building Locally
1. Clone the repository:
\`\`\`bash
git clone https://github.com/aaronsb/confluence-cloud-mcp.git
cd confluence-cloud-mcp
\`\`\`
2. Build and run using the local build script:
\`\`\`bash
# Build the Docker image
./scripts/build-local.sh
# Run the server
CONFLUENCE_API_TOKEN=your-token CONFLUENCE_EMAIL=your-email ./scripts/run-local.sh
\`\`\`
### Option 3: From Source
1. Install dependencies:
\`\`\`bash
npm install
\`\`\`
2. Configure environment variables:
Create a \`.env\` file with your Confluence credentials:
\`\`\`
CONFLUENCE_DOMAIN=your-domain.atlassian.net
CONFLUENCE_EMAIL=your-email@domain.com
CONFLUENCE_API_TOKEN=your-api-token
\`\`\`
3. Build the project:
\`\`\`bash
npm run build
\`\`\`
4. Run the server:
\`\`\`bash
node build/index.js
\`\`\`
## Usage
The server can be integrated with MCP-compatible AI assistants by adding it to their MCP configuration:
\`\`\`json
\{
"mcpServers": \{
"confluence": \{
"command": "docker",
"args": ["run", "--rm", "-i", "ghcr.io/aaronsb/confluence-cloud-mcp:latest"],
"env": \{
"CONFLUENCE_DOMAIN": "your-domain.atlassian.net",
"CONFLUENCE_EMAIL": "your-email@domain.com",
"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](llms-install.md) file for detailed installation instructions.
## Available Tools
### Space Tools
- \`list_confluence_spaces\`: List all spaces in Confluence
- \`get_confluence_space\`: Get details about a specific space
### Page Tools
- \`list_confluence_pages\`: List pages in a space
- \`get_confluence_page\`: Get a specific page with its content (now includes Markdown conversion)
- \`create_confluence_page\`: Create a new page in a space
- \`update_confluence_page\`: Update an existing page
The \`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 & Label Tools
- \`search_confluence_pages\`: Search Confluence content using CQL
- \`get_confluence_labels\`: Get labels for a page
- \`add_confluence_label\`: Add a label to a page
- \`remove_confluence_label\`: Remove a label from a page
> **Note**: All tool names follow the [verb]_confluence_[noun] naming convention for consistency and clarity.
## Development
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 implementation
- \`src/handlers/\` - MCP tool request handlers
- \`src/schemas/\` - JSON schemas for tool inputs
- \`src/types/\` - TypeScript type definitions
- \`src/utils/\` - Utility functions including content format conversion
### CI/CD Pipeline
This project uses GitHub Actions for continuous integration and deployment:
- Automated testing and linting on pull requests
- Automatic Docker image builds on main branch commits
- Multi-architecture image builds (amd64, arm64)
- Container publishing to GitHub Container Registry
### Local Development
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 credentials
## License
MIT