mcpField
🚀
🚀 GitHub MCP Server - FastAPI Implementation

🚀 GitHub MCP Server - FastAPI Implementation

ローカル
github.com/snehaapratap開発ツール185 週間前に更新

🚀 GitHub MCP Server - FastAPI Implementation について

AI アシスタントから GitHub を操作する FastAPI ベースの MCP サーバーです。リポジトリや Issue を管理でき、任意で Issue の要約も行えます。

主な機能

  1. 01ユーザー情報とリポジトリの取得
  2. 02リポジトリ Issue の作成と一覧表示
  3. 03リポジトリへのスター付与
  4. 04任意の AI による Issue 要約
  5. 05非同期 FastAPI API

活用シーン

  1. 01GitHub アカウントのリポジトリ確認
  2. 02Issue の作成と既存 Issue の確認
  3. 03アシスタント経由でリポジトリにスターを付与
  4. 04リポジトリ Issue の要約

MCP 対応

FastAPI サーバーを通じて、GitHub アカウント、リポジトリ、Issue の操作を MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🚀 GitHub MCP Server - FastAPI 実装

🌟 概要

このプロジェクトでは、FastAPI を使用して Model Context Protocol(MCP)サーバーを実装し、Claude のような AI アシスタントが GitHub と連携できるようにします。このサーバーは、ユーザー情報の取得、リポジトリの管理、イシューの作成、GitHub ワークフローの自動化を行う API エンドポイントを提供します。

✨ 機能

  • ✅ GitHub ユーザー情報とリポジトリの取得
  • ✅ リポジトリのイシューの作成と管理
  • ✅ リポジトリ内のすべてのイシューの一覧表示
  • ✅ リポジトリにスターを付ける
  • ✅ AI を活用したGitHub イシューの要約(任意)
  • ✅ GitHub OAuth Tokenによる安全な 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 Personal Access Token(PAT)**を追加します。

GITHUB_TOKEN=your_personal_access_token
5️⃣ FastAPI サーバーを起動する
uvicorn server:app --reload

サーバーは http://127.0.0.1:8000 で起動します。


🔥 API エンドポイント

メソッドエンドポイント説明
GET/MCP サーバーのヘルスチェック
GET/github/userGitHub ユーザー情報を取得
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."
}

🎯 今後の機能強化

  • 🔹 プルリクエスト管理への対応
  • 🔹 リアルタイムの GitHub 通知に対応する WebSockets の実装
  • 🔹 CI/CD パイプラインを利用した AWS/GCP へのデプロイ

💡 コントリビューション

このプロジェクトを改善しませんか?お気軽に プルリクエストを作成するか、イシューを登録してください。


👨‍💻 作者

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


コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。