confluence-mcp-server
Provides tools to search and fetch pages from a Confluence (Atlassian) instance, enabling AI assistants to query and read Confluence content in real time.
Provides tools to search and fetch pages from a Confluence instance, enabling AI assistants to query and read Confluence content in real time.
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-mcp-serversearch for recent design docs in the ENG space"
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 Server
An MCP (Model Context Protocol) server that connects AI assistants to your Confluence instance. It exposes two tools — search and fetch — letting any MCP-compatible client (Claude Desktop, Cursor, Windsurf, etc.) query and read Confluence pages in real time.
Features
🔍 Fuzzy search — splits multi-word queries into parallel CQL searches and merges results by relevance
📄 Full page hydration — retrieves storage body, version info, labels, and ancestors as clean Markdown
⚡ Disk cache — search and content responses are cached locally to reduce API load
🔒 Read-only — all tools are annotated
readOnlyHint: true; nothing is ever written to Confluence🐳 Docker-ready — one-command deployment via
deploy_confluence_mcp.py
Prerequisites
Python 3.11+ and uv or Docker
A Confluence instance accessible over HTTP(S)
Quickstart
1. Configure credentials
cp .env.example .envEdit .env:
CONFLUENCE_URL=https://confluence.example.com
CONFLUENCE_PERSONAL_ACCESS_TOKEN=your_token_here2a. Run with uv (stdio — for Claude Desktop / Cursor)
uv sync
uv run python -m confluence_search.fastmcp_app2b. Run with Docker (HTTP)
python deploy_confluence_mcp.py # builds image + starts container on :43043Or manually:
docker build -t confluence-mcp-server .
docker run -d --name confluence-mcp-server \
--env-file .env \
-p 43043:43043 \
confluence-mcp-serverConnecting an MCP client
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"confluence": {
"command": "uv",
"args": ["run", "python", "-m", "confluence_search.fastmcp_app"],
"cwd": "/path/to/confluence-mcp-server",
"env": {
"CONFLUENCE_URL": "https://confluence.example.com",
"CONFLUENCE_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
}
}
}Cursor / Windsurf (HTTP transport)
Point your MCP client at http://127.0.0.1:43043/mcp after starting the Docker container.
MCP Tools
search_confluence
Execute a CQL search against Confluence.
Parameter | Type | Default | Description |
| string | required | Natural language query (translated to CQL) |
| int (1–25) |
| Maximum results to return |
| string[] |
| Filter by space keys (e.g. |
| string[] |
| Filter by page labels |
| bool |
| Search titles only (faster, lower recall) |
| bool |
| Parallel term-split search for better recall |
| string |
| Recency filter. Shorthands: |
| string |
| Filter by creation date (same format) |
Returns a ranked list of matching pages with title, URL, space, excerpt, and matched labels.
fetch_confluence_page
Hydrate a single page by its Confluence content ID.
Parameter | Type | Description |
| string | Numeric content ID returned by |
Returns the page as a Markdown document including metadata header (URL, space, version, last-modified date, labels, ancestor breadcrumb) followed by the full page body.
Configuration reference
All settings are read from environment variables or .env:
Variable | Default | Description |
| — | Base URL of your Confluence instance |
| — | Bearer token for authentication |
|
| Enforce TLS certificate validation |
|
| HTTP timeout in seconds |
|
| Retry attempts for transient failures |
|
| Enable/disable disk cache |
|
| Cache directory path |
|
| Search cache TTL (seconds) |
|
| Page content cache TTL (seconds) |
Transport variables (HTTP mode)
Variable | Default | Description |
|
|
|
|
| Bind address (HTTP mode) |
|
| Listen port (HTTP mode) |
Development
uv sync
uv run pytest -m unit --cov=confluence_search/ --cov-report=term-missing
uv run ruff check confluence_search/ tests/
uv run ruff format confluence_search/ tests/The test suite requires 100% coverage — enforced in CI.
License
MIT
This server cannot be installed
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
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/pankaj28843/confluence-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server