Arclio
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"github-projects": {
"args": [
"mcp-github-projects"
],
"command": "uvx",
"env": {
"GITHUB_TOKEN": "your_pat_here"
}
}
}
}
服务介绍
GitHub Projects V2 MCP 服务器
这是一个提供通过 Claude 和其他 MCP 客户端管理 GitHub Projects V2 工具的模型上下文协议 (MCP) 服务器。该服务器使用 GitHub GraphQL API 与 GitHub Projects V2 进行交互。
功能
- 列出和查看用户和组织的 GitHub Projects V2
- 获取项目字段和条目(问题、PR、草稿问题)
- 创建问题并将它们添加到项目中
- 直接在项目中创建草稿问题
- 更新项目条目的字段值
- 从项目中删除条目
使用方法
此服务器可以与任何 MCP 客户端一起使用,例如 Claude Desktop。将其添加到您的 MCP 客户端配置中(例如 claude_desktop_config.json)。
选项 1:使用已发布的包
这里是一个使用 uvx 作为命令运行程序的示例配置:
json
{
"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 令牌设置为环境变量:
创建一个 GitHub 个人访问令牌,并为其分配必要的权限。
所需的权限包括:repo、project和read:org。在运行以下命令后将令牌添加到您的
.env文件中:cp .env.example .env
然后在您的
.env文件中添加以下内容:export GITHUB_TOKEN=your_personal_access_token
从源代码使用
当从源代码使用时,按如下方式配置您的 MCP 客户端:
json
{
"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 操作添加适当的错误处理
- 为所有函数和参数添加类型注解
- 在添加新工具或功能时更新文档