PyGithub MCP 服务器
一个模型上下文协议服务器,提供通过 PyGithub 与 GitHub API 交互的工具。该服务器使 AI 助手能够执行 GitHub 操作,例如管理问题、存储库和拉取请求。
特征
- 模块化工具架构:
- 可配置的工具组,可启用/禁用
- 特定领域的组织(问题、存储库等)
- 通过文件或环境变量进行灵活配置
- 通过模块化设计明确分离关注点
- 通过一致的模式轻松扩展
- 完整的 GitHub 问题管理:
- 创建和更新问题
- 获取问题详细信息并列出存储库问题
- 添加、列出、更新和删除评论
- 管理问题标签
- 处理受让人和里程碑
- 智能参数处理:
- 为可选参数构建动态 kwargs
- GitHub 对象的正确类型转换
- 验证所有输入参数
- 清除无效输入的错误消息
- 稳健的实施:
- 通过 PyGithub 进行面向对象的 GitHub API 交互
- 集中式 GitHub 客户端管理
- 适当的错误处理和速率限制
- 通过 MCP 工具清理 API 抽象
- 全面的分页支持
- 用于调试的详细日志记录
文档
docs/guides 目录中提供了全面的指南:
- error-handling.md:错误类型、处理模式和最佳实践
- security.md:身份验证、访问控制和内容安全
- tool-reference.md:带有示例的详细工具文档
有关使用 PyGithub MCP 服务器的详细信息,请参阅这些指南。
使用示例
发行操作
- 创建问题
- 获取问题详细信息
- 更新问题
评论操作
- 添加评论
- 上市评论
- 更新评论
标签操作
- 添加标签
- 移除标签
所有操作都智能地处理可选参数:
- 仅包含 API 调用中提供的参数
- 将原始类型转换为 GitHub 对象(例如,里程碑编号转换为里程碑对象)
- 为无效参数提供清晰的错误消息
- 在适用的情况下自动处理分页
安装
- 创建并激活虚拟环境:
- 安装依赖项:
配置
基本配置
将服务器添加到您的 MCP 设置(例如, claude_desktop_config.json
或cline_mcp_settings.json
):
工具组配置
服务器支持通过配置选择性地启用或禁用工具组。您可以通过两种方式进行配置:
1.配置文件
创建一个 JSON 配置文件(例如pygithub_mcp_config.json
):
然后在您的环境中指定此文件:
2.环境变量
或者,使用环境变量来配置工具组:
默认情况下,仅启用issues
工具组。更多详细配置选项请参阅README.config.md
。
发展
测试
该项目包括一个全面的测试套件:
注意:许多测试目前失败,正在调查中。这是一个已知问题,正在积极处理中。
使用 MCP Inspector 进行测试
在开发过程中使用 MCP Inspector 测试 MCP 工具:
使用 MCP Inspector 的 Web UI 可以执行以下操作:
- 尝试可用的工具
- 使用真实的 GitHub 存储库进行测试
- 验证成功和错误情况
- 记录工作有效载荷
项目结构
故障排除
- 服务器启动失败:
- 在 MCP 设置中验证 venv Python 路径
- 确保所有要求都已安装在 venv 中
- 检查 GITHUB_PERSONAL_ACCESS_TOKEN 是否已设置且有效
- 构建错误:
- 在 uv build 中使用 --no-build-isolation 标志
- 确保使用的是 Python 3.10+
- 验证所有依赖项均已安装
- GitHub API 错误:
- 检查令牌权限和有效性
- 查看 pygithub_mcp_server.log 以获取详细的错误跟踪
- 验证是否未超出速率限制
依赖项
- Python 3.10+
- MCP Python SDK
- 派丹蒂克
- PyGithub
- UV包管理器
执照
麻省理工学院
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
使 AI 助手能够通过 PyGithub 库与 GitHub 交互,提供用于管理问题、存储库、拉取请求和其他 GitHub 操作的工具,并具有智能参数处理和错误管理功能。
Related Resources
Related MCP Servers
- -securityFlicense-qualityEnables interaction with GitHub through the GitHub API, supporting file operations, repository management, advanced search, and issue tracking with comprehensive error handling and automatic branch creation.Last updated -91TypeScript
- AsecurityFlicenseAqualityAn MCP server that enables AI assistants to manage GitHub Actions workflows by providing tools for listing, viewing, triggering, canceling, and rerunning workflows through the GitHub API.Last updated -95032TypeScript
- -securityAlicense-qualityAn MCP server that enables AI assistants like Claude to help users manage their GitHub notifications through natural language commands.Last updated -5511TypeScriptMIT License
- -securityFlicense-qualityA Multi-Claude Program for interacting with GitHub APIs through Claude Desktop, allowing users to search repositories, manage issues, pull requests, repository settings, workflows, and collaborators.Last updated -1Python