An MCP (Model Context Protocol) Server implementation for managing Confluence wiki pages.
Supports:
- Creating new wiki pages
- Updating existing wiki pages
- Deleting wiki pages
- Searching wiki pages by keyword
- Auto-selecting correct Confluence knowledge base (
alm,wpb, etc.) based on user query
Built with FastAPI, following MCP Server Best Practices, and ready for production deployment.
- Python 3.10+
- FastAPI
- MCP SDK
- Requests (for Confluence API interaction)
- ContextVars (for session management)
wiki_mcp_server/
├── src/wiki_mcp_server/
│ ├── server.py # MCP server entry point
│ ├── service.py # Business logic (Confluence API interactions)
│ ├── tools.py # MCP tool definitions
│ ├── prompts.py # MCP prompt definitions
│ ├── resources.py # MCP resource definitions
│ ├── utils.py # Helper functions (wiki_type inference etc.)
│ ├── utils/session_context.py # Session context manager
│ └── middleware.py # Authentication and session initialization middleware
├── Dockerfile # Container configuration
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── smithery.yaml # Smithery integration config (optional)
└── pyproject.toml # Python project metadata
- Clone the repository:
git clone https://your-repo-url/wiki_mcp_server.git
cd wiki_mcp_server- Install dependencies:
pip install -r requirements.txt- (Optional) Configure your environment variables if needed.
Run the server:
cd src
uvicorn wiki_mcp_server.server:app --host 0.0.0.0 --port 9999 --reloadAfter startup, you can visit:
- OpenAPI docs (Swagger UI): http://localhost:9999/docs
- ReDoc docs: http://localhost:9999/redoc
| Key | Example Value |
|---|---|
| user_name | john.doe@domain.com |
| alm_confluence_base_url | https://your-confluence-site/wiki/rest/api |
| alm_confluence_api_token | your-api-token |
| wpb_confluence_base_url | (optional if available) |
| wpb_confluence_api_token | (optional if available) |
⚠️ If headers are missing or invalid, server will return HTTP 400 error.
POST /create_page
{
"space_key": "TEST",
"title": "Test Page Created by MCP Server",
"content": "<p>Hello, World!</p>",
"user_query": "Please create a page in GSNA knowledge base."
}Behavior:
- Server will infer
wiki_type=almfrom user_query. - Create the page in Confluence and return page metadata.
- If the query mentions
gsna,global,alm-confluence→ alm - If the query mentions
wpb,wealth→ wpb - Otherwise default to alm
(You can also manually specify wiki_type in input)
Build and run containerized server:
docker build -t wiki-mcp-server .
docker run -d -p 9999:9999 --name wiki-mcp-server wiki-mcp-serverMIT License.
For issues or collaboration requests, please contact:
- Developer: Shawn
- Email: gsqasxb@gmail.com
- Project maintained by internal MCP Working Group
---# wiki_mcp_server