返回市场
维基MCP服务器

维基MCP服务器

作者:albertshao2 星标更新:2025-05-07

项目介绍

技术文档摘要

📚 Wiki MCP Server

一个用于管理 Confluence 维基页面的 Model Context Protocol (MCP) 服务器实现。

支持功能:

  • 创建新的维基页面
  • 更新现有的维基页面
  • 删除维基页面
  • 根据关键词搜索维基页面
  • 根据用户查询自动选择正确的 Confluence 知识库(如 almwpb等)

使用 FastAPI 构建,遵循 MCP 服务器最佳实践,并准备好进行生产部署。


🚀 技术栈

  • Python 3.10+
  • FastAPI
  • MCP SDK
  • Requests(用于与 Confluence API 交互)
  • ContextVars(用于会话管理)

📦 项目结构

wiki_mcp_server/
├── src/wiki_mcp_server/
│   ├── server.py          # MCP 服务器入口点
│   ├── service.py         # 业务逻辑(Confluence API 交互)
│   ├── tools.py           # MCP 工具定义
│   ├── prompts.py         # MCP 提示定义
│   ├── resources.py       # MCP 资源定义
│   ├── utils.py           # 辅助函数(维基类型推断等)
│   ├── utils/session_context.py  # 会话上下文管理器
│   └── middleware.py      # 认证和会话初始化中间件
├── Dockerfile             # 容器配置
├── requirements.txt       # Python 依赖项
├── README.md              # 项目文档
├── smithery.yaml          # Smithery 集成配置(可选)
└── pyproject.toml         # Python 项目元数据

⚙️ 安装

  1. 克隆仓库:
git clone https://your-repo-url/wiki_mcp_server.git
cd wiki_mcp_server
  1. 安装依赖项:
pip install -r requirements.txt
  1. (可选)如果需要,请配置环境变量。

🛠 本地运行

启动服务器:

cd src
uvicorn wiki_mcp_server.server:app --host 0.0.0.0 --port 9999 --reload

启动后,您可以访问:


🧪 示例请求

必需的头部信息:

示例值
user_namejohn.doe@domain.com
alm_confluence_base_urlhttps://your-confluence-site/wiki/rest/api
alm_confluence_api_tokenyour-api-token
wpb_confluence_base_url(如果有可用的话)
wpb_confluence_api_token(如果有可用的话)

⚠️ 如果头部信息缺失或无效,服务器将返回 HTTP 400 错误。


示例:创建页面

POST /create_page

{
  "space_key": "TEST",
  "title": "由 MCP 服务器创建的测试页面",
  "content": "<p>Hello, World!</p>",
  "user_query": "请在 GSNA 知识库中创建一个页面。"
}

行为

  • 服务器将从 user_query 推断出 wiki_type=alm
  • 在 Confluence 中创建页面并返回页面元数据。

🧠 自动推断逻辑

  • 如果查询提到 gsnaglobalalm-confluencealm
  • 如果查询提到 wpbwealthwpb
  • 否则默认为 alm

(您也可以手动指定输入中的 wiki_type


🐳 Docker(可选)

构建并运行容器化服务器:

docker build -t wiki-mcp-server .
docker run -d -p 9999:9999 --name wiki-mcp-server wiki-mcp-server

📜 许可证

MIT 许可证。


📞 联系方式

对于问题或合作请求,请联系:

---# wiki_mcp_server