Wiki MCP Server
by MCP-Mirror
An MCP Server for managing Confluence wiki pages, supporting creating, updating, deleting, and searching pages. It leverages FastAPI and MCP SDK for production deployment.
Last updated: N/A
๐ Wiki MCP Server
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.
๐ Tech Stack
- Python 3.10+
- FastAPI
- MCP SDK
- Requests (for Confluence API interaction)
- ContextVars (for session management)
๐ฆ Project Structure
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
โ๏ธ Installation
- 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.
๐ Running Locally
Run the server:
cd src
uvicorn wiki_mcp_server.server:app --host 0.0.0.0 --port 9999 --reload
After startup, you can visit:
- OpenAPI docs (Swagger UI): http://localhost:9999/docs
- ReDoc docs: http://localhost:9999/redoc
๐งช Example Request
Headers Required:
| Key | Example Value | |:---|:---| | user_name | [email protected] | | 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.
Example: Create Page
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=alm
from user_query. - Create the page in Confluence and return page metadata.
๐ง Auto Inference Logic
- 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)
๐ณ Docker (Optional)
Build and run containerized server:
docker build -t wiki-mcp-server .
docker run -d -p 9999:9999 --name wiki-mcp-server wiki-mcp-server
๐ License
MIT License.
๐ Contact
For issues or collaboration requests, please contact:
- Developer: Shawn
- Email: [email protected]
- Project maintained by internal MCP Working Group
---# wiki_mcp_server