Github Mcp Server Fastapi Implementation

Github Mcp Server Fastapi Implementation

🚀 GitHub MCP 服务器 - FastAPI 实现

本项目借助 FastAPI 实现了一个 模型上下文协议(MCP)服务器,能让 AI 助手(如 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 端点

方法 端点 描述
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" \
-H "Content-Type: application/json" \
-d '{"owner":"username", "repo":"repository", "title":"Issue Title", "body":"Issue Body"}'

🔹 列出问题

curl -X GET "http://127.0.0.1:8000/github/list-issues?owner=username&repo=repository"

🔹 星标仓库

curl -X PUT "http://127.0.0.1:8000/github/star-repo" \
-H "Content-Type: application/json" \
-d '{"owner":"username", "repo":"repository"}'

🛡️ 错误处理

如果出现错误,例如无效的 GitHub 令牌,服务器将返回以下格式的消息:

{
"error": "Invalid GitHub Token",
"message": "Please provide a valid GitHub OAuth token."
}

这有助于开发者快速识别和解决错误。

🌟 未来增强

  • 支持管理 pull 请求
  • 添加 WebSocket 实时通知功能
  • 部署到云服务(如 AWS、Azure 或 Google Cloud)

这个项目展示了如何使用 FastAPI 快速构建一个与 GitHub 交互的 API 服务器。通过配置环境变量和简单的命令,开发者可以轻松启动并运行该服务器,开始与 GitHub 进行交互。

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-27 00:15

相似服务问题

相关AI产品