关于 GitHub MCP Server
GitHub MCP Server 将 MCP 客户端连接到 GitHub,支持账户、仓库、文件和提交操作。它还可同步目录并比较仓库。
主要功能
- 01账户选择与身份验证
- 02创建和管理仓库
- 03读取、写入、推送和拉取文件
- 04同步本地与远程目录
- 05创建和列出提交
- 06比较仓库并查看差异
适用场景
- 01创建或重命名 GitHub 仓库
- 02在本地与 GitHub 之间传输文件
- 03将本地目录与仓库同步
- 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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。