Atlassian Confluence

Atlassian Confluence

aashari

Connects AI assistants to your Atlassian Confluence workspace so you can search, read, and manage pages and documentation using natural language.

Integrates with Atlassian Confluence to provide direct access to spaces, pages, and content with tools for listing, retrieving, and searching using CQL while converting content to Markdown format

50702 views21RemoteLocal (stdio)

What it does

  • Search pages across Confluence spaces using CQL queries
  • Read and retrieve Confluence pages with content converted to Markdown
  • Create new pages and documentation in specified spaces
  • Update existing Confluence pages and content
  • Delete Confluence resources and pages
  • List spaces and browse Confluence structure

Best for

Developers accessing technical documentation and API guidesProduct managers searching requirements and project specsSupport teams finding troubleshooting guidesHR teams accessing policy documents quickly
Token-optimized TOON format reduces API costs by 30-60%Natural language queries to your knowledge base

About Atlassian Confluence

Atlassian Confluence is a community-built MCP server published by aashari that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate Jira with Atlassian Confluence to list, retrieve, and search spaces and pages, plus convert content to Markdow It is categorized under productivity. This server exposes 5 tools that AI clients can invoke during conversations and coding sessions.

How to install

You can install Atlassian Confluence in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport. This server supports remote connections over HTTP, so no local installation is required.

License

Atlassian Confluence is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

Tools (5)

conf_get

Read any Confluence data. Returns TOON format by default (30-60% fewer tokens than JSON). **IMPORTANT - Cost Optimization:** - ALWAYS use `jq` param to filter response fields. Unfiltered responses are very expensive! - Use `limit` query param to restrict result count (e.g., `limit: "5"`) - If unsure about available fields, first fetch ONE item with `limit: "1"` and NO jq filter to explore the schema, then use jq in subsequent calls **Schema Discovery Pattern:** 1. First call: `path: "/wiki/api/v2/spaces", queryParams: {"limit": "1"}` (no jq) - explore available fields 2. Then use: `jq: "results[*].{id: id, key: key, name: name}"` - extract only what you need **Output format:** TOON (default, token-efficient) or JSON (`outputFormat: "json"`) **Common paths:** - `/wiki/api/v2/spaces` - list spaces - `/wiki/api/v2/pages` - list pages (use `space-id` query param) - `/wiki/api/v2/pages/{id}` - get page details - `/wiki/api/v2/pages/{id}/body` - get page body (`body-format`: storage, atlas_doc_format, view) - `/wiki/rest/api/search` - search content (`cql` query param) **JQ examples:** `results[*].id`, `results[0]`, `results[*].{id: id, title: title}` API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/

conf_post

Create Confluence resources. Returns TOON format by default (token-efficient). **IMPORTANT - Cost Optimization:** - Use `jq` param to extract only needed fields from response (e.g., `jq: "{id: id, title: title}"`) - Unfiltered responses include all metadata and are expensive! **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Create page:** `/wiki/api/v2/pages` body: `{"spaceId": "123456", "status": "current", "title": "Page Title", "parentId": "789", "body": {"representation": "storage", "value": "<p>Content</p>"}}` 2. **Create blog post:** `/wiki/api/v2/blogposts` body: `{"spaceId": "123456", "status": "current", "title": "Blog Title", "body": {"representation": "storage", "value": "<p>Content</p>"}}` 3. **Add label:** `/wiki/api/v2/pages/{id}/labels` - body: `{"name": "label-name"}` 4. **Add comment:** `/wiki/api/v2/pages/{id}/footer-comments` API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/

conf_put

Replace Confluence resources (full update). Returns TOON format by default. **IMPORTANT - Cost Optimization:** - Use `jq` param to extract only needed fields from response - Example: `jq: "{id: id, version: version.number}"` **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Update page:** `/wiki/api/v2/pages/{id}` body: `{"id": "123", "status": "current", "title": "Updated Title", "spaceId": "456", "body": {"representation": "storage", "value": "<p>Content</p>"}, "version": {"number": 2}}` Note: version.number must be incremented 2. **Update blog post:** `/wiki/api/v2/blogposts/{id}` Note: PUT replaces entire resource. Version number must be incremented. API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/

conf_patch

Partially update Confluence resources. Returns TOON format by default. **IMPORTANT - Cost Optimization:** Use `jq` param to filter response fields. **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Update space:** `/wiki/api/v2/spaces/{id}` body: `{"name": "New Name", "description": {"plain": {"value": "Desc", "representation": "plain"}}}` 2. **Update comment:** `/wiki/api/v2/footer-comments/{id}` Note: Confluence v2 API primarily uses PUT for updates. API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/

conf_delete

Delete Confluence resources. Returns TOON format by default. **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** - `/wiki/api/v2/pages/{id}` - Delete page - `/wiki/api/v2/blogposts/{id}` - Delete blog post - `/wiki/api/v2/pages/{id}/labels/{label-id}` - Remove label - `/wiki/api/v2/footer-comments/{id}` - Delete comment - `/wiki/api/v2/attachments/{id}` - Delete attachment Note: Most DELETE endpoints return 204 No Content on success. API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/

Connect AI to Your Confluence Knowledge Base

Transform how you access and interact with your team's knowledge by connecting Claude, Cursor AI, and other AI assistants directly to your Confluence spaces, pages, and documentation. Get instant answers from your knowledge base, search across all your spaces, and streamline your documentation workflow.

NPM Version

What You Can Do

  • Ask AI about your documentation: "What's our API authentication process?"
  • Search across all spaces: "Find all pages about security best practices"
  • Get instant answers: "Show me the latest release notes from the Product space"
  • Access team knowledge: "What are our HR policies for remote work?"
  • Review page comments: "Show me the discussion on the architecture document"
  • Create and update content: "Create a new page in the DEV space"

Perfect For

  • Developers who need quick access to technical documentation and API guides
  • Product Managers searching for requirements, specs, and project updates
  • HR Teams accessing policy documents and employee resources quickly
  • Support Teams finding troubleshooting guides and knowledge base articles
  • Anyone who wants to interact with Confluence using natural language

Quick Start

Get up and running in 2 minutes:

1. Get Your Confluence Credentials

Generate a Confluence API Token:

  1. Go to Atlassian API Tokens
  2. Click Create API token
  3. Give it a name like "AI Assistant"
  4. Copy the generated token immediately (you won't see it again!)

2. Try It Instantly

# Set your credentials
export ATLASSIAN_SITE_NAME="your-company"  # for your-company.atlassian.net
export ATLASSIAN_USER_EMAIL="[email protected]"
export ATLASSIAN_API_TOKEN="your_api_token"

# List your Confluence spaces (TOON format by default)
npx -y @aashari/mcp-server-atlassian-confluence get --path "/wiki/api/v2/spaces"

# Get details about a specific space with field filtering
npx -y @aashari/mcp-server-atlassian-confluence get \
  --path "/wiki/api/v2/spaces/123456" \
  --jq "{id: id, key: key, name: name, type: type}"

# Get a page with JMESPath filtering
npx -y @aashari/mcp-server-atlassian-confluence get \
  --path "/wiki/api/v2/pages/789" \
  --jq "{id: id, title: title, status: status}"

# Search for pages (using CQL)
npx -y @aashari/mcp-server-atlassian-confluence get \
  --path "/wiki/rest/api/search" \
  --query-params '{"cql": "type=page AND space=DEV"}'

Connect to AI Assistants

For Claude Desktop Users

Add this to your Claude configuration file (~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "confluence": {
      "command": "npx",
      "args": ["-y", "@aashari/mcp-server-atlassian-confluence"],
      "env": {
        "ATLASSIAN_SITE_NAME": "your-company",
        "ATLASSIAN_USER_EMAIL": "[email protected]",
        "ATLASSIAN_API_TOKEN": "your_api_token"
      }
    }
  }
}

Restart Claude Desktop, and you'll see the confluence server in the status bar.

For Other AI Assistants

Most AI assistants support MCP (Cursor AI, Continue.dev, and others). Install the server globally:

npm install -g @aashari/mcp-server-atlassian-confluence

Then configure your AI assistant to use the MCP server with STDIO transport. The binary is available as mcp-atlassian-confluence after global installation.

Alternative: Configuration File

Create ~/.mcp/configs.json for system-wide configuration:

{
  "confluence": {
    "environments": {
      "ATLASSIAN_SITE_NAME": "your-company",
      "ATLASSIAN_USER_EMAIL": "[email protected]",
      "ATLASSIAN_API_TOKEN": "your_api_token"
    }
  }
}

Alternative config keys: The system also accepts "atlassian-confluence", "@aashari/mcp-server-atlassian-confluence", or "mcp-server-atlassian-confluence" instead of "confluence".

Using Environment Variables

You can also configure credentials using environment variables or a .env file:

# Create a .env file in your project directory
cat > .env << EOF
ATLASSIAN_SITE_NAME=your-company
[email protected]
ATLASSIAN_API_TOKEN=your_api_token
DEBUG=false
EOF

The server will automatically load these values from:

  1. Environment variables
  2. .env file in the current directory
  3. ~/.mcp/configs.json (as shown above)

Available Tools

This MCP server provides 5 generic tools that can access any Confluence API endpoint:

ToolDescription
conf_getGET any Confluence API endpoint (read data)
conf_postPOST to any endpoint (create resources)
conf_putPUT to any endpoint (replace resources)
conf_patchPATCH to any endpoint (partial updates)
conf_deleteDELETE from any endpoint (remove resources)

Tool Parameters

All tools share these common parameters:

  • path (required): The API endpoint path (e.g., /wiki/api/v2/spaces)
  • queryParams (optional): Query parameters as key-value pairs (e.g., {"limit": "25", "space-id": "123"})
  • jq (optional): JMESPath expression to filter/transform the response (e.g., results[*].{id: id, title: title})
  • outputFormat (optional): Output format - "toon" (default, 30-60% fewer tokens) or "json"

Tools that accept a request body (conf_post, conf_put, conf_patch):

  • body (required): Request body as a JSON object

Common API Paths

Spaces:

  • /wiki/api/v2/spaces - List all spaces
  • /wiki/api/v2/spaces/{id} - Get space details

Pages:

  • /wiki/api/v2/pages - List pages (use space-id query param to filter)
  • /wiki/api/v2/pages/{id} - Get page details
  • /wiki/api/v2/pages/{id}/body - Get page body (use body-format param)
  • /wiki/api/v2/pages/{id}/children - Get child pages
  • /wiki/api/v2/pages/{id}/labels - Get page labels

Comments:

  • /wiki/api/v2/pages/{id}/footer-comments - List/add footer comments
  • /wiki/api/v2/pages/{id}/inline-comments - List/add inline comments
  • /wiki/api/v2/footer-comments/{comment-id} - Get/update/delete comment

Blog Posts:

  • /wiki/api/v2/blogposts - List blog posts
  • /wiki/api/v2/blogposts/{id} - Get blog post

Search:

  • /wiki/rest/api/search - Search content (use cql query param)

TOON Output Format

What is TOON? TOON (Token-Oriented Object Notation) is a format optimized for LLM token efficiency, reducing token costs by 30-60% compared to JSON. It's the default output format for all tools.

Benefits:

  • Tabular arrays use fewer tokens than JSON arrays
  • Minimal syntax overhead (no quotes, brackets, commas where unnecessary)
  • Still human-readable and parseable

When to use JSON instead:

  • When you need standard JSON for other tools
  • When debugging or manual inspection is needed

Example comparison:

// JSON format (verbose)
{"results": [{"id": "123", "title": "My Page"}, {"id": "456", "title": "Other Page"}]}

// TOON format (efficient)
results:
  - id: 123
    title: My Page
  - id: 456
    title: Other Page

To use JSON instead of TOON, set outputFormat: "json" in your request.

JMESPath Filtering

All tools support optional JMESPath (jq) filtering to extract specific data and reduce token costs:

# Get just space names and keys
npx -y @aashari/mcp-server-atlassian-confluence get \
  --path "/wiki/api/v2/spaces" \
  --jq "results[].{id: id, key: key, name: name}"

# Get page title and status
npx -y @aashari/mcp-server-atlassian-confluence get \
  --path "/wiki/api/v2/pages/123456" \
  --jq "{id: id, title: title, status: status}"

IMPORTANT: Always use the jq parameter to filter responses to only the fields you need. Unfiltered responses can be very large and expensive in token costs.

JMESPath Syntax Reference:

  • Official docs: jmespath.org
  • Common patterns:
    • results[*] - All items in results array
    • results[0] - First item only
    • results[*].id - Just IDs from all items
    • results[*].{id: id, title: title} - Create objects with selected fields
    • results[?status=='current'] - Filter by condition

Real-World Examples

Explore Your Knowledge Base

Ask your AI assistant:

  • "List all the spaces in our Confluence"
  • "Show me details about the Engineering space"
  • "What pages are in our Product space?"
  • "Find the latest pages in the Marketing space"

Search and Find Information

Ask your AI assistant:

  • "Search for pages about API authentication"
  • "Find all documentation with 'security' in the title"
  • "Show me pages labeled with 'getting-started'"
  • "Search for content in the DEV space about deployment"

Access Specific Content

Ask your AI assistant:

  • "Get the content of the API Authentication Guide page"
  • "Show me the onboarding checklist document"
  • "What's in our security policies page?"
  • "Display the latest release notes"

Create and Update Content

Ask your AI assistant:

  • "Create a new page in the DEV space titled 'API Guide'"
  • "Add a comment to the architecture document"
  • "Update the page content with the new release info"

CLI Commands

The CLI mirrors the MCP tools for direct terminal access. All commands support the same parameters as the tools.

Available Commands

  • get - GET any Confluence endpoint
  • post - POST to any endpoint
  • put - PUT to any endpoint
  • patch - PATCH any endpoint
  • delete - DELETE from any endpoint

CLI Parameters

All commands:

  • -p, --path <path> (required) - API endpoint path
  • -q, --query-params <json> (optional) - Query parameters as JSON
  • --jq <expression> (optional) - JMESPath filter expression
  • -o, --output-format <format> (optional) - Output format: toon (def

README truncated. View full README on GitHub.

Alternatives

Related Skills

Browse all skills
confluence

Use Atlassian MCP server to interact with Confluence (pages, spaces, search, comments). Load this when you need to perform Confluence operations. NOT for Jira - use acli for Jira.

158
jira-ai

CLI tool for interacting with Atlassian Jira and Confluence

1
confluence-assistant

Expert in Confluence operations using Atlassian MCP - automatically detects workspace Confluence configuration or prompts for site details. Use for searching, creating, updating pages, managing spaces, and adding comments with proper Markdown formatting.

0
jira-expert

Atlassian Jira expert for creating and managing projects, planning, product discovery, JQL queries, workflows, custom fields, automation, reporting, and all Jira features. Use for Jira project setup, configuration, advanced search, dashboard creation, workflow design, and technical Jira operations.

51
confluence-v2

Full Confluence Cloud REST API v2 skill (pages, spaces, folders, databases, whiteboards, comments, labels, tasks, properties, etc.) with basic/OAuth auth, pagination, and migration from confluence-cli.

5
spec-to-backlog

Automatically convert Confluence specification documents into structured Jira backlogs with Epics and implementation tickets. When Claude needs to: (1) Create Jira tickets from a Confluence page, (2) Generate a backlog from a specification, (3) Break down a spec into implementation tasks, or (4) Convert requirements into Jira issues. Handles reading Confluence pages, analyzing specifications, creating Epics with proper structure, and generating detailed implementation tickets linked to the Epic.

5