Github Projects Mcp Server について
GitHub Projects V2 MCP サーバーは、GraphQL API を通じて GitHub Projects V2 のボードを管理するツールを提供します。Claude などの MCP クライアントからチケットを確認・更新したいユーザーを想定しています。repo、project、read:org 権限を持つ GitHub のパーソナルアクセストークンが必要です。
主な機能
- 01ユーザーおよび組織の Projects V2 の一覧表示
- 02プロジェクトのフィールドと項目の参照
- 03issue の作成とプロジェクトへの追加
- 04プロジェクトへのドラフト issue の作成
- 05プロジェクト項目のフィールド値の更新
- 06プロジェクトからの項目の削除
活用シーン
- 01チャットからプロジェクトボードのチケット状況を確認
- 02issue を作成して特定のプロジェクトに追加
- 03状態や単一選択フィールドによるプロジェクト項目の絞り込み
MCP 対応
本プロジェクトは MCP サーバーであり、Claude Desktop などの MCP クライアントに対して Projects V2 向けの 8 つのツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| owner | string | はい |
詳細
GitHub Projects V2 MCP サーバー
Claude などの MCP クライアントを通じて GitHub Projects V2 を管理するためのツールを提供する、Model Context Protocol(MCP)サーバーです。このサーバーは、GitHub Projects V2 とのやり取りに GitHub GraphQL API を使用します。
機能
- ユーザーや組織の GitHub Projects V2 を一覧表示して確認する
- プロジェクトのフィールドとアイテム(イシュー、PR、下書きイシュー)を取得する
- イシューを作成してプロジェクトに追加する
- プロジェクト内に下書きイシューを直接作成する
- プロジェクトアイテムのフィールド値を更新する
- プロジェクトからアイテムを削除する
使用方法
このサーバーは、Claude Desktop など、あらゆる MCP クライアントで使用できます。MCP クライアントの設定(例:claude_desktop_config.json)に追加してください。
オプション 1:公開パッケージを使用する
コマンドランナーとして uvx を使用する設定例です。
{
"mcpServers": {
"github-projects": {
"command": "uvx",
"args": [
"mcp-github-projects"
],
"env": {
"GITHUB_TOKEN": "your_pat_here"
}
}
}
}
your_pat_here を実際の GitHub Personal Access Token に置き換えてください。
オプション 2:ソースコードから実行する
プロジェクトをソースコードから直接実行するには、次の手順に従ってください。
セットアップ
-
リポジトリをクローンします。
git clone [email protected]:Arclio/github-projects-mcp.git cd github-projects-mcp -
仮想環境を作成して有効化します。
uv venv source venv/bin/activate -
依存関係をインストールします。
uv pip install -e . -
GitHub トークンを環境変数として設定します。
GitHub Personal Access Token を作成し、必要な権限を付与してください。 必要な権限は
repo、project、read:orgです。次のコマンドを実行した後、トークンを
.envファイルに追加します。cp .env.example .env次に、以下を
.envファイルに追加します。export GITHUB_TOKEN=your_personal_access_token
ソースコードからの使用方法
ソースコードから使用する場合は、次のように MCP クライアントを設定してください。
{
"mcpServers": {
"github-projects": {
"command": "uv",
"args": [
"--directory",
"/path/to/github-projects-mcp",
"run",
"mcp-github-projects"
],
"env": {
"GITHUB_TOKEN": "your_pat_here"
}
}
}
}
/path/to/github-projects-mcp と your_pat_here を、実際のリポジトリのパスと GitHub Personal Access Token に置き換えてください。
利用可能なツール
list_projects:指定した組織またはユーザーの GitHub Projects V2 を一覧表示するget_project_fields:GitHub Project V2 で利用可能なフィールドを取得するget_project_items:GitHub Project V2 のアイテムを取得する(ステータスまたはカスタムの単一選択フィールドでの絞り込みに対応)create_issue:新しい GitHub イシューを作成するadd_issue_to_project:既存の GitHub イシューを Project V2 に追加するupdate_project_item_field:プロジェクトアイテムのフィールド値を更新するcreate_draft_issue:GitHub Project V2 に下書きイシューを直接作成するdelete_project_item:GitHub Project V2 からアイテムを削除する
詳しい使用方法については、サーバーコード内のツールドキュメントを参照してください。
開発
プロジェクトは次のような構成です。
src/github_projects_mcp/:メインパッケージのディレクトリserver.py:ツール定義を含む MCP サーバーの実装github_client.py:GitHub API とのやり取りに使用する GraphQL クライアント
コントリビュートする際は、次の点を確認してください。
- すべての GraphQL 操作に適切なエラーハンドリングを追加する
- すべての関数とパラメーターに型アノテーションを追加する
- 新しいツールや機能を追加した際はドキュメントを更新する
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。