Confluence

by dsazz

Not rated
GitHub

About

Integrate with Atlassian Confluence to access spaces, search pages, and manage content from any MCP-compatible application.

Details

Author
dsazz
Categories
Productivity, Other, Knowledge Base, Search
Tags
#confluence

Setup

Install Confluence in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/dsazz/mcp-confluence

Follow the installation instructions in the repository README, then restart your MCP client.

📚Access Confluence Directly From Your Editor

- Browse your Confluence spaces without leaving your IDE
- Get detailed page information with formatted content
- Navigate page hierarchies with child page discovery
- Create, update, and manage Confluence content directly

- Search pages using text queries or advanced CQL (Confluence Query Language)
- Support for space filtering, content type filtering, and result ordering
- Rich markdown formatting with page previews and direct links
- Renamedconfluence_search_pagestoconfluence_searchfor simplicity

- Automatic conversion of Confluence's storage format to readable markdown
- Support for formatted text, tables, macros, and attachments
- Full CRUD operations for page management
- Strategic workflow tools for better user experience

The easiest way to use this MCP server is to install it directly via npm/bunx. No local setup required!

Add this configuration to your Claude Desktop MCP settings:

{ "mcpServers": { "Confluence Tools": { "command": "bunx", "args": ["-y", "@dsazz/mcp-confluence@latest"], "env": { "CONFLUENCE_HOST_URL": "https://your-domain.atlassian.net", "CONFLUENCE_USER_EMAIL": "your-email@example.com", "CONFLUENCE_API_TOKEN": "your-confluence-api-token" } } } }

Add this configuration to your Cursor IDE MCP settings:

{ "mcpServers": { "Confluence Tools": { "command": "bunx", "args": ["-y", "@dsazz/mcp-confluence@latest"], "env": { "CONFLUENCE_HOST_URL": "https://your-domain.atlassian.net", "CONFLUENCE_USER_EMAIL": "your-email@example.com", "CONFLUENCE_API_TOKEN": "your-confluence-api-token" } } } }

Use this configuration pattern for any MCP-compatible client:

{ "mcpServers": { "Confluence Tools": { "command": "bunx", "args": ["-y", "@dsazz/mcp-confluence@latest"], "env": { "CONFLUENCE_HOST_URL": "https://your-domain.atlassian.net", "CONFLUENCE_USER_EMAIL": "your-email@example.com", "CONFLUENCE_API_TOKEN": "your-confluence-api-token" } } } }

- Go toAtlassian API Tokens
- Click "Create API token"
- Give it a name (e.g., "MCP Confluence")
- Copy the token and use it in your configuration
- Important: Use the token exactly as provided (no quotes needed in the env section)

If you prefer npx over bunx, you can also use:

{ "mcpServers": { "Confluence Tools": { "command": "npx", "args": ["-y", "@dsazz/mcp-confluence@latest"], "env": { "CONFLUENCE_HOST_URL": "https://your-domain.atlassian.net", "CONFLUENCE_USER_EMAIL": "your-email@example.com", "CONFLUENCE_API_TOKEN": "your-confluence-api-token" } } } }

- Restart your MCP client (Claude Desktop, Cursor, etc.)
- Try this command to test the connection:

Show me my Confluence spaces.

That's it! You're ready to use Confluence directly from your MCP client.

# Clone the repository git clone https://github.com/Dsazz/mcp-confluence.git cd mcp-confluence # Install dependencies bun install # Build the project bun run build # Set up environment variables cp .env.example .env # Edit .env with your Confluence credentials

Create a.envfile with the following variables:

CONFLUENCE_HOST_URL=https://your-domain.atlassian.net CONFLUENCE_USER_EMAIL=your-email@example.com CONFLUENCE_API_TOKEN=your-confluence-api-token NODE_ENV=development

The project usesBiomefor code formatting and linting, replacing the previous ESLint setup. Biome provides:

- Fast, unified formatting and linting
- TypeScript-first tooling
- Zero configuration needed
- Consistent code style enforcement

# Format code bun format # Check code for issues bun check # Type check bun typecheck

The MCP Inspector is a powerful tool for testing and debugging your MCP server.

# Run the inspector (no separate build step needed) bun run inspect

- Loads environment variables from.env
- Cleans up occupied ports (5175, 3002)
- Builds the project when needed
- Starts the MCP server with your configuration
- Launches the inspector UI

Visit the inspector athttp://localhost:5175?proxyPort=3002

- View all available MCP capabilities
- Execute tools and examine responses
- Analyze the JSON communication
- Test with different parameters

For more details, see the[MCP Inspector GitHub repository.

Theconfluence_get_spacestool supports these parameters:

- type: String ("global"or"personal", optional) - Filter by space type
- limit: Number (1-100, default: 25) - Maximum number of spaces to return
- start: Number (default: 0) - Pagination offset for large result sets

# Basic usage - get all accessible spaces confluence_get_spaces # Get only global spaces confluence_get_spaces type:"global" limit:10 # Pagination example confluence_get_spaces start:25 limit:25

Theconfluence_get_pagetool supports these parameters:

- pageId: String - The ID of the page to retrieve

- includeContent: Boolean (default: true) - Include full page content
- includeComments: Boolean (default: false) - Include comment count
- expand: String (optional) - Additional fields to expand (comma-separated)

# Basic usage with content confluence_get_page 12345 # Get page without content confluence_get_page 12345 includeContent:false # Get page with comments and extra data confluence_get_page 12345 includeComments:true expand:"version,space"

Theconfluence_searchtool supports both simple and advanced search:

- query: String - Text search query (searches titles and content)
- spaceKey: String (optional) - Limit search to specific space
- type: String ("page"or"blogpost", optional) - Content type filter

- query: String - Full CQL query for advanced searches
- Examples:text~"specific phrase",type=page AND space.key="DEV"

- limit: Number (1-100, default: 25) - Maximum number of results
- start: Number (default: 0) - Pagination offset
- orderBy: String ("relevance","created","modified","title") - Sort order

# Simple text search confluence_search query:"project documentation" # Search in specific space confluence_search query:"API guide" spaceKey:"DEV" # Advanced CQL search confluence_search query:'text~"user guide" AND type=page' # Search with custom ordering confluence_search query:"meeting notes" orderBy:"modified" limit:10

Page Creation(confluence_create_page):

- spaceId: String - The ID of the space where the page will be created
- title: String - The title of the new page
- content: String - The content of the page (supports Confluence storage format)
- parentPageId: String (optional) - The ID of the parent page
- status: String ("current"or"draft", default:"current") - Page status

- pageId: String - The ID of the page to update
- title: String (optional) - New title for the page
- content: String (optional) - New content for the page
- versionNumber: Number - Current version number of the page
- versionMessage: String (optional) - Message describing the changes

# Create a new page confluence_create_page spaceId:"123456" title:"New Documentation" content:"<p>Initial content</p>" # Update an existing page confluence_update_page pageId:"789012" title:"Updated Title" content:"<p>Updated content</p>" versionNumber:2 # Get child pages for navigation confluence_get_child_pages pageId:"123456" limit:10
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.