mcpField
G
github

github

本地服务
github.com/davidweb3-ctrl版本控制027 周前更新

关于 github

github 是一个 MCP 服务,让 AI 助手能够查询 GitHub 仓库。它提供拉取请求、问题、仓库信息和代码搜索工具。

主要功能

  1. 01列出并查看拉取请求
  2. 02筛选和查看仓库问题
  3. 03获取仓库元数据与统计信息
  4. 04搜索 GitHub 上的代码

适用场景

  1. 01检查未合并的拉取请求
  2. 02按标签或受派人查找问题
  3. 03查看仓库详情
  4. 04跨仓库搜索代码

MCP 相关

向 MCP 客户端提供 GitHub 仓库、拉取请求、问题和代码搜索工具。可通过环境变量配置 GitHub 令牌,也可在程序中传入。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"davidweb3-ctrl-github": {
"command": "npx",
"args": [
"-y",
"@davidweb3-ctrl/mcp-github-server"
],
"env": {
"GITHUB_TOKEN": "<GITHUB_TOKEN>"
}
}
}
}
启动命令npx -y @davidweb3-ctrl/mcp-github-server
需要配置的环境变量
GITHUB_TOKEN密钥GitHub Personal Access Token

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@davidweb3-ctrl/mcp-github-server1.0.0

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
basestring否按目标分支筛选
headstring否按源分支筛选(格式:user:branch)
pagenumber否页码
repostring是仓库名称
sortenum否排序字段created | updated | popularity | long-running
ownerstring是仓库所有者(用户名或组织)
stateenum否按 PR 状态筛选open | closed | all
per_pagenumber否每页结果数(最多 100 条)
directionenum否排序方向asc | desc

详细介绍

GitHub MCP 服务

npm version License: MIT

用于 GitHub 操作的模型上下文协议(MCP)服务。此服务可让 AI 助手通过标准化接口与 GitHub 仓库交互。

功能

  • 🔍 列出和查看拉取请求 - 浏览 PR,并使用筛选选项
  • 📋 列出和查看议题 - 查看议题及其标签、受理人和评论
  • 📊 仓库信息 - 获取仓库统计数据和元数据
  • 🔎 代码搜索 - 搜索 GitHub 仓库中的代码

安装

npm install -g @bountyclaw/mcp-github-server

配置

将 GitHub 令牌设为环境变量:

export GITHUB_TOKEN=your_github_token_here

也可以在以编程方式创建客户端时传入令牌。

在 Claude Code 中使用

将以下内容添加到 Claude Code MCP 设置中:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@bountyclaw/mcp-github-server"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here"
      }
    }
  }
}

可用工具

1. github_pr_list

列出仓库的拉取请求。

输入:

  • owner(字符串,必填):仓库所有者
  • repo(字符串,必填):仓库名称
  • state(枚举,可选):按状态筛选(open、closed、all)
  • head(字符串,可选):按头部分支筛选
  • base(字符串,可选):按基准分支筛选
  • sort(枚举,可选):排序字段
  • direction(枚举,可选):排序方向
  • per_page(数字,可选):每页结果数(最多 100)
  • page(数字,可选):页码
2. github_pr_view

查看特定拉取请求的详细信息。

输入:

  • owner(字符串,必填):仓库所有者
  • repo(字符串,必填):仓库名称
  • pull_number(数字,必填):PR 编号
  • include_diff(布尔值,可选):包含差异内容
3. github_issue_list

列出仓库的议题。

输入:

  • owner(字符串,必填):仓库所有者
  • repo(字符串,必填):仓库名称
  • state(枚举,可选):按状态筛选
  • labels(字符串,可选):以逗号分隔的标签名称
  • assignee(字符串,可选):按受理人筛选
  • creator(字符串,可选):按创建者筛选
  • sort(枚举,可选):排序字段
  • direction(枚举,可选):排序方向
  • per_page(数字,可选):每页结果数
  • page(数字,可选):页码
4. github_issue_view

查看特定议题的详细信息。

输入:

  • owner(字符串,必填):仓库所有者
  • repo(字符串,必填):仓库名称
  • issue_number(数字,必填):议题编号
  • include_comments(布尔值,可选):包含评论
5. github_repo_info

获取仓库信息和统计数据。

输入:

  • owner(字符串,必填):仓库所有者
  • repo(字符串,必填):仓库名称
6. github_search_code

搜索 GitHub 中的代码。

输入:

  • query(字符串,必填):搜索查询(GitHub 代码搜索语法)
  • sort(枚举,可选):排序字段(indexed、best-match)
  • order(枚举,可选):排序顺序
  • per_page(数字,可选):每页结果数
  • page(数字,可选):页码

查询示例

"List open PRs in facebook/react"
"Show me issue #123 in microsoft/vscode"
"Get info about the kubernetes/kubernetes repo"
"Search for 'useEffect' in TypeScript files"

开发

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Lint
npm run lint

# Format
npm run format

测试

项目包含全面的单元测试,覆盖率超过 90%:

  • GitHub API 客户端测试
  • 全部 6 个工具的处理程序测试
  • 错误处理测试
  • 输入验证测试
npm test

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件。

贡献

欢迎贡献!欢迎提交拉取请求。


由 BountyClaw 倾力打造 🦞

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。