N

NZenitram

@NZenitram/github-mcp
0 Stars 296 次浏览 NZenitram 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

GitHub MCP 工具

一个用于通过 Claude 桌面版与 GitHub API 交互的多克劳德程序 (MCP)。

功能

  • 搜索 GitHub 仓库和问题
  • 创建、更新和管理 GitHub 问题和拉取请求
  • 管理仓库设置和配置
  • 处理仓库工作流和操作
  • 搜索用户和组织
  • 管理仓库协作者和团队

安装

  1. 克隆此仓库:
    bash
    git clone https://github.com/yourusername/github-mcp.git
    cd github-mcp

  2. 创建并激活虚拟环境:
    bash

    在 macOS/Linux 上

    python -m venv venv
    source venv/bin/activate

    在 Windows 上

    python -m venv venv
    .venvScriptsactivate

  3. 安装依赖项:
    bash
    pip install -r requirements.txt

  4. 在项目根目录下创建一个 .env 文件:
    bash
    touch .env

  5. 将您的 GitHub 凭证添加到 .env 文件中:

    GITHUB_TOKEN=your_personal_access_token_here
    GITHUB_USERNAME=your_github_username

  6. 测试安装:
    bash

    运行所有测试

    python -m pytest

    运行特定测试文件

    python -m pytest tests/test_search_repos.py

  7. 启动 MCP 服务器:
    bash
    python run.py

环境设置

GitHub 个人访问令牌

您需要一个细粒度的个人访问令牌来验证 GitHub:

  1. 登录您的 GitHub 账户
  2. 前往 设置 > 开发者设置 > 个人访问令牌 > 细粒度令牌
  3. 点击“生成新令牌”
  4. 配置令牌:
    • 令牌名称: "Claude Desktop Integration"
    • 描述: "Claude Desktop GitHub 集成令牌"
    • 过期时间: 选择合适的过期日期
    • 仓库访问权限: 选择“所有仓库”或特定仓库
    • 权限:
      • 仓库权限:
        • 操作:读写
        • 内容:读写
        • 问题:读写
        • 拉取请求:读写
        • 仓库钩子:读写
        • 仓库设置:读写
      • 组织权限(如果处理组织仓库):
        • 成员:只读
        • 团队:只读
  5. 点击“生成令牌”并安全保存生成的令牌

工具

搜索仓库

使用各种条件搜索 GitHub 仓库。

参数:

  • query: 搜索查询字符串
  • sort: 排序字段(stars, forks, updated 等)
  • order: 排序顺序(asc 或 desc)
  • max_results: 返回的最大结果数(默认:10)

创建问题

在指定的仓库中创建一个新的 GitHub 问题。

参数:

  • owner: 仓库所有者
  • repo: 仓库名称
  • title: 问题标题
  • body: 问题描述
  • labels: 应用的标签列表
  • assignees: 分配给用户的用户名列表

创建拉取请求

创建一个新的拉取请求。

参数:

  • owner: 仓库所有者
  • repo: 仓库名称
  • title: PR 标题
  • body: PR 描述
  • head: 源分支
  • base: 目标分支
  • draft: 是否作为草稿 PR 创建

管理仓库设置

更新仓库设置和配置。

参数:

  • owner: 仓库所有者
  • repo: 仓库名称
  • settings: 要更新的设置字典

搜索问题

跨仓库搜索问题。

参数:

  • query: 搜索查询字符串
  • state: 问题状态(open, closed, all)
  • sort: 排序字段
  • order: 排序顺序
  • max_results: 最大结果数

管理工作流

管理 GitHub Actions 工作流。

参数:

  • owner: 仓库所有者
  • repo: 仓库名称
  • workflow_file: 工作流文件路径
  • action: 执行的操作(enable, disable, trigger)

管理协作者

管理仓库协作者。

参数:

  • owner: 仓库所有者
  • repo: 仓库名称
  • username: 协作者用户名
  • permission: 权限级别(pull, push, admin, maintain, triage)

示例用法

python

搜索仓库

search_repos(query="python web framework", sort="stars", max_results=5)

创建新问题

create_issue(
owner="username",
repo="repository",
title="Bug: Login not working",
body="Users cannot log in using the login button",
labels=["bug", "high-priority"]
)

创建拉取请求

create_pull_request(
owner="username",
repo="repository",
title="Feature: Add user authentication",
body="Implements JWT-based authentication",
head="feature/auth",
base="main"
)

搜索问题

search_issues(query="is:open is:issue author:username", max_results=10)

管理仓库设置

manage_repo_settings(
owner="username",
repo="repository",
settings={
"has_issues": True,
"has_projects": True,
"has_wiki": True
}
)## 开发

运行测试

bash

运行所有测试

python -m pytest

带覆盖率运行

python -m pytest --cov=src tests/

运行特定测试文件

python -m pytest tests/test_search_repos.py

添加新工具

  1. src/tools/ 目录下创建一个新文件
  2. 实现你的工具函数
  3. src/main.py 中注册该工具
  4. tests/ 目录下添加测试
  5. 更新 README.md 中的文档

贡献代码

  1. Fork 仓库
  2. 创建一个特性分支
  3. 进行修改
  4. 运行测试
  5. 提交 Pull Request

许可证

MIT 许可证

相关 MCP 服务