GitHub项目V2 MCP服务器
一个模型上下文协议(MCP)服务器,提供管理GitHub的工具 Claude和其他MCP客户的项目V2。此服务器使用GitHub GraphQL API用于与GitHub项目V2交互。
特性
- 为用户和组织列出并查看GitHub Projects V2
- 获取项目字段和项目(问题、PR、草稿问题)
- 创建问题并将其添加到项目中
- 直接在项目中创建草稿问题
- 更新项目项字段值
- 从项目中删除项目
用法
此服务器可以与任何MCP客户端一起使用,例如Claude Desktop。添加到 您的MCP客户端配置(例如。, claude_desktop_config.json).
选项1:使用已发布的包
以下是一个示例配置,使用 uvx 作为命令执行者:
{
"mcpServers": {
"github-projects": {
"command": "uvx",
"args": [
"mcp-github-projects"
],
"env": {
"GITHUB_TOKEN": "your_pat_here"
}
}
}
}确保更换 your_pat_here 使用您的实际GitHub个人访问权限 令牌。
选项2:源代码
要直接从源代码运行项目,请执行以下步骤:
设置
- 克隆存储库:
git clone git@github.com:Arclio/github-projects-mcp.git
cd github-projects-mcp- 创建并激活虚拟环境:
uv venv
source venv/bin/activate- 安装依赖项:
uv pip install -e .- 将您的GitHub令牌设置为环境变量:
并给予它必要的权限。 所需权限为: repo, project,以及 read:org.
将令牌添加到您的 .env 运行此命令后的文件:
cp .env.example .env然后将以下内容添加到您的 .env 文件:
export GITHUB_TOKEN=your_personal_access_token源代码用法
从源代码使用时,请按如下方式配置MCP客户端:
{
"mcpServers": {
"github-projects": {
"command": "uv",
"args": [
"--directory",
"/path/to/github-projects-mcp",
"run",
"mcp-github-projects"
],
"env": {
"GITHUB_TOKEN": "your_pat_here"
}
}
}
}确保更换 /path/to/github-projects-mcp 和 your_pat_here 随着 您的实际存储库路径和GitHub个人访问令牌。
可用工具
list_projects:列出给定组织或用户的GitHub Projects V2get_project_fields:获取GitHub Project V2中的可用字段get_project_items:获取GitHub Project V2中的项目(支持按以下方式过滤
状态或自定义单选字段)
create_issue:创建新的GitHub问题add_issue_to_project:将现有的GitHub问题添加到Project V2update_project_item_field:更新项目项的字段值create_draft_issue:直接在GitHub Project V2中创建草稿问题delete_project_item:从GitHub Project V2中删除项目
有关详细的使用信息,请参阅服务器代码中的工具文档。
发展
该项目的结构如下:
src/github_projects_mcp/:主包目录
- server.py:带有工具定义的MCP服务器实现 - github_client.py:用于GitHub API交互的GraphQL客户端
要做出贡献,请确保:
- 为所有GraphQL操作添加适当的错误处理
- 为所有函数和参数添加类型注释
- 添加新工具或功能时更新文档
