Confluence MCP Server
raw JSON → 1.3.0 verified Sat Apr 25 auth: no javascript
Confluence MCP Server (v1.3.0) is a Model Context Protocol server enabling AI agents to search, read, create, update, and upload attachments to Atlassian Confluence (Cloud, Server, Data Center). It provides 15+ tools including CQL search, page sections, anchor-based updates, and preview-confirm two-phase modification to reduce token usage and prevent conflicts. Unique features include section-level updates, Anchor macro support, and automatic version increment. Cloud uses Basic auth, Server supports Bearer or Basic. Requires Node 18+ and a Confluence instance.
Common errors
error Error: CONF_MODE must be either 'cloud' or 'server' ↓
cause Missing or invalid CONF_MODE environment variable.
fix
Set CONF_MODE to 'cloud' or 'server' in your MCP client config or environment.
error Error: Cannot read properties of undefined (reading 'start') ↓
cause The default import is not a class; the module exports a function that returns an object with start().
fix
Use import confluenceMCP from 'confluence-mcp-server' and call confluenceMCP({...}).start()
error Error: invalid content type for attachment: must be 'multipart/form-data' ↓
cause Using the wrong request format for attachment upload; the server expects multipart.
fix
Use confluence_upload_attachment with local file path or base64; the MCP server handles encoding.
Warnings
breaking Node.js version < 18 is not supported; engine requirement is >=18 ↓
fix Upgrade Node.js to 18 or later.
deprecated confluence_update_page_section without confirmation (older versions) may cause silent overwrites ↓
fix Use preview-confirm pattern: confluence_preview_page_section_update followed by confluence_update_page_section_confirmed.
gotcha Cloud mode requires CONF_USERNAME and CONF_TOKEN (API token), not password. Using CONF_PASSWORD will fail. ↓
fix Set CONF_USERNAME to your email and CONF_TOKEN to your Confluence API token.
gotcha Server mode default auth is Bearer, not Basic. Set CONF_AUTH_MODE=basic to use password-based auth. ↓
fix Configure CONF_AUTH_MODE=basic if using username/password for Confluence Server.
gotcha confluence_update_page_section and confirmed variants perform a full page read + write under the hood; each call counts as two API requests. ↓
fix Use preview step to avoid unnecessary writes; batch updates when possible.
Install
npm install confluence-mcp-server yarn add confluence-mcp-server pnpm add confluence-mcp-server Imports
- default export wrong
import { confluenceMCP } from 'confluence-mcp-server'correctimport confluenceMCP from 'confluence-mcp-server' - confluenceMCP wrong
const { confluenceMCP } = require('confluence-mcp-server')correctconst confluenceMCP = require('confluence-mcp-server')
Quickstart
import confluenceMCP from 'confluence-mcp-server';
const server = confluenceMCP({
mode: 'server',
baseUrl: process.env.CONF_BASE_URL ?? 'https://confluence.example.com',
username: process.env.CONF_USERNAME ?? '',
token: process.env.CONF_TOKEN ?? ''
});
// start the MCP server
server.start().catch(console.error);