Skip to main content
Glama

GitHub MCP 服务器

GitHub API 的 MCP 服务器,支持文件操作、存储库管理、搜索功能等。

特征

  • 自动创建分支:创建/更新文件或推送更改时,如果分支不存在,则会自动创建分支

  • 全面的错误处理:针对常见问题的清晰错误消息

  • Git 历史记录保存:操作无需强制推送即可维护正确的 Git 历史记录

  • 批量操作:支持单文件和多文件操作

  • 高级搜索:支持搜索代码、问题/PR 和用户

工具

  1. create_or_update_file

    • 在存储库中创建或更新单个文件

    • 输入:

      • owner (字符串):存储库所有者(用户名或组织)

      • repo (字符串):存储库名称

      • path (字符串):创建/更新文件的路径

      • content (字符串):文件的内容

      • message (字符串):提交消息

      • branch (字符串):创建/更新文件的分支

      • sha (可选字符串):被替换文件的 SHA(用于更新)

    • 返回:文件内容和提交详细信息

  2. push_files

    • 在一次提交中推送多个文件

    • 输入:

      • owner (字符串):存储库所有者

      • repo (字符串):存储库名称

      • branch (字符串):要推送到的分支

      • files (数组):要推送的文件,每个文件都有pathcontent

      • message (字符串):提交消息

    • 返回:更新的分支参考

  3. search_repositories

    • 搜索 GitHub 存储库

    • 输入:

      • query (字符串):搜索查询

      • page (可选数字):分页的页码

      • perPage (可选数字):每页结果数(最多 100 条)

    • 返回:存储库搜索结果

  4. create_repository

    • 创建一个新的 GitHub 存储库

    • 输入:

      • name (字符串):存储库名称

      • description (可选字符串):存储库描述

      • private (可选布尔值):repo 是否应为私有

      • autoInit (可选布尔值):使用 README 初始化

    • 返回:创建的存储库详细信息

  5. get_file_contents

    • 获取文件或目录的内容

    • 输入:

      • owner (字符串):存储库所有者

      • repo (字符串):存储库名称

      • path (字符串):文件/目录的路径

      • branch (可选字符串):从中获取内容的分支

    • 返回:文件/目录内容

  6. create_issue

    • 创建新问题

    • 输入:

      • owner (字符串):存储库所有者

      • repo (字符串):存储库名称

      • title (字符串):问题标题

      • body (可选字符串):问题描述

      • assignees (可选字符串[]):要分配的用户名

      • labels (可选字符串[]):要添加的标签

      • milestone (可选数字):里程碑编号

    • 返回:创建问题详情

  7. create_pull_request

    • 创建新的拉取请求

    • 输入:

      • owner (字符串):存储库所有者

      • repo (字符串):存储库名称

      • title (字符串):PR 标题

      • body (可选字符串):PR 描述

      • head (字符串):包含更改的分支

      • base (字符串):要合并到的分支

      • draft (可选布尔值):创建为 PR 草稿

      • maintainer_can_modify (可选布尔值):允许维护者编辑

    • 返回:创建的拉取请求详细信息

  8. fork_repository

    • 派生一个存储库

    • 输入:

      • owner (字符串):存储库所有者

      • repo (字符串):存储库名称

      • organization (可选字符串):要分叉的组织

    • 返回:分叉存储库详细信息

  9. create_branch

    • 创建新分支

    • 输入:

      • owner (字符串):存储库所有者

      • repo (字符串):存储库名称

      • branch (字符串):新分支的名称

      • from_branch (可选字符串):源分支(默认为 repo default)

    • 返回:创建的分支引用

  10. list_issues

  • 列出并过滤存储库问题

  • 输入:

    • owner (字符串):存储库所有者

    • repo (字符串):存储库名称

    • state (可选字符串):按状态过滤('打开','关闭','全部')

    • labels (可选字符串[]):按标签过滤

    • sort (可选字符串):按('创建','更新','评论')排序

    • direction (可选字符串):排序方向('asc','desc')

    • since (可选字符串):按日期过滤(ISO 8601 时间戳)

    • page (可选数字):页码

    • per_page (可选数字):每页结果数

  • 返回:问题详细信息数组

  1. update_issue

  • 更新现有问题

  • 输入:

    • owner (字符串):存储库所有者

    • repo (字符串):存储库名称

    • issue_number (数字):要更新的问题编号

    • title (可选字符串):新标题

    • body (可选字符串):新的描述

    • state (可选字符串):新状态(“打开”或“关闭”)

    • labels (可选字符串[]):新标签

    • assignees (可选字符串[]):新受让人

    • milestone (可选数字):新的里程碑编号

  • 返回:更新的问题详情

  1. add_issue_comment

  • 向问题添加评论

  • 输入:

    • owner (字符串):存储库所有者

    • repo (字符串):存储库名称

    • issue_number (数字):要评论的问题编号

    • body (字符串):评论文本

  • 返回:创建的评论详情

  1. search_code

  • 在 GitHub 存储库中搜索代码

  • 输入:

    • q (字符串):使用 GitHub 代码搜索语法的搜索查询

    • sort (可选字符串):排序字段(仅限“索引”)

    • order (可选字符串):排序顺序('asc' 或 'desc')

    • per_page (可选数字):每页结果数(最多 100 条)

    • page (可选数字):页码

  • 返回:带有存储库上下文的代码搜索结果

  1. search_issues

  • 搜索问题和拉取请求

  • 输入:

    • q (字符串):使用 GitHub 问题搜索语法的搜索查询

    • sort (可选字符串):排序字段(评论、反应、创建等)

    • order (可选字符串):排序顺序('asc' 或 'desc')

    • per_page (可选数字):每页结果数(最多 100 条)

    • page (可选数字):页码

  • 返回:问题和拉取请求搜索结果

  1. search_users

  • 搜索 GitHub 用户

  • 输入:

    • q (字符串):使用 GitHub 用户搜索语法的搜索查询

    • sort (可选字符串):排序字段(关注者、存储库、加入)

    • order (可选字符串):排序顺序('asc' 或 'desc')

    • per_page (可选数字):每页结果数(最多 100 条)

    • page (可选数字):页码

  • 返回:用户搜索结果

  1. list_commits

  • 获取存储库中分支的提交

  • 输入:

    • owner (字符串):存储库所有者

    • repo (字符串):存储库名称

    • page (可选字符串):页码

    • per_page (可选字符串):每页记录数

    • sha (可选字符串):分支名称

  • 返回:提交列表

  1. get_issue

  • 获取存储库中问题的内容

  • 输入:

    • owner (字符串):存储库所有者

    • repo (字符串):存储库名称

    • issue_number (数字):要检索的问题编号

  • 返回:Github Issue 对象和详细信息

  1. get_issue_comments

  • 获取问题或拉取请求的评论

  • 输入:

    • owner (字符串):存储库所有者

    • repo (字符串):存储库名称

    • issue_number (数字):用于检索评论的问题/PR 编号

  • 返回:包含评论 ID、正文、作者和时间戳的 GitHub 评论对象数组

Related MCP server: GitHub MCP Server

搜索查询语法

代码搜索

  • language:javascript :按编程语言搜索

  • repo:owner/name :在特定存储库中搜索

  • path:app/src :在特定路径中搜索

  • extension:js :按文件扩展名搜索

  • 例如: q: "import express" language:typescript path:src/

问题搜索

  • is:issueis:pr :按类型过滤

  • is:openis:closed :按状态过滤

  • label:bug :按标签搜索

  • author:username :按作者搜索

  • 例如: q: "memory leak" is:issue is:open label:bug

用户搜索

  • type:usertype:org :按帐户类型过滤

  • followers:>1000 :按关注者过滤

  • location:London :按地点搜索

  • 例如: q: "fullstack developer" location:London followers:>100

有关详细的搜索语法,请参阅GitHub 的搜索文档

设置

个人访问令牌

创建具有适当权限的 GitHub 个人访问令牌

  • 转到个人访问令牌(在 GitHub 设置 > 开发人员设置中)

  • 选择您希望此令牌可以访问的存储库(公共、全部或选择)

  • 创建具有repo范围的令牌(“完全控制私有存储库”)

    • 或者,如果仅使用公共存储库,则仅选择public_repo范围

  • 复制生成的token

与 Claude Desktop 一起使用

要将其与 Claude Desktop 一起使用,请将以下内容添加到您的claude_desktop_config.json中:

{ "mcpServers": { "github": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-github" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }

执照

此 MCP 服务器采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/asbloom-py/mcp-servers'

If you have feedback or need assistance with the MCP directory API, please join our Discord server