article
README
🚀 GitHub MCP 服务器
GitHub MCP(Model Context Protocol)服务器提供了与 GitHub 平台交互的功能,可用于代码搜索、问题跟踪、仓库管理等操作,能有效辅助开发、管理项目、实现自动化工作流以及促进团队协作。
🚀 快速开始
安装依赖
运行以下命令安装必要的依赖:
npm install @github/mcp-server --save
初始化服务器
创建并运行以下配置文件 mcp-config.json:
{
"servers": {
"github": {
"url": "https://api.github.com",
"token": "your-personal-access-token"
}
}
}
✨ 主要特性
概念
GitHub MCP 服务器支持以下操作:
- 代码搜索:通过语言、路径、文件扩展名等条件搜索代码
- 问题跟踪:查看和管理问题(Issues)和拉取请求(Pull Requests)
- 仓库管理:创建、删除和管理仓库
- 团队协作:与团队成员协作,管理团队和权限
- 活动监控:监控仓库的提交历史和活动记录
使用场景
- 开发辅助:快速查找代码片段或功能实现
- 项目管理:跟踪问题和拉取请求的状态
- 自动化工作流:集成到 CI/CD 工作流中进行自动测试和部署
- 团队协作:在团队内部高效地管理和分配任务
📦 安装指南
个人访问令牌
创建 GitHub 个人访问令牌:
- 登录 GitHub 账户设置
- 选择需要权限的仓库(公共、全部或指定)
- 创建具有
repo权限的令牌(推荐使用public_repo权限处理公开仓库)
集成到 Claude Desktop
将以下配置添加到 claude_desktop_config.json:
Docker 方式:
{
"mcpServers": {
"github": {
"type": "docker",
"containerName": "github-mcp-server",
"imageName": "ghcr.io/your-org/github-mcp:latest"
}
}
}
直接配置方式:
{
"mcpServers": {
"github": {
"type": "direct",
"endpoint": "http://localhost:3000",
"token": "your-personal-access-token"
}
}
}
💻 使用示例
命令行工具
安装工具
使用 npm 包管理器安装:
npm install -g @github/mcp-cli
基础用法
- 登录 GitHub 账户:
mcp login --token your-personal-access-token
- 搜索代码片段:
mcp search "node.js" --language=typescript
- 创建新仓库:
mcp create-repo my-new-repo
代码及问题搜索
代码搜索
通过以下语法可以实现精确的代码搜索:
language:javascript:按编程语言筛选repo:owner/name:指定仓库范围path:app/src:按文件路径筛选extension:js:按文件扩展名筛选- 示例:
q: "import express" language:typescript path:src/
问题搜索
通过以下语法可以实现问题和拉取请求的搜索:
is:issue或is:pr:按类型筛选is:open或is:closed:按状态筛选label:bug:按标签筛选author:username:按作者筛选- 示例:
q: "memory leak" is:issue is:open label:bug
用户搜索
通过以下语法可以实现用户或组织的搜索:
type:user或type:org:按账户类型筛选followers:>1000:按关注者数量筛选location:London:按地理位置筛选- 示例:
q: "fullstack developer" location:London followers:>100
详细搜索语法
请参考GitHub 官方文档。
📚 详细文档
常见问题
1. 如何获取个人访问令牌?
- 登录 GitHub 账户,进入 账户设置
- 点击 "Generate new token" 按钮
- 配置权限后生成令牌
2. 如何解决认证问题?
- 确保令牌具有正确的权限(至少需要
repo权限) - 检查令牌是否已过期或被 revoke
开发指南
扩展功能
- 自定义命令:开发新的 CLI 命令扩展功能
- 插件系统:创建可插拔的组件扩展服务器功能
- 钩子机制:实现预处理和后处理逻辑
贡献代码
- Fork 项目仓库
- 创建功能分支
- 提交代码并发起 Pull Request
📄 许可证
本项目遵循 MIT 协议,具体内容如下:
MIT License
Copyright (c) [年份] [作者姓名]
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
👥 贡献者
- [你的名字] - 初始开发
- [其他贡献者姓名] - 功能扩展
通过以上指南,您可以轻松地将 GitHub MCP 服务器集成到您的开发流程中,并提升团队协作效率。
微信扫一扫