这是一个模型上下文协议(MCP)服务器,提供了通过Claude和其他MCP客户端管理GitHub Projects V2的工具。此服务器使用GitHub GraphQL API与GitHub Projects V2进行交互。
此服务器可以与任何MCP客户端一起使用,例如Claude Desktop。将其添加到您的MCP客户端配置中(例如,claude_desktop_config.json)。
以下是一个使用uvx作为命令运行器的配置示例:
{
"mcpServers": {
"github-projects": {
"command": "uvx",
"args": [
"mcp-github-projects"
],
"env": {
"GITHUB_TOKEN": "your_pat_here"
}
}
}
}
确保将your_pat_here替换为您实际的GitHub个人访问令牌。
要直接从源代码运行项目,请按照以下步骤操作:
克隆仓库:
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令牌设置为环境变量:
创建一个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",
"m
确保将/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客户端要贡献,请确保: