ctk
Provides programmatic access to Atlassian Cloud services for content management, using both classic and scoped API tokens for secure interaction with the Confluence platform.
Offers a comprehensive suite of tools for Confluence, including full CRUD operations for spaces, pages, and folders, CQL-based search, version diffing, and management of labels, comments, and attachments.
ctk — Confluence Toolkit
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 |
| 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 defaultsToken-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/ctkPre-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 searchMCP 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 8080Environment Variables
Variable | Description | Required |
| Atlassian domain (e.g., | Yes |
| Email for the API token | Yes |
| Atlassian API token | Yes |
|
| No |
| Set to | No |
| Comma-separated tool names to hide | No |
MCP Tools (8)
Tool | Actions |
| list, get, get_by_key, create |
| get, get_by_title, list, get_children, get_ancestors, list_versions, diff, create, update, delete, move |
| cql, quick |
| list, add, remove |
| list, get, get_children, create, update, delete |
| list_footer, list_inline, get_replies, add_footer, reply |
| list, download, upload, delete |
| get_current, search |
Security
Three-layer safety model:
Token scopes — Atlassian scopes control which APIs the token can call (403 if missing)
Write gating — Mutation tools only registered when
CTK_ENABLE_WRITES=true(read-only by default)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 # BuildLicense
Available Tools
8 toolsmanage_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_searchA
Unified tool for Confluence search (CQL and quick text search)
Inputs: action (required), cql, query, limit, +2 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
Scored across 8 tools
Each tool targets a distinct Confluence domain (attachments, comments, folders, labels, pages, search, spaces, users) with no overlap in functionality.
All tools follow a consistent 'manage_<resource>' pattern, making it easy for an agent to predict tool names for different resources.
8 tools is a well-scoped set that covers the major Confluence resources without being overwhelming or too sparse.
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
Related MCP Connectors
Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.
Confluence MCP — wraps the Confluence Cloud REST API v2 (OAuth)
A MCP server built for developers enabling Git based project management with project and personal…
Hosted MCP for Google Workspace, Atlassian and Notion: one OAuth, per-user accounts, write access.
Related MCP Servers
- AlicenseAqualityCmaintenanceA Bitbucket CLI and MCP server written in Go for managing workspaces, repositories, pull requests, pipelines, issues, and source code. Supports stdio and HTTP transport.104Apache 2.0
- AlicenseBqualityCmaintenanceJira CLI & MCP Server — dual-mode Go binary for Jira Cloud with 9 tools, 4 prompts, permission introspection, and dev-status API.101Apache 2.0
- AlicenseBqualityDmaintenanceThe most comprehensive Azure DevOps MCP server & CLI — 13 tools, 82 actions, single Go binary.141Apache 2.0
- AlicenseAqualityBmaintenanceGo 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.1312MIT