GitHub Project Manager MCP について
GitHub Project Manager MCPは、GitHub CLI(`gh`)を介してGitHubリソースを管理するMCPサーバーです。issuesとプルリクエストを扱い、GitHub Projectsとの連携は今後の予定として記載されています。
主な機能
- 01GitHub issuesの管理
- 02プルリクエストの管理
- 03GitHub CLI(`gh`)の利用
- 04Dockerコンテナでの実行
- 05GitHub APIを使った統合テスト
活用シーン
- 01GitHubリポジトリのissues管理
- 02MCPツール経由でのプルリクエスト操作
- 03GitHubトークンを使ったDockerでのサーバー実行
- 04テスト用リポジトリでのGitHub操作の検証
MCP 対応
MCPクライアントにGitHub管理ツールを提供し、操作にはGitHub CLI(`gh`)を使用します。READMEにはCursorでの設定方法が記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e GH_TOKEN ghcr.io/marioalvial/gh-project-manager-mcpGH_TOKENシークレットローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/marioalvial/gh-project-manager-mcpstdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GitHub プロジェクトマネージャー MCP
GitHub のプロジェクトを管理する MCP(Model Context Protocol)サーバーです。
説明
このプロジェクトは、GitHub プロジェクトの管理操作に特化した MCP サーバーを実装し、次のような一般的なタスクのために GitHub CLI(gh)との連携を提供します。
- issue の管理
- プルリクエストの管理
- 今後の予定:GitHub Projects との連携
Docker での使用
Docker イメージは、リリースごとに GitHub Container Registry に自動で公開されます。
docker run -i --rm -e GH_TOKEN=seu_token ghcr.io/marioalvial/gh-project-manager-mcp
Cursor での MCP の設定
この MCP を Cursor で使用するには、次の設定を .cursor/mcp.json に追加してください。
"gh-project-manager": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GH_TOKEN",
"ghcr.io/marioalvial/gh-project-manager-mcp"
],
"env": {
"GH_TOKEN": "seu_token_github"
}
}
バージョン管理
このプロジェクトは セマンティックバージョニング を使用し、コミットのパターンに基づいて新しいバージョンを自動でリリースします。
統合テスト
このプロジェクトには、実際の GitHub API を使用して GitHub MCP ツールの機能を検証する、包括的な統合テスト一式が含まれています。これらのテストでは、実行中に実際の GitHub リソースを作成・管理し、終了後にクリーンアップします。
統合テストの実行
統合テストを実行するには、適切な権限を持つ GitHub トークンが必要です。
- 少なくとも次のスコープを持つ GitHub 個人用アクセストークンを作成します:
repo、project - プロジェクトのルートに、次の内容を含む
.envファイルを作成します。GH_INTEGRATION_TEST_TOKEN=your_github_token_here GH_INTEGRATION_TEST_OWNER=marioalvial # or your own username/organization GH_INTEGRATION_TEST_REPO=gh-project-manager-mcp # or your own repository GH_INTEGRATION_TEST_PROJECT_ID=your_project_id # required for project tests - 統合テストを実行します。
make function-integration-test
テスト方法
統合テストでは、MCP プロトコル層を介さずに実装関数を直接呼び出し、GitHub CLI とのコアなやり取りに焦点を当てます。この方法により、次のことを確認できます。
- ツールの実装が GitHub CLI コマンドと正しく連携すること
- リソースの作成とクリーンアップが期待どおりに動作すること
- トークンの権限不足など、さまざまなシナリオで堅牢なエラー処理が行われること
テストは、さまざまな GitHub API の制限やトークンの権限に関する状況に対応できるよう設計されています。提供されたトークンで利用できない権限を必要とするテストは、自動的にスキップするか、適宜調整します。
注:テストでは実際の GitHub リソース(issue、PR、ブランチなど)を作成・管理するため、本番リポジトリが散らからないよう、テスト用リポジトリを使用してください。
プルリクエストのテスト用の行 — PR テスト向けに更新します。
デモ PR
この変更では、MCP ツールを使用して PR を作成する方法を示します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。