Skip to main content
Glama

Confluence MCP Server

A Model Context Protocol (MCP) server that enables AI assistants to interact with Confluence, converting Markdown documents to professionally styled Confluence pages with Mermaid diagram support.

Features

  • πŸ”„ SSE Server: Real-time Server-Sent Events for live progress updates

  • πŸ“ Markdown to Confluence: Convert Markdown content to Confluence storage format

  • πŸ“Š Mermaid Diagrams: Render Mermaid diagrams as images in Confluence pages

  • 🎨 Professional Styling: Modern, clean page layouts

  • πŸ’Ύ Smart Caching: Local cache to link markdown files to Confluence pages

  • πŸ”’ Secure Authentication: Confluence API token authentication

  • ☁️ Fly.io Ready: Optimized for deployment on Fly.io

Related MCP server: Confluence MCP Server

Tools Available

  • confluence_list_spaces - List all available Confluence spaces

  • confluence_list_pages - List pages in a specific space

  • confluence_create_page - Create new pages from Markdown content

  • confluence_update_page - Update existing pages with new content

  • confluence_delete_page - Delete pages and clean up cache

Quick Start

1. Installation

git clone <repository-url>
cd confluence-mcp
npm install

2. Configuration

Copy the example environment file and configure your Confluence credentials:

cp .env.example .env

Edit .env with your Confluence details:

CONFLUENCE_BASE_URL=https://your-domain.atlassian.net
CONFLUENCE_USERNAME=your-email@domain.com
CONFLUENCE_API_TOKEN=your-api-token
MCP_API_KEY=your-mcp-api-key
PORT=3001

3. Get Confluence API Token

  1. Go to Atlassian Account Settings

  2. Click "Create API token"

  3. Give it a label and copy the token

  4. Use your email as username and the token as password

4. Run the Server

# Development
npm run dev

# Production
npm run build
npm start

The server will be available at http://localhost:3001

Usage Examples

Create a Page from Markdown

# My Documentation

This is a sample page with a Mermaid diagram:

```mermaid
graph TD
    A[Start] --> B[Process]
    B --> C[End]

Some bold text and italic text.


The MCP server will:
1. Convert the Markdown to Confluence storage format
2. Render the Mermaid diagram as a PNG image
3. Create a professionally styled page
4. Cache the mapping for future updates

### Update an Existing Page

When you update a markdown file, the server can automatically update the corresponding Confluence page using the cached mapping.

## API Endpoints

### SSE Endpoints

- `GET /mcp` - Establish SSE connection for MCP protocol
- `POST /messages` - Send MCP messages (requires sessionId)

### Health Check

- `GET /health` - Server health status

## Deployment on Fly.io

### 1. Install Fly CLI

```bash
# macOS
brew install flyctl

# Other platforms: https://fly.io/docs/getting-started/installing-flyctl/

2. Login and Initialize

fly auth login
fly launch

3. Set Secrets

fly secrets set CONFLUENCE_BASE_URL=https://your-domain.atlassian.net
fly secrets set CONFLUENCE_USERNAME=your-email@domain.com
fly secrets set CONFLUENCE_API_TOKEN=your-api-token
fly secrets set MCP_API_KEY=your-mcp-api-key

4. Deploy

fly deploy

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   AI Assistant  │◄──►│   MCP Server     │◄──►│   Confluence    β”‚
β”‚                 β”‚    β”‚   (SSE/HTTP)     β”‚    β”‚      API        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                       β”‚  Local Cache     β”‚
                       β”‚  (JSON file)     β”‚
                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Development

Project Structure

confluence-mcp/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ index.ts              # Entry point
β”‚   β”œβ”€β”€ server.ts             # MCP server with SSE support
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ confluence-client.ts    # Confluence API client
β”‚   β”‚   β”œβ”€β”€ markdown-converter.ts   # Markdown to Confluence converter
β”‚   β”‚   └── mermaid-renderer.ts     # Mermaid diagram renderer
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   β”œβ”€β”€ cache.ts          # Local cache management
β”‚   β”‚   └── config.ts         # Configuration management
β”‚   └── types/
β”‚       └── index.ts          # TypeScript type definitions
β”œβ”€β”€ fly.toml                  # Fly.io configuration
β”œβ”€β”€ package.json
└── tsconfig.json

Building

npm run build

Testing

# Test health endpoint
curl http://localhost:3001/health

# Test SSE connection
curl -N http://localhost:3001/mcp

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests if applicable

  5. Submit a pull request

License

MIT License - see LICENSE file for details

Related MCP Connectors

Related MCP Servers