confluence-mini-mcp
Crawls Confluence page trees, follows internal and external links, and caches pages as Markdown. Provides tools for searching, retrieving, listing, and refreshing cached Confluence pages.
Integrates with Slack through the nanobot framework, allowing users to search and retrieve Confluence content directly from Slack.
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., "@confluence-mini-mcp search for latest engineering updates"
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.
confluence-mini-mcp
Lightweight MCP server that crawls Confluence subtrees and serves cached Markdown. Works with Claude Code and nanobot (Slack) via stdio.
Claude Code config
{
"mcpServers": {
"confluence-docs": {
"command": "uvx",
"args": ["--from", "git+https://github.com/bonkey/confluence-mini-mcp", "confluence-mini-mcp"],
"env": {
"CONFLUENCE_BASE_URL": "https://company.atlassian.net/wiki",
"CONFLUENCE_EMAIL": "you@company.com",
"CONFLUENCE_API_TOKEN": "...",
"CONFLUENCE_ROOT_PAGE_IDS": "123456,789012"
}
}
}
}Pin to a tag: "--from", "git+https://github.com/bonkey/confluence-mini-mcp@v0.1.1"
Related MCP server: confluence-mcp-server
Nanobot config
[mcp.confluence]
command = "uvx"
args = ["--from", "git+https://github.com/bonkey/confluence-mini-mcp", "confluence-mini-mcp"]
env = { CONFLUENCE_BASE_URL = "https://company.atlassian.net/wiki", CONFLUENCE_EMAIL = "you@company.com", CONFLUENCE_API_TOKEN = "...", CONFLUENCE_ROOT_PAGE_IDS = "123456,789012" }Tools
Tool | Description |
| Keyword search across cached pages (title 10x weight) |
| Full Markdown content by page ID (Confluence or external) |
| Index of all cached pages (optional space_key filter) |
| Force re-crawl, bypass TTL |
Crawling
The crawler walks a graph, not just a tree:
Child pages — standard parent → children traversal
Linked Confluence pages — any internal link in page content is followed (enables a single "hub page" linking to multiple subtrees)
External HTTP links — fetched as Markdown (1 level deep, follows redirects only)
In-page directives
Add a [confluence-mcp] block anywhere on a Confluence page to control crawl behaviour for that subtree:
[confluence-mcp]
max_depth=3
follow_links=false
follow_external=trueDirective | Default | Description |
| (global config) | Override crawl depth from this page down |
|
| Follow linked Confluence pages in content |
|
| Fetch external HTTP links in content |
The directive block is stripped from the Markdown output — agents never see it.
Configuration
All settings via env vars or confluence-mini-mcp.toml:
Env var | Description | Default |
| Wiki base URL | required |
| Atlassian email | required |
| API token | required |
| Comma-separated root page IDs | required |
| Cache directory |
|
| Cache max age |
|
| Max crawl depth |
|
| Max pages to crawl |
|
| Background refresh interval (0=off) |
|
| Fake cache mode, no API calls |
|
Development
just dev # run in dry-run mode
just check # format + test
just release # tag + pushAvailable Tools
4 toolsget_pageA
Retrieve the full Markdown content of a specific page by ID.
Use this after search_pages to read the complete content of a result. Pages may be Confluence pages or crawled external websites.
Args: page_id: The page ID from search_pages or list_pages results.
Inputs: page_id (required). Returns: object
list_pagesB
List all cached pages, optionally filtered by space key.
Args: space_key: Optional space key to filter by.
Inputs: space_key. Returns: result
refresh_cacheA
Force an immediate re-crawl of all configured subtrees, bypassing TTL and version checks.
Inputs: no named parameters. Returns: object
search_pagesA
Full-text search across all cached Confluence pages and external links.
Returns short snippets only. IMPORTANT: Always call get_page on relevant results to read the full content before answering questions. The snippet is just a preview — the full page often contains the information you need.
Args: query: Space-separated keywords to search for. Try single key terms first; the search supports prefix matching. limit: Max results to return (default 10, max 20).
Inputs: query (required), limit. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
list_pages and search_pages both surface pages, but they differ by enumeration vs full-text query and are clearly documented. get_page and refresh_cache have non-overlapping cache-read and cache-maintenance roles, so misselection is unlikely.
All four tools follow a consistent snake_case verb_noun pattern: list_pages, refresh_cache, search_pages, get_page. There is no mixing of naming conventions.
Four tools are well-scoped for a mini read-oriented Confluence cache MCP. Each tool has a distinct role: enumerate, search, retrieve, and refresh, with no redundant tools.
The set covers the core read path: list cached pages, search them, and fetch full page content. It lacks page creation/update/delete, but as a mini cache reader this is a reasonable scope with only minor gaps.
Related MCP Connectors
Document-to-Markdown MCP server — convert PDF, Office and HTML into LLM-ready Markdown.
Web scraping MCP server: any URL to Markdown or JSON, with JavaScript rendering and batch jobs.
Read-only MCP server for the OrchestKit docs: full-text search + Markdown fetch. No auth.
Document conversion MCP server: PDF to Markdown, image OCR, spreadsheet parsing.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables querying and interacting with a Markdown wiki generated from Confluence pages, with search and MCP server for LLM access.104MIT
- AlicenseAqualityDmaintenanceMCP server for Confluence Cloud/Server/Data Center, enabling page search, CQL queries, page CRUD, attachment upload, and user identity lookup.23404 npm4MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for searching and retrieving pages from Atlassian Confluence.35 npm1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for reading Confluence Server/DC documents with search, page content, metadata, spaces, page tree, and attachment/image support.11 npmMIT