mcpField
G
GitHub MCP Server

GitHub MCP Server

本地服务
github.com/peterparker57版本控制093 周前更新

关于 GitHub MCP Server

GitHub MCP Server 将 MCP 客户端连接到 GitHub,支持账户、仓库、文件和提交操作。它还可同步目录并比较仓库。

主要功能

  1. 01账户选择与身份验证
  2. 02创建和管理仓库
  3. 03读取、写入、推送和拉取文件
  4. 04同步本地与远程目录
  5. 05创建和列出提交
  6. 06比较仓库并查看差异

适用场景

  1. 01创建或重命名 GitHub 仓库
  2. 02在本地与 GitHub 之间传输文件
  3. 03将本地目录与仓库同步
  4. 04查看仓库提交和差异

MCP 相关

向 MCP 客户端提供 GitHub 账户、仓库、文件、同步和提交操作工具。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

GitHub MCP 服务

一个提供 GitHub 集成能力的模型上下文协议(MCP)服务。此服务可通过 MCP 工具与 GitHub 仓库交互,支持仓库管理、文件操作和提交处理等操作。

功能

  • 账户管理和身份验证
  • 创建和管理仓库
  • 文件操作(读取、写入、推送、拉取)
  • 提交操作
  • 目录同步
  • 仓库比较和差异分析

安装

ash npm install @modelcontextprotocol/server-github

配置

将此服务添加到 MCP 设置文件(cline_mcp_settings.json)中:

json { "mcpServers": { "github": { "command": "node", "args": ["/path/to/github-mcp-server/dist/index.js"], "env": { "GITHUB_TOKEN_1": "your-github-token", "GITHUB_OWNER_1": "your-github-username" }, "disabled": false, "alwaysAllow": [] } } }

可用工具

账户管理
list_accounts

列出服务中配置的可用 GitHub 账户。

select_account

选择一个 GitHub 账户,用于后续操作。

仓库管理
create_repository

创建新的 GitHub 仓库。

ypescript { owner?: string; // 仓库所有者(如果已选择账户,则可选) name: string; // 仓库名称 description: string; // 仓库描述 private?: boolean; // 仓库是否为私有 }

clone_repository

将 GitHub 仓库克隆到本地目录。

ypescript { owner?: string; // 仓库所有者 repo: string; // 仓库名称 branch?: string; // 分支名称(默认值:main) outputDir: string; // 克隆到的本地目录 }

rename_repository

重命名现有的 GitHub 仓库。

ypescript { owner?: string; // 仓库所有者 repo: string; // 当前仓库名称 new_name: string; // 新仓库名称 }

文件操作
push_file

将文件推送到 GitHub 仓库。

ypescript { owner?: string; // 仓库所有者 repo: string; // 仓库名称 path: string; // 仓库中的目标路径 message: string; // 提交信息 sourcePath: string; // 要推送的本地文件 }

pull_file

从 GitHub 仓库拉取文件。

ypescript { owner?: string; // 仓库所有者 repo: string; // 仓库名称 path: string; // 仓库中的文件路径 outputPath: string; // 保存文件的本地路径 }

sync_directory

在本地目录和远程目录之间进行双向同步。

ypescript { owner?: string; // 仓库所有者 repo: string; // 仓库名称 path: string; // 仓库中的目录路径 localPath: string; // 本地目录路径 }

提交操作
create_commit

创建包含多个文件更改的提交。

ypescript { owner?: string; // 仓库所有者 repo: string; // 仓库名称 branch: string; // 分支名称 message: string; // 提交信息 changes: Array<{ path: string; // 仓库中的文件路径 sourcePath: string; // 本地文件路径(用于添加/修改) operation: 'add' | 'modify' | 'delete'; }>; }

list_commits

列出仓库的提交记录。

ypescript { owner?: string; // 仓库所有者 repo: string; // 仓库名称 branch?: string; // 分支名称 author?: string; // 按作者筛选 since?: string; // ISO 8601 日期 - 此日期之后的提交 until?: string; // ISO 8601 日期 - 此日期之前的提交 }

开发

构建服务:

ash npm install npm run build

环境变量

  • GITHUB_TOKEN_:GitHub 个人访问令牌
  • GITHUB_OWNER_:令牌对应的 GitHub 用户名
  • DEFAULT_OWNER:要使用的默认 GitHub 账户

通过递增 N(1、2 等)可以配置多个账户。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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