
PyGithub MCP Server

2025.03.13
0
PythonGitHub 管理自动化工具协作平台开发效率交流协作
PyGithub MCP Server 是一个基于 Model Context Protocol 的服务,通过 PyGithub 提供与 GitHub API 交互的工具。该服务器使 AI 助手能够执行 GitHub 操作,如管理问题、仓库和拉取请求。
View on GitHub
Overview
基本能力
产品定位
PyGithub MCP Server 是一个专门用于与 GitHub API 交互的工具服务器,旨在通过 MCP 协议提供高效的 GitHub 操作能力。
核心功能
- 模块化工具架构:支持可配置的工具组,可按需启用/禁用,具有清晰的模块化设计和易于扩展的模式。
- 完整的 GitHub 问题管理:包括创建、更新、获取问题详情、管理评论、标签、分配和里程碑等。
- 智能参数处理:动态构建可选参数,进行类型转换和输入验证,提供清晰的错误信息。
- 稳健的实现:通过 PyGithub 进行面向对象的 API 交互,集中管理 GitHub 客户端,支持分页和详细日志记录。
适用场景
- AI 助手自动化管理 GitHub 仓库和问题
- 开发团队自动化工作流程
- 项目管理和协作工具集成
工具列表
- 问题操作工具:创建、更新、获取问题详情,管理评论和标签。
- 仓库操作工具:管理仓库相关操作(需配置启用)。
- 搜索工具:支持 GitHub 搜索功能(需配置启用)。
常见问题解答
- 服务器启动失败:检查虚拟环境 Python 路径、依赖安装和访问令牌有效性。
- 构建错误:使用
--no-build-isolation
标志,确保 Python 3.10+ 和所有依赖已安装。 - GitHub API 错误:检查令牌权限、有效性和速率限制。
使用教程
使用依赖
- Python 3.10+
- MCP Python SDK
- Pydantic
- PyGithub
- UV 包管理器
安装教程
- 创建并激活虚拟环境:
uv venv
source .venv/bin/activate
- 安装依赖:
uv pip install -e .
配置
- 基本配置(添加到 MCP 设置文件中):
{
"mcpServers": {
"github": {
"command": "/path/to/repo/.venv/bin/python",
"args": ["-m", "pygithub_mcp_server"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-token-here"
}
}
}
}
- 工具组配置(通过文件或环境变量):
{
"tool_groups": {
"issues": {"enabled": true},
"repositories": {"enabled": true},
"pull_requests": {"enabled": false}
}
}
或
export PYGITHUB_ENABLE_ISSUES=true
export PYGITHUB_ENABLE_REPOSITORIES=true
调试方式
- 运行测试:
pytest
pytest --cov
- 使用 MCP Inspector 测试工具:
npx @modelcontextprotocol/inspector -e GITHUB_PERSONAL_ACCESS_TOKEN=your-token-here uv run pygithub-mcp-server