albertshao/wiki_mcp_server
If you are the rightful owner of wiki_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
An MCP (Model Context Protocol) Server implementation for managing Confluence wiki pages.
π 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 | |
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:
- Project maintained by internal MCP Working Group
---# wiki_mcp_server