使用说明
MCP服务器
一个模块化的模型控制协议(MCP)服务器,提供与GitHub存储库交互的工具。
特性
- 模块化设计,具有可扩展的工具处理程序
- 支持HTTP和stdio传输
- GitHub存储库分析工具
- 命令执行能力
- CORS支持跨源请求
安装
- 安装所需的依赖项:
pip install -r requirements.txt
用法
HTTP模式
使用可选的主机和端口以HTTP模式启动服务器:
python server.py --http --host 0.0.0.0 --port 8000
这将启动服务器并使其可在以下位置访问 http://localhost:8000 (或指定的主机/端口)。
标准模式
在stdio模式下启动服务器以进行基于管道的直接通信:
python server.py
当客户端通过stdin/stdout直接调用MCP服务器时,使用此模式。
可用工具
服务器提供以下工具:
- 获取时间:获取当前时间
- 计算:执行简单计算
- get_weather:获取某个地点的模拟天气数据
- github _博客:克隆和分析GitHub存储库
- execute_命令:在系统shell中执行命令
API终点
在HTTP模式下运行时,服务器提供以下端点:
- GET/初始化:初始化连接并获取可用工具
- GET/list_tools:列出所有可用工具
- POST/执行工具:使用参数执行特定工具
API使用示例
执行工具
POST /execute_tool
Content-Type: application/json
{
"name": "github_repo",
"arguments": {
"action": "clone",
"repo_url": "https://github.com/example/repo.git"
}
}
扩展服务器
要添加新工具,请执行以下操作:
- 在中创建一个新的处理程序类
handlers扩展的目录BaseHandler - 实施
execute处理程序中的方法 - 在中注册您的处理程序
_setup_handlers方法inserver.py - 在中创建相应的工具定义
_setup_tools方法
测试
该服务器包括一套使用pytest和pytest-asyncio的全面单元测试。
运行测试
要运行测试,请执行以下操作:
pytest
要获得更详细的输出:
pytest -v
要运行具有代码覆盖率的测试,请执行以下操作:
pytest --cov=handlers --cov=utils
添加新测试
添加新处理程序时,在 tests 目录:
- 创建名为的测试文件
test_yourhandler.py - 使用pytest夹具
conftest.py在适当的情况下 - 为处理程序中的所有公共方法编写测试