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: obx
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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceA Bitbucket CLI and MCP server written in Go for managing workspaces, repositories, pull requests, pipelines, issues, and source code. Supports stdio and HTTP transport.Last updated104Apache 2.0
- AlicenseAqualityCmaintenanceA fast, lightweight MCP server and CLI for Obsidian vaults built in Go. 16 multiplexed tools covering 72 actions for notes, search, templates, tasks, links, frontmatter, and vault analysis. Single binary, no plugins required.Last updated153Apache 2.0
- AlicenseBqualityAmaintenanceJira CLI & MCP Server — dual-mode Go binary for Jira Cloud with 9 tools, 4 prompts, permission introspection, and dev-status API.Last updated101Apache 2.0
- AlicenseBqualityCmaintenanceThe most comprehensive Azure DevOps MCP server & CLI — 13 tools, 82 actions, single Go binary.Last updated141Apache 2.0
Related MCP Connectors
Confluence MCP — wraps the Confluence Cloud REST API v2 (OAuth)
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zach-snell/ctk'
If you have feedback or need assistance with the MCP directory API, please join our Discord server