Skip to main content
Glama

confluence-mcp

MCP server for Confluence REST API. Bearer token (PAT) auth.

API documentation:

Setup

Environment variables

Variable

Required

Description

CONFLUENCE_URL

yes

REST API base URL, e.g. https://wiki.example.com/rest/api

CONFLUENCE_TOKEN

yes

Personal Access Token

CONFLUENCE_VERIFY_SSL

no

true (default) / false

Creating a Personal Access Token (PAT)

curl -s -u 'your-username:your-password' \
  -X POST -H "Content-Type: application/json" \
  -d '{"name":"my-mcp-token"}' \
  "https://wiki.example.com/rest/pat/latest/tokens"
# Save rawToken from the response — it won't be shown again

Claude Desktop / Claude Code — uvx (no install)

{
  "mcpServers": {
    "confluence": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/mainpart/confluence-mcp", "confluence-mcp"],
      "env": {
        "CONFLUENCE_URL": "https://wiki.example.com/rest/api",
        "CONFLUENCE_TOKEN": "your-pat-token"
      }
    }
  }
}

Related MCP server: confluence-mcp-server

Tools (6)

Tool

Description

get_content_by_id

Page with body (storage format), ancestors, child pages, attachments

download_attachment

Download attachment by its download link

get_spaces

List spaces (key + name), filter by type, status, label

get_comments

Page comments (footer + inline with markerRef and originalSelection)

search

Full-text search with filters: title, space, type, creator, contributor, label, ancestor, parent, dates

get_user

User profile by username or userKey

Errors

Every tool returns errors as JSON instead of raising, so a caller can branch on a field: {"error": "api_error" \| "bad_request" \| "unexpected", "message": "...", "status": 403} (status only when the API answered with an HTTP code).

License

MIT

Available Tools

6 tools
download_attachmentDownload Confluence AttachmentC

Download attachment content.

Inputs: attachment_id (required), save_path. Returns: result

get_commentsGet Confluence CommentsA
Read-only

Get comments on a page or comment thread by content ID.

Returns footer and inline comments. Inline comments have markerRef — UUID of ac:inline-comment-marker in page body.storage. Pass a comment ID to get its reply thread.

Inputs: id (required), depth, limit, start, +1 more. Returns: result

get_content_by_idGet Confluence PageA
Read-only

Get content by ID. Returns title, body (storage format HTML), space, version, ancestors, child pages, attachments.

Inputs: id (required), status, save_path. Returns: result

get_spacesList Confluence SpacesB
Read-only

Get spaces. Returns key and name. Filter by space_key, status, label, favourite.

Inputs: label, limit, start, status, +3 more. Returns: result

get_userGet Confluence UserA
Read-only

Get user profile by username or userKey. Returns displayName, username, userKey.

Inputs: key, username. Returns: result

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: content, attachment, spaces, comments, search, and user. There is no overlap in purpose, making selection unambiguous.

    Naming Consistency5/5

    All tools follow a consistent verb_noun snake_case pattern, with verbs like get, download, and search. The naming convention is uniform and predictable.

    Tool Count5/5

    Six tools is a well-scoped number for a Confluence integration, covering core read operations without being excessive. Each tool earns its place.

    Completeness3/5

    The surface covers read-only operations for content, comments, spaces, users, attachments, and search. However, there are no create, update, or delete operations, which is a notable gap for a full Confluence API.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers