使用说明
Github MCP服务器
A. 模型上下文协议 Github服务器。
通过MCP提供与Github的集成,允许LLM与之交互。
安装
手动安装
-
为您的Github帐户创建或获取访问令牌: 指南
-
将服务器配置添加到Claude Desktop:
- MacOS:~/库/应用程序支持/Claude/Claude_desktop_config json
- 窗户: 查看本指南
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "github-mcp-server"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_personal_github_access_token"
}
}
}
}
组件
工具
-
search_repositories:在GitHub上搜索存储库。- 所需输入:
query(string):用于搜索存储库的查询。page(数字,默认值:30,最大值:100):分页页码。per_page(数字,默认值:30,最大值:100):每页的结果数。
- 所需输入:
-
search_issues:从存储库中搜索问题。- 所需输入:
query(string):用于搜索存储库的查询。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(string):用于搜索存储库的查询。page(数字,默认值:1):分页页码。per_page(数字,默认值:30,最大值:100):每页的结果数。order(可选字符串,默认值:desc):排序(asc或desc).sort(可选字符串,默认值:best match):排序字段(可以是以下字段之一:committer-date或author-date).
- 所需输入:
-
search_code:从存储库中搜索代码。- 所需输入:
query(string):用于搜索存储库的查询。page(数字,默认值:1):分页页码。per_page(数字,默认值:30,最大值:100):每页的结果数。
- 所需输入:
-
search_users:从存储库中搜索用户。- 所需输入:
query(string):用于搜索存储库的查询。page(数字,默认值:1):分页页码。per_page(数字,默认值:30,最大值:100):每页的结果数。order(可选字符串,默认值:desc):排序(asc或desc).sort(可选字符串,默认值:best match):排序字段(可以是以下字段之一:followers,repositories或joined).
- 所需输入:
-
search_topics:搜索主题。- 所需输入:
query(string):用于搜索存储库的查询。page(数字,默认值:1):分页页码。per_page(数字,默认值:30,最大值:100):每页的结果数。
- 所需输入:
-
search_labels:在存储库中搜索标签。- 所需输入:
query(string):用于搜索存储库的查询。page(数字,默认值:1):分页页码。per_page(数字,默认值:30,最大值:100):每页的结果数。order(可选字符串,默认值:desc):排序(asc或desc).sort(可选字符串,默认值:best match):排序字段(可以是以下字段之一:created或updated).
- 所需输入:
-
list_repositories_issues:列出存储库中的问题。- 所需输入:
owner(string):存储库的所有者。repo(string):存储库名称。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(string):存储库的所有者。repo(string):存储库名称。issue_number(number):发行号。
- 所需输入:
-
list_repositories_pull_requests:列出来自存储库的拉取请求。- 所需输入:
owner(string):存储库的所有者。repo(string):存储库名称。page(可选编号,默认值:1):分页页码。per_page(可选数字,默认值:30,最大值:100):每页的结果数。direction(可选字符串,默认值:desc):排序方向(asc或desc).sort(可选字符串,默认值:created):排序字段(可以是以下字段之一:created,popularity,long-running或updated).head(可选字符串):过滤器以user:ref name或organization:ref name的格式按头部用户或头部组织和分支名称进行拉取(例如:github:新脚本格式或octocat:测试分支)。base(可选字符串):按基分支名称过滤拉取。(例如:gh页面)。
- 所需输入:
-
get_pull_request:从存储库获取拉取请求。- 所需输入:
owner(string):存储库的所有者。repo(string):存储库名称。pull_request_number(number):拉取请求编号。
- 所需输入:
使用示例
您可以使用以下示例提示与Github进行交互:
- “模型上下文协议”→ 执行
search_repositories用于查找提到modelcontextprotocol的存储库的工具。 - “模型上下文协议服务器仓库上的739问题是什么?”→ 执行
get_issue该工具从modelcontextprotocol服务器仓库中查找739个问题。 - “modelcontextprotocol服务器仓库上的717 PR是什么?”→ 执行
get_pull_request该工具用于从modelcontextprotocol服务器仓库中查找717 PR。
发展
- 安装依赖项:
pnpm install
- 在中配置Github访问令牌
.env:
GITHUB_PERSONAL_ACCESS_TOKEN=<your_personal_github_access_token>
- 使用手表在本地运行:
pnpm dev
- 构建服务器:
pnpm build
- 与检查员进行本地调试:
pnpm inspector
