Skip to content

nguyenvanduocit/confluence-mcp

Repository files navigation

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 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):
    chmod +x confluence-mcp_*
  4. Move it to your PATH (Linux/macOS):
    sudo mv confluence-mcp_* /usr/local/bin/confluence-mcp

Option 2: Go install

go install github.com/nguyenvanduocit/confluence-mcp@latest

Option 3: Docker

Using Docker directly

  1. Pull the pre-built image from GitHub Container Registry:

    docker pull ghcr.io/nguyenvanduocit/confluence-mcp:latest
  2. Or build the Docker image locally:

    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:

{
  "mcpServers": {
    "confluence": {
      "command": "/path/to/confluence-mcp",
      "args": ["-env", "/path/to/.env"]
    }
  }
}

With Docker (stdio transport)

{
  "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:

confluence-mcp --http_port 8080 --env .env

This will start the server at http://localhost:8080/mcp

Or with Docker:

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

# Build locally
just install-cli

# Or with Go
go install github.com/nguyenvanduocit/confluence-mcp/cmd/confluence-cli@latest

Quick Start

# 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

# 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)

brew install nguyenvanduocit/tap/confluence-mcp

About

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.

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages