Skip to main content
Glama
README.mdβ€’5.4 kB
# 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 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 ```bash git clone <repository-url> cd confluence-mcp npm install ``` ### 2. Configuration Copy the example environment file and configure your Confluence credentials: ```bash cp .env.example .env ``` Edit `.env` with your Confluence details: ```env 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](https://id.atlassian.com/manage-profile/security/api-tokens) 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 ```bash # 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 ```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 ```bash fly auth login fly launch ``` ### 3. Set Secrets ```bash 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 ```bash 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 ```bash npm run build ``` ### Testing ```bash # 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

Latest Blog Posts

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/manateeit/confluence-mcp'

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