md2confluence
MCP server to upload Markdown to Confluence. Auto-converts Mermaid diagrams, code blocks, images, and tables.
claude mcp add --transport stdio gyeom-md2confluence-mcp npx -y md2confluence-mcp \ --env CONFLUENCE_URL="https://your-domain.atlassian.net/wiki" \ --env CONFLUENCE_EMAIL="your@email.com" \ --env CONFLUENCE_TOKEN="YOUR_API_TOKEN"
How to use
md2confluence-mcp is a Node-based MCP server that converts Markdown content into Confluence-friendly HTML, rendering Mermaid diagrams via Kroki, converting code blocks to Confluence code macros, and attaching images as page attachments. It exposes a set of tools for managing Confluence pages: upload_page to create new pages from Markdown, update_page to modify existing pages, create_child_page to add sub-pages, sync_file to synchronize local files with an existing page, list_spaces to enumerate Confluence spaces, and search_pages to locate pages. After configuring the MCP with your Confluence credentials, you can instruct the MCP to upload a Markdown file to a target space or page by providing natural language prompts such as uploading a document to a specific Confluence space, updating an existing page with new content, or creating a sub-page under a given parent page. The server handles parsing, rendering Mermaid diagrams via kroki.io, converting the content to Confluence storage format, uploading the page through the REST API, and attaching any referenced images.
How to install
Prerequisites:\n- Node.js and npm installed on your system (Node.js v14+ is commonly used).\n- Access to a Confluence Cloud instance and a generated API token (CONFLUENCE_TOKEN).\n- Knowledge of the target Confluence URL, space, and appropriate permissions to create/update pages.\n\nInstallation steps:\n1) Clone the repository (or integrate via MCP in Claude Code).\n2) Install dependencies:\nbash\ngit clone https://github.com/Gyeom/md2confluence-mcp.git\ncd md2confluence-mcp\nnpm install\n\n3) Build the project (if a build step exists):\nbash\nnpm run build\n\n4) Configure MCP for your environment. You can use the Claude Code settings or a project .mcp.json file as shown in the README:\njson\n{\n "mcpServers": {\n "confluence": {\n "command": "npx",\n "args": ["-y", "md2confluence-mcp"],\n "env": {\n "CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki",\n "CONFLUENCE_EMAIL": "your@email.com",\n "CONFLUENCE_TOKEN": "YOUR_API_TOKEN"\n }\n }\n }\n}\n\n5) Run locally (example using environment vars):\nbash\nCONFLUENCE_URL=https://your-domain.atlassian.net/wiki \\nCONFLUENCE_EMAIL=your@email.com \\nCONFLUENCE_TOKEN=YOUR_API_TOKEN \\nnpm start\n\n6) After setup, you can issue MCP prompts to upload or update Markdown content to Confluence using the supported tools.
Additional notes
Environment variables CONFLUENCE_URL, CONFLUENCE_EMAIL, and CONFLUENCE_TOKEN are required. Keep your API token secure and rotate it if necessary. When using npx, md2confluence-mcp is fetched at runtime; ensure network access to npm registries. If Mermaid diagrams fail to render, verify Kroki integration and network access. For large Markdown files, consider splitting content to manage page size limits and attachment quotas.
Related MCP Servers
mcp-arr
MCP server for *arr media management suite
mcp-mermaid-validator
A Model Context Protocol server that validates and renders Mermaid diagrams.
crawlbase
Crawlbase MCP Server connects AI agents and LLMs with real-time web data. It powers Claude, Cursor, and Windsurf integrations with battle-tested web scraping, JavaScript rendering, and anti-bot protection enabling structured, live data inside your AI workflows.
docmole
Dig through any documentation with AI - MCP server for Claude, Cursor, and other AI assistants
llms-txt-generator
The ultimate AI-powered generator for llms.txt and llms-full.txt files.
obsidian
MCP server for Obsidian vault management - enables Claude and other AI assistants to read, write, search, and organize your notes