mcpField
M
MCP Server for GitHub Pull Request Automation

MCP Server for GitHub Pull Request Automation

ローカル
github.com/pratik-mahalleバージョン管理078 週間前に更新

MCP Server for GitHub Pull Request Automation について

GitHubのWebhookイベントに応じてPRの作成とマージを自動化するGo製サーバーです。ブランチやイベントを条件にPRを処理したいリポジトリ管理者向けです。

主な機能

  1. 01`feature/` ブランチからPRを作成
  2. 02merge、squash、rebaseでPRをマージ
  3. 03pushとPRのWebhookに対応

活用シーン

  1. 01`feature/` ブランチのpush時にPRを作成
  2. 02PRのマージ方式を選択
  3. 03WebhookによるPR処理の確認

MCP 対応

MCPサーバーとして記載されていますが、READMEはGitHub WebhookによるPR自動化を説明しており、MCPクライアントに公開するツールやリソースは明記していません。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

GitHub プルリクエスト自動化用 MCP サーバー

MCP(Merge and Create Pull Request)サーバーは、GitHub のプルリクエスト(PR)を自動化するために設計された Go ベースのアプリケーションです。GitHub の Webhook イベント(プッシュや PR イベントなど)をリッスンし、特定の条件に基づいてプルリクエストを自動的に作成またはマージします。

機能

  • PR 作成の自動化: feature/ という命名規則に従うブランチのプルリクエストを自動的に作成します。
  • プルリクエストのマージ: 選択した戦略(merge、squash、または rebase)でプルリクエストをマージします。
  • Webhook の処理: GitHub の Webhook イベントをリッスンし、プッシュまたはプルリクエストのイベントに応じてアクションを実行します。

要件

  • Go 1.18+(サーバーのビルドおよび実行用)
  • リポジトリにアクセスできる GitHub アカウント
  • Ngrok(ローカルサーバーを公開 URL にトンネリングするために使用します。GitHub Webhook のテストに必要です)

セットアップ手順

1. リポジトリをクローンする

このリポジトリをローカルマシンにクローンします。

git clone https://github.com/your-username/github_mcp.git
cd github_mcp
2. 依存関係をインストールする

go get を使用して必要な依存関係をインストールします。

go mod tidy
3. 環境変数を設定する

認証情報を記載した Env Variables ファイルを作成します。

GITHUB_TOKEN=your_github_personal_access_token
OWNER=your_github_username
REPO=your_github_repository
BASE_BRANCH=main
4. Ngrok をインストールする

GitHub Webhook をローカルでテストする場合は、Ngrok を使用してローカルサーバーをインターネットに公開できます。

https://ngrok.com/download から Ngrok をダウンロードしてインストールします。

Ngrok のインストール後、ポート 8080 で実行します。

ngrok http 8080

これにより、GitHub リポジトリで Webhook を設定するために使用できる公開 URL が取得できます。(アプリを公開するより良い方法があれば、それを使用してください。)

5. サーバーを実行する

次のコマンドを使用してサーバーを実行します。

go run main.go

これにより、サーバーが http://localhost:8080 で起動します。

6. GitHub Webhook を設定する
  1. GitHub リポジトリに移動します。
  2. Settings > Webhooks > Add webhook に移動します。
  3. Payload URL フィールドに、Ngrok の URL またはローカルサーバーの URL を入力します:http://<ngrok-url>/webhook(例:http://1234.ngrok.io/webhook)。
  4. Content type を application/json に設定します。
  5. Webhook をトリガーするイベントを選択します。通常は Push と Pull request です。
  6. Webhook を保存します。
7. テストする
  • feature/ で始まるブランチにプッシュします(例:feature/new-feature)。
  • サーバーは、そのブランチからベースブランチへのプルリクエストを自動的に作成します。
  • プルリクエストがクローズされてマージされると、その内容がログに記録され、ステータスが更新されます。

コントリビューション

コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

このプロジェクトはオープンソースで、MIT License の下で公開されています。 `

コメント

MCP は初めてですか?

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

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