Skip to main content
Glama

ctk — Confluence Toolkit

CI Go Report Card Documentation License

The most comprehensive dedicated Confluence MCP server in the open-source ecosystem. A dual-mode Go binary that works as both a rich CLI tool and an MCP server for AI agents.

8 MCP tools · Full CLI · Write gating · Single binary · Zero dependencies

Why ctk?

ctk

mcp-atlassian (Python)

Language

Go (single ~15MB binary)

Python (pip install + deps)

Confluence tools

8 dedicated tools

~30 mixed Jira+Confluence

Startup

~50ms

~2s

Folder support

Full CRUD

None

Page diff

LCS-based unified diff

None

Space create

Yes (V1 stable API)

None

Write gating

CTK_ENABLE_WRITES env var

None

Auth

Classic + scoped tokens

Classic only

Related MCP server: jtk

Features

  • Dual Mode — CLI for humans, MCP server for AI agents, same binary

  • V2 API First — Modern Confluence V2 REST API with cursor-based pagination, V1 fallback for CQL search and space create

  • Folder Support — Full CRUD for Confluence folders — the only dedicated Confluence MCP with folder operations

  • Page Diff — LCS-based unified diff between any two page versions

  • Write Gating — Mutation tools only registered when CTK_ENABLE_WRITES=true, safe read-only defaults

  • Token-Efficient — Consolidated action-based tools minimize schema overhead. XHTML↔Markdown conversion. ResponseFlattener strips metadata bloat

  • Markdown Interface — Agents send/receive markdown, ctk converts to/from Confluence XHTML storage format internally

Installation

# From source
git clone https://github.com/zach-snell/ctk.git && cd ctk
./install.sh  # builds and copies to ~/.local/bin

# Or build manually
go build -o ctk ./cmd/ctk

Pre-built binaries available on the Releases page.

Quick Start

# Authenticate
ctk auth

# List spaces
ctk spaces list

# Get a page
ctk pages get 12345

# Search with CQL
ctk search --cql "type = page AND space = DEV AND title ~ 'architecture'"

# Create a page (writes enabled)
ctk pages create --space-id 12345 --title "My Page" --body "# Hello World"

CLI Commands

ctk auth                    Authenticate with Confluence Cloud
ctk spaces                  List, get, create spaces
ctk pages                   Page CRUD, versions, diff, move
ctk folders                 Folder CRUD, children
ctk search                  CQL and quick text search

MCP Server

Stdio Transport (Claude Desktop, Cursor, OpenCode, etc.)

{
  "mcpServers": {
    "confluence": {
      "command": "/path/to/ctk",
      "args": ["mcp"],
      "env": {
        "CONFLUENCE_DOMAIN": "your-domain",
        "CONFLUENCE_EMAIL": "you@example.com",
        "CONFLUENCE_API_TOKEN": "your-api-token",
        "CTK_ENABLE_WRITES": "true"
      }
    }
  }
}

Streamable HTTP Transport

ctk mcp --port 8080

Environment Variables

Variable

Description

Required

CONFLUENCE_DOMAIN

Atlassian domain (e.g., acme for acme.atlassian.net)

Yes

CONFLUENCE_EMAIL

Email for the API token

Yes

CONFLUENCE_API_TOKEN

Atlassian API token

Yes

CONFLUENCE_TOKEN_TYPE

classic or scoped (auto-detected if omitted)

No

CTK_ENABLE_WRITES

Set to true to enable mutation tools

No

CTK_DISABLED_TOOLS

Comma-separated tool names to hide

No

MCP Tools (8)

Tool

Actions

manage_spaces

list, get, get_by_key, create

manage_pages

get, get_by_title, list, get_children, get_ancestors, list_versions, diff, create, update, delete, move

manage_search

cql, quick

manage_labels

list, add, remove

manage_folders

list, get, get_children, create, update, delete

manage_comments

list_footer, list_inline, get_replies, add_footer, reply

manage_attachments

list, download, upload, delete

manage_users

get_current, search

Security

Three-layer safety model:

  1. Token scopes — Atlassian scopes control which APIs the token can call (403 if missing)

  2. Write gating — Mutation tools only registered when CTK_ENABLE_WRITES=true (read-only by default)

  3. Tool denial — Explicitly hide tools: CTK_DISABLED_TOOLS="manage_folders,manage_labels"

Development

go test -race ./...          # Run tests
golangci-lint run ./...      # Lint
go build -o ctk ./cmd/ctk   # Build

License

Apache 2.0

Available Tools

8 tools
manage_attachmentsC

Unified tool for Confluence attachment operations (list, download)

Inputs: action (required), page_id, attachment_id, file_path, +3 more.

manage_commentsC

Unified tool for Confluence comments (list_footer, list_inline, get_replies)

Inputs: action (required), page_id, comment_id, body, +3 more.

manage_foldersC

Unified tool for Confluence folder operations (list, get, get_children)

Inputs: action (required), folder_id, space_id, title, +4 more.

manage_labelsC

Unified tool for managing page labels (list)

Inputs: action (required), page_id (required), label, limit, +1 more.

manage_pagesC

Unified tool for Confluence page operations (get, get_by_title, list, get_children, get_ancestors, list_versions, diff)

Inputs: action (required), page_id, space_id, title, +13 more.

manage_spacesC

Unified tool for listing and getting Confluence spaces. Actions: 'list', 'get', 'get_by_key', 'create'. Write operations: false

Inputs: action (required), space_id, key, name, +5 more.

manage_usersB

Search and get Confluence users. Actions: 'get_current', 'search'

Inputs: action (required), query, limit.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool targets a distinct Confluence domain (attachments, comments, folders, labels, pages, search, spaces, users) with no overlap in functionality.

    Naming Consistency5/5

    All tools follow a consistent 'manage_<resource>' pattern, making it easy for an agent to predict tool names for different resources.

    Tool Count5/5

    8 tools is a well-scoped set that covers the major Confluence resources without being overwhelming or too sparse.

    Completeness4/5

    The tool surface covers core CRUD operations for pages, spaces, attachments, and more, though it misses some advanced features like content restrictions or page tree navigation.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      A Bitbucket CLI and MCP server written in Go for managing workspaces, repositories, pull requests, pipelines, issues, and source code. Supports stdio and HTTP transport.
      10
      4
      Apache 2.0
    • A
      license
      A
      quality
      B
      maintenance
      Go MCP server that lets your AI read documents: PDF, DOCX, XLSX, PPTX, ODT, EPUB, HTML, RTF, Markdown, CSV, Jupyter and images, with OCR, search, tables and paging. 13 read-only tools, one binary, Homebrew and Claude Code marketplace.
      13
      12
      MIT