Skip to main content

MCP server for Confluence Data Center raw storage operations

Project description

Confluence Data Center MCP

Typed Python MCP server for Confluence Data Center raw storage operations.

Requirements

  • Python 3.11+
  • uv
  • Confluence Data Center REST API access
  • Either a Confluence Personal Access Token or username/password auth

Setup

uv sync
cp .env.example .env

Set the values in .env, then run:

set -a
source .env
set +a
uv run confluence-dc-mcp

Run with uvx

After the package is published, it can be run without cloning the repository:

CONFLUENCE_BASE_URL="https://confluence.example.com" \
CONFLUENCE_PAT="replace-with-token" \
uvx confluence-dc-mcp

Or with username/password authentication:

CONFLUENCE_BASE_URL="https://confluence.example.com" \
CONFLUENCE_USERNAME="alice" \
CONFLUENCE_PASSWORD="replace-with-password" \
uvx confluence-dc-mcp

For an MCP client using uvx with a Personal Access Token:

{
  "mcpServers": {
    "confluence-data-center": {
      "command": "uvx",
      "args": ["confluence-dc-mcp"],
      "env": {
        "CONFLUENCE_BASE_URL": "https://confluence.example.com",
        "CONFLUENCE_PAT": "replace-with-token"
      }
    }
  }
}

For an MCP client using uvx with username/password authentication:

{
  "mcpServers": {
    "confluence-data-center": {
      "command": "uvx",
      "args": ["confluence-dc-mcp"],
      "env": {
        "CONFLUENCE_BASE_URL": "https://confluence.example.com",
        "CONFLUENCE_USERNAME": "alice",
        "CONFLUENCE_PASSWORD": "replace-with-password"
      }
    }
  }
}

For MCP clients that pass environment variables directly, use:

{
  "mcpServers": {
    "confluence-data-center": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/mikhail/Projects/mcp-atlassian-confluence-raw-storage",
        "run",
        "confluence-dc-mcp"
      ],
      "env": {
        "CONFLUENCE_BASE_URL": "https://confluence.example.com",
        "CONFLUENCE_PAT": "replace-with-token"
      }
    }
  }
}

Environment

CONFLUENCE_BASE_URL is required and must be the root Confluence URL.

Use one authentication mode:

  • CONFLUENCE_PAT
  • CONFLUENCE_USERNAME and CONFLUENCE_PASSWORD

Optional settings:

  • CONFLUENCE_VERIFY_SSL, defaults to true
  • CONFLUENCE_TIMEOUT_SECONDS, defaults to 30

Tools

  • health_check: validates server configuration.
  • search_pages: searches content with CQL and returns page summaries.
  • get_page_storage: returns raw storage-format XHTML for a content ID.
  • get_page_storage_by_title: returns raw storage-format XHTML for a unique page title in a space.
  • get_page_children: returns direct child page summaries for a content ID.
  • get_attachment_list: returns attachment metadata for a page content ID.
  • download_attachment: downloads an attachment as an embedded MCP resource for LLM analysis.
  • update_page_storage: replaces raw storage-format XHTML and increments the Confluence version.

Development

uv run ruff check .
uv run mypy
uv run pytest
uv build

CI and Release

GitHub Actions run linting, strict type checking, tests, and package build on push and pull requests.

Publishing runs when a GitHub Release is published. The workflow uses PyPI Trusted Publishing, so configure a PyPI trusted publisher for this repository with:

  • workflow: publish.yml
  • environment: pypi
  • package name: confluence-dc-mcp

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

confluence_dc_mcp-0.4.0.tar.gz (68.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

confluence_dc_mcp-0.4.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file confluence_dc_mcp-0.4.0.tar.gz.

File metadata

  • Download URL: confluence_dc_mcp-0.4.0.tar.gz
  • Upload date:
  • Size: 68.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for confluence_dc_mcp-0.4.0.tar.gz
Algorithm Hash digest
SHA256 606b7bba0f21a5c90a6a1a94d1666236e608f56744dbb2cbe039c03c1bf643a6
MD5 577145300778d2ffe63cfd0f11eb839e
BLAKE2b-256 e5d1198cba818d0e1addfb18df14b3ec7097cebb6ec0a0725840a1378467dea1

See more details on using hashes here.

Provenance

The following attestation bundles were made for confluence_dc_mcp-0.4.0.tar.gz:

Publisher: publish.yml on mishannn/confluence-dc-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file confluence_dc_mcp-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for confluence_dc_mcp-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21445cfce1c31f8abcb4af0b85f1e7fd3700d722596d66b9d54b9f620f84fbd8
MD5 54d3b26b258b6cf551fb077606b17f0e
BLAKE2b-256 6c9f869914d191b33e808e5c005a6bb17f6891004b631e35de58430b17c10bcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for confluence_dc_mcp-0.4.0-py3-none-any.whl:

Publisher: publish.yml on mishannn/confluence-dc-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page