README Documentation
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
Tools Available
confluence_list_spaces
- List all available Confluence spacesconfluence_list_pages
- List pages in a specific spaceconfluence_create_page
- Create new pages from Markdown contentconfluence_update_page
- Update existing pages with new contentconfluence_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
- Go to Atlassian Account Settings
- Click "Create API token"
- Give it a label and copy the token
- 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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source