๐ 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:
๐งช Example Request
Headers Required:
โ ๏ธ 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": "Hello, World!",
"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: gsqasxb@gmail.com
- Project maintained by internal MCP Working Group
---# wiki_mcp_server