inhouse_confluence_mcp
An 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.
README
inhouse_confluence_mcp
In-house Confluence (Data Center/Server) MCP server implementation. Default mode is read-only, and write tools are controlled by policy.
Tools
confluence_list_spacesconfluence_search_cqlconfluence_get_contentconfluence_get_labelsconfluence_get_childrenconfluence_get_attachmentsconfluence_get_commentsconfluence_scan_contentconfluence_get_likes(experimental, off by default)confluence_create_page(write, off by default)confluence_update_page(write, off by default)confluence_add_label(write, off by default)confluence_add_comment(write, off by default)
Quick Start
- Copy
.env.exampleto.env - Set required values:
CONFLUENCE_BASE_URLCONFLUENCE_AUTH_MODE(patorbasic)CONFLUENCE_PATorCONFLUENCE_USERNAME/CONFLUENCE_PASSWORD
- Install and run:
python -m pip install -e .
confluence-mcp
Or:
python -m confluence_mcp.main
OpenCode Registration
Use OpenCode local MCP config with a command array and environment object.
{
"mcp": {
"inhouse-confluence": {
"type": "local",
"command": [
"C:\\Users\\jae_chul.lee\\inhouse_confluence_mcp\\.venv\\Scripts\\python.exe",
"-m",
"confluence_mcp.main",
"--env-file",
"C:\\Users\\jae_chul.lee\\inhouse_confluence_mcp\\.env"
],
"environment": {
"PYTHONIOENCODING": "utf-8"
}
}
}
}
Notes:
- Do not rely on
Activate.ps1in MCP commands. - Prefer direct venv python path.
--env-filemakes startup independent fromcwd.- Optional override: set
CONFLUENCE_MCP_ENV_FILEinenvironment.
.env Loading Rules
On startup, the server looks for .env in this order:
--env-filepathCONFLUENCE_MCP_ENV_FILE- Current working directory (
.env,.env.local) - Python executable neighborhood (useful for
.venvlayout) - Project/module directory
If no file is found, startup logs searched paths.
Space Auto-Discovery
- If
ALLOWED_SPACESis empty andAUTO_DISCOVER_SPACES=true, the server auto-loads available space keys on startup. DENIED_SPACESis optional. Use it only when you need an explicit sensitive-space blocklist.- To generate a ready-to-copy env line manually:
confluence-mcp-sync-spaces
- Output file:
logs/spaces_discovered.json
Recommended Settings
- Keep
WRITE_ENABLED=falseinitially - Configure
ALLOWED_SPACESfirst - Add
DENIED_SPACESonly for sensitive spaces - Keep
EXPERIMENTAL_LIKES=falseunless needed
Logs
- Audit log path:
AUDIT_LOG_PATH(default:logs/audit.jsonl) - Fields: timestamp, tool, status, latencyMs, traceId, error
Tests
python -m unittest discover -s tests -v
Tool Probe on Startup
- By default, the server probes API permissions at startup and exposes only reachable tools.
- Toggle all probes with
TOOL_PROBE_ON_STARTUP=true|false. - Disable only space probe with
SPACE_PROBE_ON_STARTUP=false. - When
SPACE_PROBE_ON_STARTUP=false, user-declaredALLOWED_SPACESis trusted for policy checks. - If
/rest/api/spaceis blocked,confluence_list_spacesis hidden. - If
/rest/api/content/searchis blocked, read/write content tools are hidden.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.