mcpField
🚀
🚀 GitHub MCP Server - FastAPI Implementation

🚀 GitHub MCP Server - FastAPI Implementation

本地服务
github.com/snehaapratap开发工具185 周前更新

关于 🚀 GitHub MCP Server - FastAPI Implementation

基于 FastAPI 的 MCP 服务,可让 AI 助手执行 GitHub 操作,涵盖仓库与问题管理,并可选生成问题摘要。

主要功能

  1. 01获取用户资料和仓库
  2. 02创建及列出仓库问题
  3. 03为仓库加星
  4. 04可选生成 AI 问题摘要
  5. 05异步 FastAPI 接口

适用场景

  1. 01查看 GitHub 账户的仓库
  2. 02创建问题并检查已有问题
  3. 03通过助手为仓库加星
  4. 04汇总仓库问题

MCP 相关

通过 FastAPI 服务向 MCP 客户端提供 GitHub 账户、仓库和问题操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🚀 GitHub MCP 服务 - FastAPI 实现

🌟 概述

本项目使用 FastAPI 实现了一个 模型上下文协议(MCP)服务,使 Claude 等 AI 助手能够与 GitHub 交互。该服务提供 API 端点,用于获取用户详细信息、管理仓库、创建议题以及自动化 GitHub 工作流。

✨ 功能

  • ✅ 获取 GitHub 用户详细信息和仓库
  • ✅ 在仓库中创建和管理议题
  • ✅ 列出仓库中的所有议题
  • ✅ 为仓库加星
  • ✅ AI 驱动的 GitHub 议题摘要(可选)
  • ✅ 使用 GitHub OAuth 令牌保护 API
  • ✅ 异步 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-issuesAI 驱动的议题摘要(可选)

⚡ 使用示例(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 实时通知
  • 🔹 使用 CI/CD 流水线部署到 AWS/GCP

💡 贡献

想要改进这个项目?欢迎提交 拉取请求或创建 议题!


👨‍💻 作者

🔹 Sneha P Pratap
🔹 GitHub: @snehaapratap
🔹 LinkedIn:Sneha Prem Pratap


评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。