Skip to main content
Glama

Confluence MCP Server

MCP server for Confluence integration — read, write, search, and manage attachments via the Confluence REST API.

Installation

npm install -g @mcd/confluence-mcp-server

Or use with npx:

npx @mcd/confluence-mcp-server

Related MCP server: confluence-mcp

Configuration

Add to your MCP settings (e.g. ~/.kiro/settings/mcp.json):

{
  "mcpServers": {
    "confluence-mcp": {
      "command": "npx",
      "args": ["@mcd/confluence-mcp-server@latest"],
      "env": {
        "CONFLUENCE_URL": "https://your-confluence.atlassian.net",
        "CONFLUENCE_USERNAME": "your-email@example.com",
        "CONFLUENCE_TOKEN": "your-api-token",
        "CONFLUENCE_CLOUD": "true"
      }
    }
  }
}

For local development, point directly to the compiled output:

{
  "mcpServers": {
    "confluence-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js"],
      "env": {
        "CONFLUENCE_URL": "...",
        "CONFLUENCE_USERNAME": "...",
        "CONFLUENCE_TOKEN": "...",
        "CONFLUENCE_CLOUD": "false"
      }
    }
  }
}

Environment Variables

Variable

Description

CONFLUENCE_URL

Your Confluence instance URL

CONFLUENCE_USERNAME

Your username or email

CONFLUENCE_TOKEN

Your API token or password

CONFLUENCE_CLOUD

"true" for Cloud, "false" for Server

Available Tools

Pages

  • search — Search Confluence content (CQL)

  • get_page — Get page content by ID

  • get_page_children — Get child pages of a parent page

  • create_page — Create a new page

  • update_page — Update page content (inline HTML or file path)

Attachments

  • get_attachments — List attachments on a page

  • download_attachment — Download an attachment to local disk

  • upload_attachment — Upload a local file as a page attachment, with optional embedding in page body

Comments

  • get_comments — Get page comments

  • add_comment — Add a comment to a page

Tool Examples

Search:

{ "query": "space = DEV AND title ~ \"API\"", "limit": 10 }

Update page with inline content:

{ "page_id": "123456", "content": "<h1>Title</h1><p>Updated content</p>" }

Update page from file (recommended for large content):

{ "page_id": "123456", "content_file": "/absolute/path/to/content.html" }

Upload attachment:

{ "page_id": "123456", "file_path": "/absolute/path/to/file.png" }

Upload and embed in page body:

{
  "page_id": "123456",
  "file_path": "/absolute/path/to/image.png",
  "embed_in_body": true,
  "comment": "Optional comment"
}

Images are embedded as <ac:image>, other files as a view-file macro link.

Development

npm install
npm run build

Available Tools

10 tools
add_commentB

Add a comment to a Confluence page

Inputs: content (required), page_id (required).

create_pageC

Create a new Confluence page

Inputs: title (required), content (required), space_key (required), parent_id.

download_attachmentB

Download a Confluence attachment

Inputs: page_id (required), output_path (required), attachment_id (required).

get_attachmentsB

Get attachments from a Confluence page

Inputs: page_id (required).

get_commentsB

Get comments from a Confluence page

Inputs: page_id (required), limit, start.

get_pageC

Get Confluence page content

Inputs: page_id (required), include_body.

get_page_childrenB

Get child pages of a Confluence page

Inputs: parent_id (required), limit, start.

update_pageA

Update a Confluence page with new content.

IMPORTANT: For large HTML files, use 'content_file' parameter to provide the file path. The tool automatically handles:

  • Escaping unescaped & characters to &amp;

  • Cleaning HTML structure (removes DOCTYPE, html, head, body tags)

Inputs: page_id (required), title, content, minor_edit, +1 more.

upload_attachmentA

Upload a file as an attachment to a Confluence page. The file must be specified by its absolute path on the local filesystem. Optionally embed the attachment in the page body.

Inputs: page_id (required), file_path (required), comment, embed_in_body.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: search, page retrieval, children, attachments (list vs download), comments (list vs add), page create/update, and attachment upload. No two tools appear to do the same thing.

    Naming Consistency4/5

    Most names follow a clear verb_noun pattern (get_page, create_page, update_page, upload_attachment). The mix of verbs like search, get, download, add, create, update, upload is reasonable and readable, though not perfectly uniform.

    Tool Count5/5

    With 10 tools, the set is well-scoped for a Confluence MCP server covering search, page content, comments, and attachments. Each tool has a clear role without feeling excessive.

    Completeness3/5

    Core content operations are covered (search, read, create, update, comment, attachments), but there are no delete operations for pages, comments, or attachments. This is a notable gap for full lifecycle management, though typical workflows are still possible.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers