Skip to main content
Glama

Atlassian Confluence MCP Server

by aashari

Atlassian Confluence MCP Server

A Node.js/TypeScript Model Context Protocol (MCP) server for Atlassian Confluence Cloud. Enables AI systems (e.g., LLMs like Claude or Cursor AI) to securely interact with your Confluence spaces, pages, and content in real time.

Why Use This Server?

  • Minimal Input, Maximum Output: Simple identifiers provide comprehensive details without requiring extra flags.
  • Complete Knowledge Base Access: Give AI assistants visibility into documentation, wikis, and knowledge base content.
  • Rich Content Formatting: Automatic conversion of Atlassian Document Format to readable Markdown.
  • Secure Local Authentication: Run locally with your credentials, never storing tokens on remote servers.
  • Intuitive Markdown Responses: Well-structured, consistent Markdown formatting for all outputs.

What is MCP?

Model Context Protocol (MCP) is an open standard for securely connecting AI systems to external tools and data sources. This server implements MCP for Confluence Cloud, enabling AI assistants to interact with your Confluence content programmatically.

Prerequisites

  • Node.js (>=18.x): Download
  • Atlassian Account with access to Confluence Cloud

Setup

Step 1: Get Your Atlassian API Token

  1. Go to your Atlassian API token management page: https://id.atlassian.com/manage-profile/security/api-tokens
  2. Click Create API token.
  3. Give it a descriptive Label (e.g., mcp-confluence-access).
  4. Click Create.
  5. Copy the generated API token immediately. You won't be able to see it again.

Step 2: Configure Credentials

Edit or create ~/.mcp/configs.json:

{ "confluence": { "environments": { "ATLASSIAN_SITE_NAME": "<YOUR_SITE_NAME>", "ATLASSIAN_USER_EMAIL": "<YOUR_ATLASSIAN_EMAIL>", "ATLASSIAN_API_TOKEN": "<YOUR_COPIED_API_TOKEN>" } } }
  • <YOUR_SITE_NAME>: Your Confluence site name (e.g., mycompany for mycompany.atlassian.net).
  • <YOUR_ATLASSIAN_EMAIL>: Your Atlassian account email.
  • <YOUR_COPIED_API_TOKEN>: The API token from Step 1.
Option B: Environment Variables
export ATLASSIAN_SITE_NAME="<YOUR_SITE_NAME>" export ATLASSIAN_USER_EMAIL="<YOUR_EMAIL>" export ATLASSIAN_API_TOKEN="<YOUR_API_TOKEN>"

Step 3: Install and Run

Quick Start with npx
npx -y @aashari/mcp-server-atlassian-confluence ls-spaces
Global Installation
npm install -g @aashari/mcp-server-atlassian-confluence mcp-atlassian-confluence ls-spaces

Step 4: Connect to AI Assistant

Configure your MCP-compatible client (e.g., Claude, Cursor AI):

{ "mcpServers": { "confluence": { "command": "npx", "args": ["-y", "@aashari/mcp-server-atlassian-confluence"] } } }

MCP Tools

MCP tools use snake_case names, camelCase parameters, and return Markdown-formatted responses.

  • conf_ls_spaces: Lists accessible Confluence spaces (type: str opt, status: str opt, limit: num opt, cursor: str opt). Use: View available spaces.
  • conf_get_space: Gets detailed space information (spaceKey: str req). Use: Access space content and metadata.
  • conf_ls_pages: Lists pages with filtering (spaceIds: str[] opt, spaceKeys: str[] opt, title: str opt, status: str[] opt, sort: str opt, limit: num opt, cursor: str opt). Use: Find pages matching criteria.
  • conf_get_page: Gets comprehensive page content (pageId: str req). Use: View full page content as Markdown.
  • conf_ls_page_comments: Lists comments on a page (pageId: str req). Use: Read page discussions.
  • conf_search: Searches Confluence content (cql: str opt, query: str opt, title: str opt, spaceKey: str opt, labels: str[] opt, contentType: str opt, limit: num opt, cursor: str opt). Use: Find specific content.

conf_ls_spaces

List Global Spaces:

{ "type": "global", "status": "current", "limit": 10 }

conf_get_space

Get Space Details:

{ "spaceKey": "DEV" }

conf_ls_pages

List Pages by Space and Title:

{ "spaceKeys": ["DEV"], "title": "API Documentation", "status": ["current"], "sort": "-modified-date" }

List Pages from Multiple Spaces:

{ "spaceKeys": ["DEV", "HR", "MARKETING"], "limit": 15, "sort": "-modified-date" }

conf_get_page

Get Page Content:

{ "pageId": "12345678" }

conf_ls_page_comments

List Page Comments:

{ "pageId": "12345678" }

Simple Search:

{ "query": "release notes Q1", "spaceKey": "PRODUCT", "contentType": "page", "limit": 5 }

Advanced CQL Search:

{ "cql": "space = DEV AND label = api AND created >= '2023-01-01'" }

CLI Commands

CLI commands use kebab-case. Run --help for details (e.g., mcp-atlassian-confluence ls-spaces --help).

  • ls-spaces: Lists spaces (--type, --status, --limit, --cursor). Ex: mcp-atlassian-confluence ls-spaces --type global.
  • get-space: Gets space details (--space-key). Ex: mcp-atlassian-confluence get-space --space-key DEV.
  • ls-pages: Lists pages (--space-keys, --title, --status, --sort, --limit, --cursor). Ex: mcp-atlassian-confluence ls-pages --space-keys DEV.
  • get-page: Gets page content (--page-id). Ex: mcp-atlassian-confluence get-page --page-id 12345678.
  • ls-page-comments: Lists comments (--page-id). Ex: mcp-atlassian-confluence ls-page-comments --page-id 12345678.
  • search: Searches content (--cql, --query, --space-key, --label, --type, --limit, --cursor). Ex: mcp-atlassian-confluence search --query "security".

List Spaces

List Global Spaces:

mcp-atlassian-confluence ls-spaces --type global --status current --limit 10

Get Space

mcp-atlassian-confluence get-space --space-key DEV

List Pages

By Multiple Space Keys:

mcp-atlassian-confluence ls-pages --space-keys DEV HR MARKETING --limit 15 --sort "-modified-date"

With Title Filter:

mcp-atlassian-confluence ls-pages --space-keys DEV --title "API Documentation" --status current

Get Page

mcp-atlassian-confluence get-page --page-id 12345678

List Page Comments

mcp-atlassian-confluence ls-page-comments --page-id 12345678

Simple Search:

mcp-atlassian-confluence search --query "security best practices" --space-key DOCS --type page --limit 5

CQL Search:

mcp-atlassian-confluence search --cql "label = official-docs AND creator = currentUser()"

Response Format

All responses are Markdown-formatted, including:

  • Title: Content type and name.
  • Content: Full page content, search results, or list of items.
  • Metadata: Creator, date, labels, and other relevant information.
  • Pagination: Navigation information for paginated results.
  • Links: References to related resources when applicable.

Space List Response

# Confluence Spaces Showing **5** global spaces (current) | Key | Name | Description | |---|---|---| | [DEV](#) | Development | Engineering and development documentation | | [HR](#) | Human Resources | Employee policies and procedures | | [MARKETING](#) | Marketing | Brand guidelines and campaign materials | | [PRODUCT](#) | Product | Product specifications and roadmaps | | [SALES](#) | Sales | Sales processes and resources | *Retrieved from mycompany.atlassian.net on 2025-05-19 14:22 UTC* Use `cursor: "next-page-token-123"` to see more spaces.

Page Content Response

# API Authentication Guide **Space:** [DEV](#) (Development) **Created by:** Jane Smith on 2025-04-01 **Last updated:** John Doe on 2025-05-15 **Labels:** api, security, authentication ## Overview This document outlines the authentication approaches supported by our API platform. ## Authentication Methods ### OAuth 2.0 We support the following OAuth 2.0 flows: 1. **Authorization Code Flow** - For web applications 2. **Client Credentials Flow** - For server-to-server 3. **Implicit Flow** - For legacy clients only ### API Keys Static API keys are supported but discouraged for production use due to security limitations: | Key Type | Use Case | Expiration | |---|---|---| | Development | Testing | 30 days | | Production | Live systems | 90 days | ## Implementation Examples import requests def get_oauth_token(): return requests.post( 'https://api.example.com/oauth/token', data={ 'client_id': 'YOUR_CLIENT_ID', 'client_secret': 'YOUR_CLIENT_SECRET', 'grant_type': 'client_credentials' } ).json()['access_token'] *Retrieved from mycompany.atlassian.net on 2025-05-19 14:25 UTC*

Development

# Clone repository git clone https://github.com/aashari/mcp-server-atlassian-confluence.git cd mcp-server-atlassian-confluence # Install dependencies npm install # Run in development mode npm run dev:server # Run tests npm test

Contributing

Contributions are welcome! Please:

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/xyz).
  3. Commit changes (git commit -m "Add xyz feature").
  4. Push to the branch (git push origin feature/xyz).
  5. Open a pull request.

See CONTRIBUTING.md for details.

License

ISC License

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

A Model Context Protocol server that enables AI assistants like Claude to access and search Atlassian Confluence content, allowing integration with your organization's knowledge base.

  1. Why Use This Server?
    1. What is MCP?
      1. Prerequisites
        1. Setup
          1. Step 1: Get Your Atlassian API Token
          2. Step 2: Configure Credentials
          3. Step 3: Install and Run
          4. Step 4: Connect to AI Assistant
        2. MCP Tools
          1. conf_ls_spaces
          2. conf_get_space
          3. conf_ls_pages
          4. conf_get_page
          5. conf_ls_page_comments
          6. conf_search
        3. CLI Commands
          1. List Spaces
          2. Get Space
          3. List Pages
          4. Get Page
          5. List Page Comments
          6. Search
        4. Response Format
          1. Space List Response
          2. Page Content Response
        5. Development
          1. Contributing
            1. License

              Related MCP Servers

              • -
                security
                F
                license
                -
                quality
                A comprehensive suite of Model Context Protocol servers designed to extend AI agent Claude's capabilities with integrations for knowledge management, reasoning, advanced search, news access, and workspace tools.
                Last updated -
                5
                TypeScript
                • Apple
              • A
                security
                F
                license
                A
                quality
                A Model Context Protocol server that connects Claude and other AI assistants to your Notion workspace, allowing AIs to interact with databases, pages, and blocks.
                Last updated -
                12
                64
                10
                JavaScript
                • Apple
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that connects AI assistants like Claude to Notion workspaces, enabling them to view, search, create, and update Notion databases, pages, and content blocks.
                Last updated -
                275
                JavaScript
                • Apple
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables AI assistants like Claude to interact with Outline document services, supporting document searching, reading, creation, editing, and comment management.
                Last updated -
                25
                19
                Python
                MIT License

              View all related MCP servers

              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/aashari/mcp-server-atlassian-confluence'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server