返回 MCP 目录
public公开dns本地运行

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

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端