使用说明
🚀 GitHub MCP服务器-FastAPI实现
🌟 概述
该项目实现了 模型上下文协议(MCP)服务器 使用 快速 API,使像Claude这样的人工智能助手能够与GitHub进行交互。该服务器提供API端点,以获取用户详细信息、管理存储库、创建问题和自动化GitHub工作流。
✨ 特性
- ✅ 获取 GitHub用户详细信息 和存储库
- ✅ 创建和管理问题 在存储库中
- ✅ 列出所有问题 在存储库中
- ✅ 为存储库添加星标
- ✅ AI驱动 GitHub问题总结 (可选)
- ✅ 使用安全API GitHub OAuth令牌
- ✅ 异步 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终点
| 方法 | 端点 | 描述 |
|---|---|---|
| 获取 | / |
MCP服务器的健康检查 |
| 获取 | /github/user |
获取GitHub用户详细信息 |
| 获取 | /github/repos |
获取已验证用户的所有存储库 |
| 发布 | /github/create-issue |
在存储库中创建问题 |
| 获取 | /github/list-issues |
列出存储库中的所有问题 |
| 放 | /github/star-repo |
为存储库添加星标 |
| 发布 | /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通知
- 🔹 在AWS/GCP上部署 使用CI/CD管道
💡 贡献
想改进这个项目吗?请随意打开 拉取请求 或提交 问题!
👨💻 作者
🔹 斯涅哈·P·普拉塔普
🔹 github: @snehaapratap
🔹 领英: 斯内哈·普雷姆·普拉塔普