github-project-management
GitHub Project Management MCP Server
AIアシスタントがModel Context Protocolを介してGitHub Project V2ボードをプログラム的に管理できるようにするカスタムMCP(Model Context Protocol)サーバーです。Python 3.12とFastMCPで構築され、stdioトランスポートで通信し、スタンドアロンのDockerコンテナ内で実行されます。
場所
project/
├── mcp/ ← This directory (root-level, independent of the app)
│ ├── Dockerfile
│ ├── requirements.txt
│ ├── server.py # FastMCP entry point
│ ├── config.py
│ ├── auth.py
│ ├── capabilities.py # Tool → permission mapping
│ ├── profiles.py # Multi-target profile system
│ ├── tools/ # MCP tool definitions
│ ├── services/ # Business logic
│ ├── clients/ # GraphQL + gh CLI clients
│ ├── models/ # Pydantic models
│ ├── graphql/ # Query/mutation strings
│ ├── tests/ # Unit + contract tests
│ ├── scripts/ # Validation, preflight, secret scanning
│ │ ├── validate.sh # ← Run before every push
│ │ ├── preflight.sh # Environment prerequisites
│ │ ├── scan_secrets.sh # Token pattern detection
│ │ └── smoke_build.sh # Minimal build verification
│ ├── profiles/ # Target config (.env files, no secrets)
│ ├── docs/ # Detailed documentation
│ ├── LICENSE # MIT
│ ├── CONTRIBUTING.md
│ └── SECURITY.md注記: このMCPサーバーは、独自のDockerfile、依存関係、ライフサイクルを持つスタンドアロンコンポーネントです。
Related MCP server: my_pm_tools
仕組み
MCP Client → docker run --rm -i github-project-mcp:latest → stdin/stdout JSON-RPC → GitHub APIMCPクライアントがツール(例:
create_project_item)を呼び出しますdocker run --rm -i github-project-mcp:latest python server.pyが実行されますサーバーは認証を検証し、stdinでコマンドを待ち受けます
クライアントはstdin経由でJSON-RPCを送信し、stdoutで応答を受け取ります
終了時にコンテナは自動的に破棄されます(
--rm)
Docker — ビルドと管理
イメージのビルド
# Desde la raíz del proyecto
docker build -t github-project-mcp:latest ./mcpDocker Compose(ローカル開発)
MCPをローカルでセットアップして実行する最も簡単な方法:
# 1. Crear tu configuración local (una sola vez)
cp mcp/.env.example mcp/.env
# Editar mcp/.env con tu GITHUB_TOKEN y target (org/repo/project)
# 2. Construir y verificar
cd mcp/
make build
make verifyMakefileターゲット
すべてのターゲットはDocker内で実行されます — ホストの依存関係は不要です。
cd mcp/
make help # Mostrar todos los targets disponibles
make build # Construir imagen Docker
make verify # Validar auth + scopes + config
make test # Ejecutar unit tests
make validate # CI completo (build + syntax + tests + tools + secrets)
make tools # Contar herramientas registradas (>= 100)
make syntax # Verificar sintaxis Python
make secrets # Escanear credenciales en código
make shell # Shell interactivo dentro del contenedor
make clean # Eliminar imágenes注記: ホストで
makeが利用できない場合、ターゲットはDockerで直接呼び出すことができます。例:docker run --rm --env-file .env github-project-mcp:latest python3 scripts/verify_setup.py
各コントリビューターはリポジトリをクローンし、自分の .env を作成するだけで、Docker以外は何もインストールせずにMCPが動作します。
イメージが存在することを確認
docker images | grep github-project-mcp手動テスト(スモークテスト)
docker run --rm -i \
-e GITHUB_TOKEN="<your_token>" \
github-project-mcp:latest \
python server.pyサーバーはstderrに github-project-management MCP server ready. Authentication validated successfully. を出力します。
その後、stdinからのJSON-RPCを待ち受けます。終了するにはCtrl+Cを押します。
変更後の再ビルド
docker build -t github-project-mcp:latest ./mcp --no-cache管理スクリプト
./scripts/dev/start.sh スクリプトは、イメージを管理するための mcp 引数をサポートしています:
./scripts/dev/start.sh mcp build # Construir/reconstruir la imagen
./scripts/dev/start.sh mcp test # Ejecutar smoke test
./scripts/dev/start.sh mcp status # Verificar si la imagen existe注記: MCPは永続的なサービスではありません。
up/down/restartは不要です。クライアントがツールを使用するたびにオンデマンドで起動されます。
IDE統合
MCPは、stdio上でMCPプロトコルをサポートする任意のクライアントと互換性があります。 設定はIDEによって異なります — 一般的なパターンは次のとおりです:
{
"mcpServers": {
"github-project-management": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "GITHUB_TOKEN",
"--env-file", "mcp/.env",
"github-project-mcp:latest",
"python", "server.py"
]
}
}
}IDE固有の設定については、docs/SETUP.md を参照してください。
登録済みツール(100)
コア操作
ツール | 説明 |
| プロジェクト/フィールドIDを検出 |
| フィルター付きでアイテムを一覧表示 |
| Issueを作成してプロジェクトに追加 |
| ステータス、優先度、期限を更新 |
| ストーリーポイント見積もりを設定 |
| ボードからアイテムをアーカイブ |
Issue管理
ツール | 説明 |
| Issueをクローズ |
| クローズしたIssueを再オープン |
| Issueにコメントを追加 |
| タイトル、本文、ラベル、マイルストーン、担当者を編集 |
| サブIssueとしてリンク |
| サブIssueのリンクを解除 |
| Issueの完全な詳細 |
| クエリで検索 |
ボード操作
ツール | 説明 |
| 任意のステータス列に移動 |
| Doneとしてマーク |
| Trashに移動 |
| 複数アイテムを一括更新 |
| 複数のIssueを一括クローズ |
| 複数のIssueを一括割り当て |
計画とワークフロー
ツール | 説明 |
| スプリント計画を生成 |
| リリースノートを自動生成 |
| 完了ワークフロー全体を実行 |
| スタンドアップレポートを生成 |
| スプリントレビュー概要 |
| 提案を自動トリアージ |
| 期限超過アイテムにフラグ |
| 親+子を作成 |
| スプリントをクローズしてアイテムを移動 |
メタデータ
ツール | 説明 |
| GitHubマイルストーンを作成 |
| マイルストーンをクローズ |
| マイルストーンを一覧表示 |
| ラベルを作成 |
| ラベルを一覧表示 |
| ボード統計 |
| 現在のスプリント指標 |
アーキテクチャ
Tool Layer (FastMCP tool definitions)
↓
Service Layer (business logic, orchestration)
↓
Client Layer (GraphQL + gh CLI + caching)
↓
GitHub APIs (GraphQL v4 + REST v3)委任戦略
メソッド | 使用タイミング |
gh CLI | Issue CRUD、コメント、プロジェクトアイテム追加、クローズ |
カスタムGraphQL | フィールド更新、アーカイブ、検出、サブIssue |
環境変数
変数 | 必須 | 説明 |
| はい | GitHub PAT(fine-grainedまたはclassic) |
| はい | GitHubオーナー(組織またはユーザーログイン) |
| はい | リポジトリ名 |
| はい | Project V2ボード番号(1〜100000) |
トラブルシューティング
MCPが接続しない
# Verificar que la imagen existe
docker images | grep github-project-mcp
# Si no existe, construir
docker build -t github-project-mcp:latest ./mcp
# Verificar token
echo $GITHUB_TOKEN | head -c 20MCPの再接続
MCPがIDEから切断された場合は、対応するMCPクライアントの再接続オプションを使用してください。
認証エラー
コンテナ環境で
GITHUB_TOKENが利用可能であることを確認github_pat_*(fine-grained)トークンには権限が必要: Issues(RW)、Projects(RW)、Metadata(R)クラシックトークンにはスコープが必要:
repo、project、read:org
関連ドキュメント
ドキュメント | 目的 |
トークン設定と権限 | |
ツールの入出力例 | |
パラメータリファレンス | |
一般的なエラー |
ソースの場所と同期
このディレクトリ(mcp/)はMCPパッケージの正規のソースです。
リポジトリには同期されたコピーが次の場所にあります:
app/backend/app/mcp/github_project/— Dockerビルド用にバックエンドに埋め込まれています
同期ワークフロー
すべての変更はここ
mcp/で行います。変更したファイルを埋め込みパスにコピーします:
cp mcp/<file> app/backend/app/mcp/github_project/<file>自動チェックで検証します:
./mcp/scripts/check_sync.sh
同期スクリプトは、共有されているすべての .py ファイルを比較します(バックエンドのコピーで意図的に異なる __init__.py、および Dockerfile や requirements.txt などのインフラ専用ファイルは除外)。CIはプッシュのたびにこのチェックを実行します — 差分があるとビルドが失敗します。
バックエンドのコピーで意図的に異なるファイル
ファイル | 理由 |
| バックエンド固有のインポート+同期ソースのドキュメント |
| ここを参照; コピーポリシーを文書化 |
バックエンドのテストスイートは埋め込みコピーを実行します。構文検証は両方のツリーをコンパイルする必要があります。
強化されたランタイム動作
すべての設定は GH_PROJECT_ プレフィックスを使用し、起動時に検証されます:
設定 | デフォルト | 範囲/動作 |
|
| 1〜120秒 |
|
| 0〜5; 読み取りのみ、変更操作は再試行しない |
|
| 0〜60秒、指数バックオフ |
|
| 1〜720時間 |
|
| 設定可能なローカルパス |
|
| 1〜100 |
|
| 1〜1,000 |
|
| 10,000〜10,000,000 |
メタデータキャッシュはアトミックに書き込まれ、オーナーのみの権限(0600)を使用し、未来のタイムスタンプを拒否し、組織またはプロジェクト番号が異なる場合は再利用されません。CLIおよびGraphQLの診断はトークンに似た値をマスクし、MCPクライアントに返す前にサイズ制限されます。
Dockerのみでの検証
ホストのPythonツールなしで検証を実行:
# Compile both source copies through a Python container
tar -C . -cf - mcp app/backend/app/mcp \
| docker run --rm -i python:3.12-slim sh -c \
'mkdir -p /tmp/factib && tar -xf - -C /tmp/factib && \
python -m compileall -q /tmp/factib/mcp /tmp/factib/app/backend/app/mcp'
# Run the backend MCP tests using the existing backend image
tar -C . -cf - app/backend/app app/backend/tests/mcp \
| docker run --rm -i -e PYTHONPATH=/tmp/factib/app/backend backend:latest sh -c \
'mkdir -p /tmp/factib && tar -xf - -C /tmp/factib && cd /tmp/factib/app/backend && \
pytest -q --confcutdir=/tmp/factib/app/backend/tests/mcp tests/mcp'ローカル検証(プッシュ前)
PRを作成する前、または変更をプッシュする前に必ず実行してください。 これはCIパイプラインをローカルでミラーリングし、GitHub Actionsに到達する前に問題を検出します。
クイックスタート
# Full validation (builds image + runs all checks):
./mcp/scripts/validate.sh
# Quick mode (reuses cached image, skips rebuild):
./mcp/scripts/validate.sh --quick
# Auto-fix known issues (e.g., BOM characters):
./mcp/scripts/validate.sh --fixチェック内容
ステップ | 内容 | CIステップと同じ |
1. BOM | Pythonファイル内のUTF-8 BOMバイトを検出 | N/A(構文エラーを防止) |
2. ビルド |
| "Build MCP image" |
3. 構文 | イメージ内のすべての.pyファイルで | "Syntax check" |
4. テスト |
| "Run unit tests" |
5. ツール | 登録済みツール数をカウント(100以上である必要あり) | "Verify tool count" |
6. シークレット | 追跡対象ファイル内のトークンパターンをスキャン | N/A(公開前) |
利用可能なスクリプト
スクリプト | 目的 | 使用タイミング |
| 完全なCIミラー | すべてのプッシュ/PRの前 |
| 前提条件チェック(Docker、トークン、設定) | 初回セットアップまたは環境変更時 |
| シークレットパターン検出 | リポジトリ公開前 |
| 最小ビルド+ツール数 | クイック健全性チェック |
| マルチターゲット契約スイート | 構造変更後 |
一般的な問題と修正
問題 | 症状 | 修正 |
BOM文字 |
|
|
イメージが未ビルド | Dockerコマンドで「Image not found」 |
|
トークン未設定 | 事前チェックで「No GitHub token found」 |
|
ツール数が100未満 | 新しいツールがserver.pyに登録されていない | server.py内に |
実装済みおよび計画中の作業を含む完全な200項目のレジスタは、docs/HARDENING_200.mdにあります。
拡張機能スイート: 追加ツール60個
このサーバーは合計100以上のツールを公開しています。元の運用ツール40個に加え、tools/capability_suite.pyからの60個の特化機能です。
グループ | 目的 | 例 |
IssueとMarkdown品質 | Issueの検証、正規化、要約、テンプレート化、バンドル、レビュー |
|
コメントシステム | 進捗、計画、ブロッカー、解決コメントの作成、一覧表示、検索、編集 |
|
プロジェクトレポート | 健全性、ステータス、優先度、担当者、期限、フィールドのレポート |
|
プロジェクト計画 | Markdownのエクスポート/インポート、メタデータ同期計画、フィルタ一括計画 |
|
戦略的自動化 | スプリント計画、バックログ優先順位付け、リスク/依存関係レポート、ステークホルダー更新 |
|
ロードマップと意思決定 | チェンジログ、リリースチェックリスト、ロードマップ、レトロスペクティブ、自動化の意思決定 |
|
広範囲にわたる変更を引き起こす可能性のあるツールは、デフォルトでdry_runプランを返します。直接コメント操作を行うツールは、呼び出しごとに1回の可視コメント操作を実行します。機能カタログはインポート時に60個の一意な追加を検証し、Docker検証では両方のソースコピーで100個の登録済みFastMCPツールを確認します。
配布
Dockerイメージ
MCPサーバーはスタンドアロンのDockerイメージとして配布されます。ローカルでビルドするには:
docker build -t github-project-mcp:latest ./mcpCI/CDパイプライン
mcp-ci.yamlワークフローは、以下の場合に自動的に実行されます:
mcp/配下のファイルが変更されたmainへのプッシュmcp/パスに影響するプルリクエスト
パイプラインのステージ:
ビルド — Dockerイメージのビルド検証
構文チェック — すべてのPythonファイルのAST解析
ユニットテスト — pytestスイートの実行
ツール数検証 — 登録済みツールが100以上であることを確認
バージョニング
このMCPサーバーはセマンティックバージョニングに従います。リリース履歴はCHANGELOG.mdを参照してください。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables users to interact with GitHub's Projects v2 API through natural language for Agile project management, supporting repository details, issue tracking, and project board management operations.35GPL 2.0
- AlicenseAqualityBmaintenanceEnables natural language management of GitHub Projects V2, including issue creation, status changes, sprint reports, and project setup via MCP tools and shell scripts.311MIT
- FlicenseNot gradedqualityDmaintenanceEnables LLM agents to manage projects, track issues, log work, and integrate with Git. Provides 23 MCP tools for full project management capabilities.16
- AlicenseAqualityDmaintenanceEnables AI assistants to manage GitHub Projects V2, including items, fields, and views through a standardized interface.17121MIT
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Project management MCP for AI agents with safe task reads and writes.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jersonmartinez/mcp-github-projects'
If you have feedback or need assistance with the MCP directory API, please join our Discord server