使用说明
GitHub项目MCP服务器
A. 模型上下文协议(MCP)服务器 它提供了Claude Desktop和GitHub Projects V2之间的无缝集成。此工具使您能够直接从Claude对话中管理GitHub组织项目、跟踪状态更新和执行项目操作。
🌟 特性
项目管理
- 列出组织项目:从任何GitHub组织获取所有项目
- 详细项目视图:获取全面的项目信息,包括项目、字段和元数据
- 创建新项目:设置具有可自定义隐私设置的新项目
- 搜索项目:在整个组织中按标题查找项目
状态更新
- 查看状态历史记录:检索任何项目的所有状态更新
- 创建状态更新:添加新的进度更新,包括时间线和状态跟踪
- 时间线管理:设置开始日期、目标日期和项目状态
高级功能
- 实时错误处理:全面的错误报告和调试
- GraphQL集成:直接访问GitHub强大的GraphQL API
- 灵活的配置:支持任何GitHub组织
- 连接测试:内置诊断程序,用于验证设置
🚀 快速开始
先决条件
- Python 3.8或更高版本
- Claude桌面应用程序
- 具有适当权限的GitHub个人访问令牌
安装
-
克隆存储库
git clone https://github.com/yourusername/github-projects-mcp.git cd github-projects-mcp -
安装依赖项
pip install -r requirements.txt -
配置环境变量
cp .env.example .env编辑
.env使用您的凭据:GITHUB_TOKEN=your_github_token_here GITHUB_ORG=your_organization_name -
设置Claude Desktop集成
复制示例配置:
cp claude_desktop_config-example.json claude_desktop_config.json更新中的路径和凭据
claude_desktop_config.json:{ "mcpServers": { "github-projects": { "command": "/path/to/your/python", "args": ["/path/to/github_projects_mcp.py"], "env": { "GITHUB_TOKEN": "your_github_token_here", "GITHUB_ORG": "your_organization_name" } } } } -
添加到克劳德桌面
将配置合并到您的Claude Desktop配置文件中(通常位于
%APPDATA%\Claude\claude_desktop_config.json在Windows或~/Library/Application Support/Claude/claude_desktop_config.jsonmacOS)。
GitHub令牌设置
- 首选 GitHub设置>个人访问令牌
- 点击“生成新令牌(经典)”
- 选择以下范围:
repo-完全控制私有存储库project-完全控制项目read:org-阅读组织和团队成员
- 将生成的令牌复制到您的
.env文件
📚 可用工具
核心项目工具
get_organization_projects(limit=20, include_closed=False)
使用筛选选项从GitHub组织中检索所有项目。
get_project_details(project_number)
获取有关特定项目的全面信息,包括所有项目、字段和元数据。
create_project(title, description="", public=False)
使用可自定义的设置在组织中创建新项目。
状态管理
get_project_status_updates(project_number, limit=20)
获取包含作者和时间线信息的项目的所有状态更新。
create_status_update(project_id, body, title=None, start_date=None, target_date=None, status="ON_TRACK")
添加新的状态更新,支持:
- Markdown内容
- 时间线跟踪
- 状态指示器(
ON_TRACK,AT_RISK,OFF_TRACK,COMPLETE)
实用工具
search_projects(query, limit=20)
在整个组织中按标题搜索项目。
test_connection()
验证服务器设置和到GitHub API的连接。
💡 使用示例
在克劳德桌面
配置后,您可以使用自然语言与GitHub项目进行交互:
“显示我们组织中的所有项目”
I'll fetch all the projects from your GitHub organization.
“获取项目#42的详细信息”
Let me get the comprehensive details for project #42 including all items and fields.
“创建一个名为“Q4营销活动”的新项目”
I'll create a new project with that title in your organization.
“向项目PVT_kwDOBqF-Dc4AKjQt添加状态更新,表示我们正在按计划进行”
I'll add a status update indicating the project is on track.
🛠️ 技术细节
建筑
- 建立在 FastMCP 最优性能框架
- 用途 GitHub GraphQL API v4 用于高效的数据检索
- 实施全面的错误处理和调试
- 支持基于环境的配置
API兼容性
- 与GitHub Projects V2完全兼容
- 处理组织和存储库级别的项目
- 支持所有主要项目字段类型(文本、单选、迭代)
- 与GitHub最新模式实时同步
安全
- 基于令牌的身份验证
- 环境变量保护
- 无敏感数据存储
- 安全的API通信
🔧 配置选项
环境变量
| 变量 | 描述 | 必填 | 示例 |
|---|---|---|---|
GITHUB_TOKEN |
GitHub个人访问令牌 | 是 | ghp_xxxxxxxxxxxx |
GITHUB_ORG |
GitHub组织名称 | 是 | Smartelco |
DEBUG_MODE |
启用调试日志记录 | 否 | false |
Claude桌面配置
MCP服务器通过配置文件与Claude Desktop集成。确保路径指向您的Python安装和服务器脚本位置。
🐛 故障排除
常见问题
“未找到GITHUB_TOKEN”
- 确保您的
.env文件包含正确的令牌 - 验证令牌是否具有所需的作用域
“组织无法访问”
- 检查组织名称拼写
- 确保您的令牌具有
read:org许可 - 确认您是该组织的成员
“GraphQL错误”
- 更新您的GitHub令牌权限
- 检查组织是否启用了Projects V2
调试模式
启用调试模式以进行详细日志记录:
DEBUG_MODE=true
有关详细的错误信息,请查看Claude Desktop日志。
🤝 贡献
欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
开发设置
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
- 内置于 FastMCP 框架
- 用途 GitHub GraphQL API v4
- 灵感来自 模型上下文协议 规格
📞 支持
如果您遇到任何问题或有疑问:
- 检查 问题 章节
- 查阅上述故障排查指南
- 使用有关您问题的详细信息创建新问题
由以下材料制成❤️ Claude Desktop和GitHub项目社区
