GitHub MCP服务器

一个基于FastAPI的GitHub MCP服务器,提供API端点以获取用户详情、管理仓库、创建问题并自动化GitHub工作流。

  • by snehaapratap
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 snehaapratap/mcp-server

使用说明

🚀 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
🔹 领英: 斯内哈·普雷姆·普拉塔普