Content
# Confluence MCP
A Go-based Model Context Protocol (MCP) server for integrating AI assistants with Atlassian Confluence. This tool provides a seamless interface for interacting with the Confluence API through the standardized MCP, enabling AI models to search, retrieve, create, and update Confluence content.

## Features
- Search Confluence pages and spaces
- Get page details and content
- Create new pages and spaces
- Update existing pages
- Manage page permissions and metadata
- Get page comments
- List spaces
## Installation
There are several ways to install the Confluence MCP:
### Option 1: Download from GitHub Releases
1. Visit the [GitHub Releases](https://github.com/nguyenvanduocit/confluence-mcp/releases) page
2. Download the binary for your platform:
- `confluence-mcp_linux_amd64` for Linux
- `confluence-mcp_darwin_amd64` for macOS
- `confluence-mcp_windows_amd64.exe` for Windows
3. Make the binary executable (Linux/macOS):
```bash
chmod +x confluence-mcp_*
```
4. Move it to your PATH (Linux/macOS):
```bash
sudo mv confluence-mcp_* /usr/local/bin/confluence-mcp
```
### Option 2: Go install
```bash
go install github.com/nguyenvanduocit/confluence-mcp@latest
```
### Option 3: Docker
#### Using Docker directly
1. Pull the pre-built image from GitHub Container Registry:
```bash
docker pull ghcr.io/nguyenvanduocit/confluence-mcp:latest
```
2. Or build the Docker image locally:
```bash
docker build -t confluence-mcp .
```
## Configuration
### Environment Variables
The following environment variables are required for authentication:
```
ATLASSIAN_HOST=your_confluence_host
ATLASSIAN_EMAIL=your_email
ATLASSIAN_TOKEN=your_token
```
You can set these directly in environment variables or through a `.env` file for local development.
### Transport Methods
The Confluence MCP supports two transport methods:
#### 1. Standard I/O (stdio) - Default
This is the default transport method used by most MCP clients like Claude Desktop and Cursor.
#### 2. Streamable HTTP Server
For HTTP-based integrations, you can run the server with HTTP transport using the `--http_port` flag.
## Usage Examples
### With Claude Desktop / Cursor (stdio transport)
Add to your MCP configuration file:
```json
{
"mcpServers": {
"confluence": {
"command": "/path/to/confluence-mcp",
"args": ["-env", "/path/to/.env"]
}
}
}
```
### With Docker (stdio transport)
```json
{
"mcpServers": {
"confluence": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "ATLASSIAN_HOST=your_confluence_instance.atlassian.net",
"-e", "ATLASSIAN_EMAIL=your_email@example.com",
"-e", "ATLASSIAN_TOKEN=your_atlassian_api_token",
"ghcr.io/nguyenvanduocit/confluence-mcp:latest"
]
}
}
}
```
### With HTTP Transport
For HTTP-based integrations, run the server with:
```bash
confluence-mcp --http_port 8080 --env .env
```
This will start the server at `http://localhost:8080/mcp`
Or with Docker:
```bash
docker run -p 8080:8080 \
-e ATLASSIAN_HOST=your_confluence_instance.atlassian.net \
-e ATLASSIAN_EMAIL=your_email@example.com \
-e ATLASSIAN_TOKEN=your_atlassian_api_token \
ghcr.io/nguyenvanduocit/confluence-mcp:latest \
--http_port 8080
```
## Available Tools
- `search_page` - Search pages in Confluence using CQL
- `get_page` - Get Confluence page content and metadata
- `create_page` - Create new Confluence pages
- `update_page` - Update existing Confluence pages
- `get_comments` - Get comments from a Confluence page
- `list_spaces` - List Confluence spaces
## CLI Usage
In addition to the MCP server, `confluence-mcp` ships a standalone CLI binary (`confluence-cli`) for direct terminal use — no MCP client needed.
### Installation
```bash
# Build locally
just install-cli
# Or with Go
go install github.com/nguyenvanduocit/confluence-mcp/cmd/confluence-cli@latest
```
### Quick Start
```bash
# Set credentials
export ATLASSIAN_HOST=your-instance.atlassian.net
export ATLASSIAN_EMAIL=you@example.com
export ATLASSIAN_TOKEN=your-api-token
# Or use a .env file
confluence-cli --env .env <command> [flags]
```
### Commands
| Command | Description |
|---------|-------------|
| `search-page` | Search pages using CQL |
| `get-page` | Get page content and metadata |
| `create-page` | Create a new page |
| `update-page` | Update an existing page |
| `get-comments` | Get comments on a page |
| `list-spaces` | List all Confluence spaces |
### Examples
```bash
# Search pages
confluence-cli search-page --query "space = DEV AND type = page"
# Get a page
confluence-cli get-page --id 123456
# Create a page
confluence-cli create-page --space DEV --title "My Page" --content "Hello World"
# Update a page
confluence-cli update-page --id 123456 --title "Updated Title" --content "New content"
# List spaces
confluence-cli list-spaces
# JSON output (pipe-friendly)
confluence-cli search-page --query "space = DEV" --output json | jq '.results[].title'
```
### Flags
Every command accepts:
- `--env string` — Path to `.env` file
- `--output string` — Output format: `text` (default) or `json`
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Installation
### Homebrew (macOS/Linux)
```bash
brew install nguyenvanduocit/tap/confluence-mcp
```
Connection Info
You Might Also Like
awesome-mcp-servers
A collection of MCP servers.
git
A Model Context Protocol server for Git automation and interaction.
Appwrite
Build like a team of hundreds
oh-my-opencode
Background agents · Curated agents like oracle, librarians, frontend...
TrendRadar
TrendRadar: Your hotspot assistant for real news in just 30 seconds.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.