Github MCP 服务器
Github 的模型上下文协议服务器。
通过 MCP 提供与 Github 的集成,允许 LLM 与其进行交互。
Github REST Api 文档
安装
手动安装
- 为您的 Github 帐户创建或获取访问令牌: 指南
- 将服务器配置添加到 Claude Desktop:
- MacOS:〜/资源库/应用程序支持/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
(字符串):存储库的所有者。repo
(字符串):存储库名称。page
(可选数字,默认值:1):分页的页码。per_page
(可选数,默认值:30,最大值:100):每页的结果数。direction
(可选字符串,默认值: desc
):排序方向( asc
或desc
)。sort
(可选字符串,默认值: created
):排序字段(可以是以下之一: created
, comments
或updated
)。since
(可选字符串):结果最后更新于给定时间之后(ISO 8601 格式:YYYY-MM-DDTHH:MM:SSZ)。labels
(可选字符串):以逗号分隔的标签名称。例如:bug、ui、@high。milestone
(可选字符串):里程碑编号。assignee
(可选字符串):受让人用户的姓名(所有用户均为*
)。creator
(可选字符串):创建问题的用户。( *
代表全部)。mentioned
(可选字符串):问题中提到的用户。
get_issue
:从存储库中获取问题。- 必需输入:
owner
(字符串):存储库的所有者。repo
(字符串):存储库名称。issue_number
(数字):问题编号。
list_repositories_pull_requests
:列出来自存储库的拉取请求。
- 必需输入:
owner
(字符串):存储库的所有者。repo
(字符串):存储库名称。page
(可选数字,默认值:1):分页的页码。per_page
(可选数,默认值:30,最大值:100):每页的结果数。direction
(可选字符串,默认值: desc
):排序方向( asc
或desc
)。sort
(可选字符串,默认值: created
):排序字段(可以是以下之一: created
, popularity
, long-running
或updated
)。head
(可选字符串):按首席用户或首席组织和分支名称过滤拉取,格式为用户:ref-name 或组织:ref-name(例如:github:new-script-format 或 octocat:test-branch)。base
(可选字符串):按基础分支名称过滤拉取。(例如:gh-pages)。
get_pull_request
:从存储库获取拉取请求。
- 必需输入:
owner
(字符串):存储库的所有者。repo
(字符串):存储库名称。pull_request_number
(数字):拉取请求编号。
使用示例
您可以使用以下示例提示与 Github 进行交互:
- “modelcontextprotocol”→执行
search_repositories
工具来查找提到modelcontextprotocol的存储库。 - “modelcontextprotocol servers repo 上的 739 问题是什么”→执行
get_issue
工具从 modelcontextprotocol servers repo 中查找 739 问题。 - “modelcontextprotocol servers repo 上的 717 PR 是什么”→执行
get_pull_request
工具从 modelcontextprotocol servers repo 中查找 717 PR。
发展
- 安装依赖项:
- 在
.env
中配置 Github 访问令牌:
GITHUB_PERSONAL_ACCESS_TOKEN=<your_personal_github_access_token>
- 使用 watch 在本地运行:
- 构建服务器:
- 使用检查器进行本地调试: