Back to MCP directory
publicPublicdnsLocal runtime

github-mcp-server-fastapi-implementation

该项目是一个基于FastAPI的GitHub MCP服务器,提供与GitHub交互的API接口,包括用户信息获取、仓库管理、问题创建等功能,支持AI辅助的Issue摘要生成。

article

README

🚀 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 进行交互。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client