关于 Github MCP Server
Github MCP Server 是面向 LLM 的 GitHub API MCP 服务,适合需要在 MCP 客户端中搜索 GitHub 内容或读取议题与拉取请求的用户。它通过一组搜索、列表和详情工具覆盖代码托管协作中的常见查询。
主要功能
- 01搜索仓库、议题和提交
- 02搜索代码、用户、主题与标签
- 03列出仓库议题和拉取请求
- 04获取议题与拉取请求详情
适用场景
- 01按关键词查找 GitHub 仓库
- 02检索仓库代码或提交
- 03查看指定仓库的议题和拉取请求
- 04读取指定议题或拉取请求详情
MCP 相关
该 MCP 服务通过 GitHub REST API 向 MCP 客户端提供搜索、列表和详情查询工具。使用时需配置 GitHub Personal Access Token。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Github MCP 服务
用于 Github 的模型上下文协议服务。
通过 MCP 提供与 Github 的集成,让大模型能够与其交互。
安装
手动安装
-
为你的 Github 账户创建或获取访问令牌:指南
-
将服务配置添加到 Claude Desktop:
- MacOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:查看此指南
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "github-mcp-server"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_personal_github_access_token"
}
}
}
}
组件
工具
-
search_repositories:搜索 GitHub 上的仓库。- 必需输入:
query(字符串):用于搜索仓库的查询。page(数字,默认值:30,最大值:100):分页页码。per_page(数字,默认值:30,最大值:100):每页结果数量。
- 必需输入:
-
search_issues:搜索仓库中的议题。- 必需输入:
query(字符串):用于搜索仓库的查询。page(数字,默认值:1):分页页码。per_page(数字,默认值:30,最大值:100):每页结果数量。order(可选字符串,默认值:desc):排序顺序(asc或desc)。sort(可选字符串,默认值:best match):排序字段(可以是:comments、reactions、reactions-+1、reactions--1、reactions-smile、reactions-thinking_face、reactions-heart、reactions-tada、interactions、created或updated)。
- 必需输入:
-
search_commits:搜索仓库中的提交。- 必需输入:
query(字符串):用于搜索仓库的查询。page(数字,默认值:1):分页页码。per_page(数字,默认值:30,最大值:100):每页结果数量。order(可选字符串,默认值:desc):排序顺序(asc或desc)。sort(可选字符串,默认值:best match):排序字段(可以是:committer-date或author-date)。
- 必需输入:
-
search_code:搜索仓库中的代码。- 必需输入:
query(字符串):用于搜索仓库的查询。page(数字,默认值:1):分页页码。per_page(数字,默认值:30,最大值:100):每页结果数量。
- 必需输入:
-
search_users:搜索仓库中的用户。- 必需输入:
query(字符串):用于搜索仓库的查询。page(数字,默认值:1):分页页码。per_page(数字,默认值:30,最大值:100):每页结果数量。order(可选字符串,默认值:desc):排序顺序(asc或desc)。sort(可选字符串,默认值:best match):排序字段(可以是:followers、repositories或joined)。
- 必需输入:
-
search_topics:搜索主题。- 必需输入:
query(字符串):用于搜索仓库的查询。page(数字,默认值:1):分页页码。per_page(数字,默认值:30,最大值:100):每页结果数量。
- 必需输入:
-
search_labels:搜索仓库中的标签。- 必需输入:
query(字符串):用于搜索仓库的查询。page(数字,默认值:1):分页页码。per_page(数字,默认值:30,最大值:100):每页结果数量。order(可选字符串,默认值:desc):排序顺序(asc或desc)。sort(可选字符串,默认值:best match):排序字段(可以是:created或updated)。
- 必需输入:
-
list_repositories_issues:列出仓库中的议题。- 必填输入:
owner(string):仓库所有者。repo(string):仓库名称。page(optional number, default: 1):分页页码。per_page(optional number, default: 30, max: 100):每页结果数。direction(optional string, default:desc):排序方向(asc或desc)。sort(optional string, default:created):排序字段(可选值:created、comments或updated)。since(optional string):获取指定时间之后最后更新的结果(ISO 8601 格式:YYYY-MM-DDTHH:MM:SSZ.)。labels(optional string):以逗号分隔的标签名称。例如:bug,ui,@high。milestone(optional string):里程碑编号。assignee(optional string):受指派用户的名称(*表示全部)。creator(optional string):创建此议题的用户(*表示全部)。mentioned(optional string):在此议题中被提及的用户。
- 必填输入:
-
get_issue:从仓库获取一个议题。- 必填输入:
owner(string):仓库所有者。repo(string):仓库名称。issue_number(number):议题编号。
- 必填输入:
-
list_repositories_pull_requests:列出仓库的拉取请求。- 必填输入:
owner(string):仓库所有者。repo(string):仓库名称。page(optional number, default: 1):分页页码。per_page(optional number, default: 30, max: 100):每页结果数。direction(optional string, default:desc):排序方向(asc或desc)。sort(optional string, default:created):排序字段(可选值:created、popularity、long-running或updated)。head(optional string):按头部分支的用户或组织以及分支名称筛选拉取请求,格式为 user:ref-name 或 organization:ref-name(例如:github:new-script-format 或 octocat:test-branch)。base(optional string):按基准分支名称筛选拉取请求。(例如:gh-pages)。
- 必填输入:
-
get_pull_request:从仓库获取一个拉取请求。- 必填输入:
owner(string):仓库所有者。repo(string):仓库名称。pull_request_number(number):拉取请求编号。
- 必填输入:
使用示例
以下是一些可用于与 Github 交互的提示词示例:
- “modelcontextprotocol” → 执行
search_repositories工具,查找提及 modelcontextprotocol 的仓库。 - “modelcontextprotocol servers 仓库中的第 739 个议题是什么?” → 执行
get_issue工具,从 modelcontextprotocol servers 仓库获取第 739 个议题。 - “modelcontextprotocol servers 仓库中的第 717 个 PR 是什么?” → 执行
get_pull_request工具,从 modelcontextprotocol servers 仓库获取第 717 个 PR。
开发
- 安装依赖:
pnpm install
- 在
.env中配置 Github 访问令牌:
GITHUB_PERSONAL_ACCESS_TOKEN=<your_personal_github_access_token>
- 在本地以监视模式运行:
pnpm dev
- 构建服务:
pnpm build
- 使用 inspector 进行本地调试:
pnpm inspector
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。