GitBook模型上下文提供程序(MCP)服务器
这个基于Python的MCP服务器在您的代码库和GitBook文档之间架起了一座桥梁,提供实时上下文和代码见解,以增强您的技术文档。
特性
- 编码索引:自动索引Python代码库,提取函数、类、模块、文档字符串和关系
- 文档解析:分析您的markdown文档文件以查找代码引用
- API终点:提供RESTful端点用于搜索和检索代码上下文
- GitBook集成:通过API将代码信息同步到GitBook
- 实时更新:定期重新索引代码库以保持信息的最新性
- 关系跟踪:映射代码实体之间的依赖关系
- Webhook 支持:为交互式文档处理GitBook webhooks
安装
- 克隆此存储库或将MCP服务器代码保存到您的项目中
- 安装所需的依赖项:
pip install flask flask-cors requests markdown beautifulsoup4用法
基本用法
通过将MCP服务器指向您的代码库来启动它:
python gitbook_mcp.py --code-path /path/to/your/codebase包括文件
要为文档文件建立索引,请执行以下操作:
python gitbook_mcp.py --code-path /path/to/your/codebase --docs-path /path/to/your/docs完整架构
python gitbook_mcp.py \
--code-path /path/to/your/codebase \
--docs-path /path/to/your/docs \
--port 5000 \
--gitbook-space your-gitbook-space-id \
--gitbook-token your-gitbook-api-tokenAPI终点
健康检查
GET /health返回服务器状态和版本信息。
搜索代码和文档
GET /search?q=query&type=entity_type搜索与查询匹配的代码实体和文档。
参数:
q:搜索查询(必填)type:按实体类型筛选(可选)-“函数”、“类”或“模块”
获取实体详细信息
GET /entity/{entity_name}获取有关特定代码实体及其关系的详细信息。
同步到GitBook
POST /sync手动触发代码信息到GitBook的同步。
GitBook 网关
POST /webhookGitBook webhooks接收事件的端点。
与GitBook集成
在GitBook中设置
- 转到您的GitBook空间设置
- 导航到“集成”>“自定义集成”
- 使用以下设置添加新集成:
- 名称:代码上下文提供程序 - 网钩 URL : http://your-server:5000/webhook - 事件:选择页面更新和评论
- 在GitBook设置中生成API令牌
- 使用GitBook空间ID和令牌启动MCP服务器
在文档中使用
设置后,您可以:
- GitBook文档中的参考代码实体
- 插入具有自动更新功能的实时代码片段
- 添加打开源文件的“代码视图”链接
- 启用带有代码建议的上下文注释
高级配置
创建配置文件 mcp_config.json:
{
"code_path": "/path/to/your/codebase",
"docs_path": "/path/to/your/docs",
"port": 5000,
"index_interval": 300,
"exclude_patterns": ["__pycache__", "*.pyc", ".*", "venv", "env"],
"gitbook": {
"space_id": "your-gitbook-space-id",
"api_token": "your-gitbook-api-token",
"sync_modules": true,
"sync_classes": true,
"sync_functions": true
}
}然后使用以下命令启动服务器:
python gitbook_mcp.py --config mcp_config.json贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
