关于 🚀 GitHub MCP Server - FastAPI Implementation
基于 FastAPI 的 MCP 服务,可让 AI 助手执行 GitHub 操作,涵盖仓库与问题管理,并可选生成问题摘要。
主要功能
- 01获取用户资料和仓库
- 02创建及列出仓库问题
- 03为仓库加星
- 04可选生成 AI 问题摘要
- 05异步 FastAPI 接口
适用场景
- 01查看 GitHub 账户的仓库
- 02创建问题并检查已有问题
- 03通过助手为仓库加星
- 04汇总仓库问题
MCP 相关
通过 FastAPI 服务向 MCP 客户端提供 GitHub 账户、仓库和问题操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🚀 GitHub MCP 服务 - FastAPI 实现
🌟 概述
本项目使用 FastAPI 实现了一个 模型上下文协议(MCP)服务,使 Claude 等 AI 助手能够与 GitHub 交互。该服务提供 API 端点,用于获取用户详细信息、管理仓库、创建议题以及自动化 GitHub 工作流。
✨ 功能
- ✅ 获取 GitHub 用户详细信息和仓库
- ✅ 在仓库中创建和管理议题
- ✅ 列出仓库中的所有议题
- ✅ 为仓库加星
- ✅ AI 驱动的 GitHub 议题摘要(可选)
- ✅ 使用 GitHub OAuth 令牌保护 API
- ✅ 异步 FastAPI 实现
🛠️ 设置与安装
1️⃣ 克隆仓库
git clone https://github.com/snehaapratap/mcp-server.git
cd mcp-server
2️⃣ 创建并激活虚拟环境
python3 -m venv venv
source venv/bin/activate
3️⃣ 安装依赖项
pip install -r requirements.txt
4️⃣ 设置环境变量
在根目录中创建 .env 文件,并添加你的 GitHub 个人访问令牌(PAT):
GITHUB_TOKEN=your_personal_access_token
5️⃣ 运行 FastAPI 服务
uvicorn server:app --reload
服务将在 http://127.0.0.1:8000 上启动。
🔥 API 端点
| 方法 | 端点 | 描述 |
|---|---|---|
| GET | / | MCP 服务运行状况检查 |
| GET | /github/user | 获取 GitHub 用户详细信息 |
| GET | /github/repos | 获取已认证用户的所有仓库 |
| POST | /github/create-issue | 在仓库中创建议题 |
| GET | /github/list-issues | 列出仓库中的所有议题 |
| PUT | /github/star-repo | 为仓库加星 |
| POST | /github/summarize-issues | AI 驱动的议题摘要(可选) |
⚡ 使用示例(cURL)
🔹 获取用户详细信息
curl -X GET "http://127.0.0.1:8000/github/user"
🔹 获取仓库
curl -X GET "http://127.0.0.1:8000/github/repos"
🔹 创建议题
curl -X POST "http://127.0.0.1:8000/github/create-issue?owner=your-username&repo=your-repo&title=New%20Issue&body=This%20is%20a%20test%20issue"
🔹 为仓库加星
curl -X PUT "http://127.0.0.1:8000/github/star-repo?owner=your-username&repo=your-repo"
🎥 幻灯片
📌 查看幻灯片
🛡️ 错误处理
API 会妥善处理错误并返回有意义的消息:
{
"error": "Invalid GitHub Token",
"hint": "Ensure your token has the 'repo' scope."
}
🎯 未来改进
- 🔹 支持拉取请求管理
- 🔹 实现 WebSockets,以接收 GitHub 实时通知
- 🔹 使用 CI/CD 流水线部署到 AWS/GCP
💡 贡献
想要改进这个项目?欢迎提交 拉取请求或创建 议题!
👨💻 作者
🔹 Sneha P Pratap
🔹 GitHub: @snehaapratap
🔹 LinkedIn:Sneha Prem Pratap
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。