mcp-conf-server
Provides tools for interacting with self-hosted Confluence Server / Data Center via its REST API, including authentication status, CQL search, listing and retrieving spaces, reading/creating/updating/trashing pages, listing child pages, and managing comments and labels.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-conf-server search Confluence for pages about onboarding and show the first result"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-conf-server
MCP server for self-hosted Confluence Server / Data Center, based on mcp-jira-server. Uses Confluence REST API and stdio transport. Requires Node.js 22+.
Install and run
npm install
npm testConfigure your MCP client (replace the absolute path and environment values):
{
"mcpServers": {
"confluence": {
"command": "node",
"args": ["/absolute/path/mcp-conf-server/build/index.js"],
"env": {
"CONFLUENCE_BASE_URL": "https://confluence.example.com",
"CONFLUENCE_PAT": "your-personal-access-token"
}
}
}
}Include a context path in the base URL when needed, e.g. https://example.com/confluence. Cloud API-token authentication is not implemented.
Alternatively set CONFLUENCE_COOKIE, or CONFLUENCE_AUTH_MODE=browser for SSO through installed Chrome. Call conf_browser_login, complete sign-in, then retry. Browser options: CONFLUENCE_BROWSER_LOGIN_URL, CONFLUENCE_BROWSER_PROFILE, CONFLUENCE_BROWSER_CHANNEL. Browser profile defaults to ~/.mcp-conf-server/chrome-profile; protect it as a credential.
Related MCP server: ctk
Tools
Browser login and authentication status; current user.
CQL search, list spaces, get space.
Read, create, update and trash pages; list child pages.
Read/add comments, read/add labels.
All tool names use the conf_ prefix. List tools to inspect exact input schemas. Bodies use Confluence storage XHTML. Updates require currentVersion obtained from conf_get_page; conflicts are surfaced without retry. List/search operations return one page and preserve pagination metadata; use start and limit for subsequent pages. Server permissions still apply.
Validation
npm test checks TypeScript and builds the executable. Real-instance authentication and write operations require a configured Confluence instance and have not been tested by this project bootstrap.
API reference: https://developer.atlassian.com/server/confluence/rest/latest/
MIT license; retains the upstream license attribution.
Publishing to npm
The .github/workflows/publish.yml workflow publishes @apo100l/mcp-conf-server on version tags (v*.*.*) or manual dispatch. It installs dependencies, verifies tag/version agreement, runs checks, inspects package contents, and publishes publicly using npm trusted publishing (OIDC).
In npm package settings, configure a GitHub Actions trusted publisher:
Owner:
apo100lRepository:
mcp-conf-serverWorkflow filename:
publish.ymlEnvironment: leave empty
Allow publishing
If the package does not yet exist on npm, publish its first version locally with an authorized npm account (npm login, then npm publish --access public), then configure the trusted publisher. No NPM_TOKEN repository secret is needed for subsequent workflow releases.
For the next release:
npm run release:patch
git push origin main --follow-tagsFor an initial tag matching the existing version, use git tag v0.1.0 and git push origin v0.1.0 only if that version has not already been published. Published npm versions cannot be overwritten; manual dispatch also attempts to publish the version in package.json.
Reference: https://docs.npmjs.com/trusted-publishers/
Available Tools
15 toolsconf_add_commentCDestructive
Add comment using storage XHTML
Inputs: body (required), pageId (required).
conf_add_labelCDestructive
Add global label
Inputs: label (required), pageId (required).
conf_browser_auth_statusCRead-onlyIdempotent
Check browser authentication
Inputs: no named parameters.
conf_browser_loginBRead-onlyIdempotent
Open browser for Confluence SSO sign-in
Inputs: no named parameters.
conf_create_pageCDestructive
Create page; body must be Confluence storage XHTML
Inputs: body (required), title (required), spaceKey (required), parentId.
conf_delete_pageCDestructive
Move a page to trash
Inputs: pageId (required).
conf_get_childrenCRead-onlyIdempotent
List child pages (one page)
Inputs: pageId (required), limit, start.
conf_get_commentsCRead-onlyIdempotent
List page comments (one page)
Inputs: pageId (required), limit, start.
conf_get_current_userBRead-onlyIdempotent
Get authenticated user
Inputs: no named parameters.
conf_get_labelsCRead-onlyIdempotent
List labels (one page)
Inputs: pageId (required), limit, start.
conf_get_pageBRead-onlyIdempotent
Read page with storage XHTML body, version and ancestors
Inputs: pageId (required).
conf_get_spaceCRead-onlyIdempotent
Get space details
Inputs: spaceKey (required).
conf_get_spacesCRead-onlyIdempotent
List spaces (one page)
Inputs: limit, start.
conf_searchCRead-onlyIdempotent
Search content using CQL; returns one page with pagination metadata
Inputs: cql (required), limit, start.
conf_update_pageBDestructive
Update page using the current version returned by get_page. Conflicts are returned without retry.
Inputs: body (required), title (required), pageId (required), currentVersion (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 15 tools
Each tool maps to a distinct resource+action pair: auth (login/auth_status/current_user), spaces, pages, children, comments, labels. The only near-overlap is conf_browser_auth_status vs. conf_get_current_user, but the descriptions make the split clear (browser session state vs. resolved identity).
Strong conf_ namespace with consistent verb_noun forms (get_page, create_page, update_page, delete_page, add_comment, get_labels). Minor deviations: conf_search lacks a noun, and the two browser auth tools use a noun_first pattern (browser_login, browser_auth_status).
15 tools sits in the sweet spot and each one earns its place across six coherent sub-areas (auth, search, spaces, pages, comments, labels). Nothing feels duplicated or padded.
Page lifecycle is fully covered (create/get/update/delete plus children), but comments and labels are add-only with no update/delete, spaces are read-only, and attachments/version history—core Confluence concepts—are entirely absent. Agents will hit dead ends for cleanup or binary content workflows.
Maintenance
Related MCP Connectors
Confluence MCP — wraps the Confluence Cloud REST API v2 (OAuth)
Read and write Mission Control state via MCP — projects, tasks, subtasks, templates, status updates.
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Unofficial community ClickUp MCP via personal API token. Not affiliated with ClickUp.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server implementation for interacting with self-hosted Confluence Data Center or Server instances via search, content retrieval, and optional write operations. It features space auto-discovery, audit logging, and granular access control for secure enterprise collaboration.-
- AlicenseBqualityDmaintenanceConfluence CLI & MCP Server — dual-mode Go binary for Confluence Cloud with 7 tools, folder CRUD, page diff, and write gating.81Apache 2.0
- AlicenseBqualityDmaintenanceMCP server for administering Atlassian Confluence Cloud wiki pages, supporting CRUD operations, page navigation, comments, attachments, and more.621GPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible clients to search, read, and manage Confluence Cloud pages, including publishing and updating documentation from Markdown, with support for folders and secure API token storage.3MIT