Skip to content

Configuration

The fastest way to get started:

Terminal window
ctk auth

This prompts for your Confluence domain, email, and API token, verifies them against the Confluence API, and stores them locally.

Select “Confluence” as the app, then add granular scopes:

read:space:confluence
read:page:confluence
read:folder:confluence
read:hierarchical-content:confluence
read:comment:confluence
read:label:confluence
read:attachment:confluence
search:confluence

Credentials are stored at ~/.config/ctk/credentials.json with mode 0600:

{
"domain": "mycompany",
"email": "user@example.com",
"api_token": "ATATT3x...",
"created_at": "2025-01-15T10:30:00Z"
}

The domain field is the subdomain only (e.g., mycompany for mycompany.atlassian.net).

You can skip stored credentials entirely by setting these environment variables:

VariableDescription
CONFLUENCE_DOMAINConfluence subdomain (e.g., mycompany)
CONFLUENCE_EMAILAtlassian account email
CONFLUENCE_API_TOKENAtlassian API token

Environment variables take precedence over stored credentials.

VariableDescription
CTK_ENABLE_WRITESSet to true to enable create, update, delete operations
CTK_DISABLED_TOOLSComma-separated list of MCP tool names to disable

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
"mcpServers": {
"ctk": {
"command": "/Users/you/.local/bin/ctk",
"args": ["mcp"],
"env": {
"CONFLUENCE_DOMAIN": "mycompany",
"CONFLUENCE_EMAIL": "user@example.com",
"CONFLUENCE_API_TOKEN": "ATATT3x...",
"CTK_ENABLE_WRITES": "true"
}
}
}
}
Terminal window
ctk status

Output:

Authenticated via stored credentials
Domain: mycompany.atlassian.net
Email: user@example.com
Token: ATAT...3xFg
Stored: 2025-01-15 10:30:00
File: /Users/you/.config/ctk/credentials.json
Terminal window
ctk logout