@brycepelletier/github-app-mcp
@brycepelletier/github-app-mcp
GitHub Operator ロールのための単一の MCP stdio ファサードです。アクティブなワークスペースに対する制限付き Git 操作と、GitHub 公式 MCP サーバーに委譲された GitHub API ツールを組み合わせます。GitHub App の秘密鍵やインストールトークンを返すことは決してありません。
アーキテクチャと責務の分担
Software Engineer GitHub Operator
| |
agent-env-mcp github-app-mcp
| /-----------+-----------\
source/build/edit ephemeral Git runtime official GitHub MCP
.git masked real .git GitHub API
no GitHub credentials local: no network fixed toolsets
remote: App authagent-env-mcp はエンジニアリング機能面として残ります。そのエンジニアリングコンテナは .git を物理的にマスクし、GitHub の認証情報を受け取りません。このパッケージは、github-operator.agent.md に対してモデルに公開される唯一の Git/GitHub 面です。
ファサードは MCP roots/list でワークスペースを検出し、ローカルの file: ルートを正確に 1 つ要求し、ファイルシステムルートを拒否し、実際の .git メタデータを要求します。モデルのツールパラメータでホストパス、PEM、イメージ、ツールセット、Docker 引数を選択することはできません。
信頼境界と Docker の動作
MCP client
| stdio
host-side trusted launcher (may control Docker; no Docker socket is mounted)
|-- git_local -> ephemeral container, workspace mount, network=none, no PEM
|-- git_remote -> ephemeral container, workspace + read-only PEM, GitHub HTTPS
`-- API tools -> ghcr.io/github/github-mcp-server, read-only PEMローカル Git とリモート Git は異なる実行モードを持ちます。git_local はシェルや任意の Git 引数配列ではなく、操作の列挙型と型付きフィールドを公開します。そのコンテナには実際の .git がありますが、ネットワークも認証情報もありません。
git_remote は境界が設定された remote/ref フィールドを持つ fetch、fast-forward のみの pull、push、ls_remote のみを受け付けます。認証情報を含まない https://github.com/owner/repository リモートを要求し、設定されたリモートからリポジトリ ID を導出し、contents:write と workflows:write を持つそのリポジトリに限定されたインストールトークンを要求します。トークンはエフェメラルランタイム内で生成され、プライベートな askpass ヘルパーを通じて Git に供給され、出力からは除去され、コンテナとともに破棄されます。pull はまず認証付き fetch を実行し、その後認証情報なしの --ff-only マージを実行します。
Git フック、グローバル/システム設定、ファイルトランスポート、サブモジュールの再帰処理、対話型エディタ、GPG 署名、ターミナルの認証情報プロンプトは無効化されています。出力は制限され、GitHub トークンパターンと認証情報を含む URL が除去されます。
GitHub Issues、プルリクエスト、レビュー、Actions、Projects、検索は再実装されません。これらは MCP 経由で以下にプロキシされます:
ghcr.io/github/github-mcp-server公式サーバーは正確に以下を受け取ります:
GITHUB_TOOLSETS=context,issues,pull_requests,actions,projects無関係なツールセットが暗黙的に有効化されることはありません。
設定と来歴
ランチャーは以下を認識します:
GITHUB_APP_ID— デフォルトは4618233。GITHUB_APP_INSTALLATION_ID— デフォルトは154276908。GITHUB_APP_PRIVATE_KEY_PATH— 必須の絶対パスまたは解決可能なホストパス。
この 2 つの数値デフォルトは、ユーザーの既存の VS Code GitHub MCP 設定と、GitHub App bp-agent-github-app 向けの以前の compose セットアップで動作確認された値として文書化されています。これらはデフォルト値であり、説明のないパッケージ全体の秘密情報ではなく、上書き可能です。リポジトリへのアクセスについては、GitHub のインストール/設定ページが引き続き信頼できる情報源です。この App は元々 brycepelletier/environment-controller 用にインストールされました。
このパッケージには意図的にデフォルトのホスト PEM ファイル名がありません。以前の資料では C:/Users/bryce/.ssh/ 配下のどこかにあったことだけが確認されており、安全に推測するには不十分です。設定されたホストファイルは、固定のコンテナパス /secrets/github-app.pem に読み取り専用でマウントされます。キーは npm パッケージにコピーされたり、出力されたり、ツール入力として受け付けられたり、MCP 経由で返されたりすることはありません。
ホストの前提条件と MCP ライフサイクル
Node.js 24 LTS または互換性のある Node 24 リリース
Linux コンテナ対応の Docker
信頼されたホスト側ランチャーから読み取り可能な GitHub App PEM
MCP roots を通じて提供される 1 つのローカル Git ワークスペース
リモート Git コンテナと公式 GitHub コンテナからのネットワークアクセス
公式 GitHub 子サーバーは、ツールが一覧表示されたとき、または API ツールが呼び出されたときに遅延起動します。Git ランタイムイメージは最初の Git 操作で遅延ビルドされ、パッケージバージョン/コンテンツから導出されたローカルタグによって再利用されます。Git 操作コンテナはエフェメラル(--rm)です。SIGINT/SIGTERM は公式子トランスポートを閉じます。
ローカルリンク
このパッケージディレクトリで Git Bash から:
npm run linkリンクを解除するには:
npm run unlinkVS Code の設定
ホスト PEM パスを環境設定として指定し、1 つの MCP エントリを公開します:
{
"servers": {
"github": {
"type": "stdio",
"command": "npx",
"args": ["--yes", "@brycepelletier/github-app-mcp@0.1.0"],
"env": {
"GITHUB_APP_PRIVATE_KEY_PATH": "<exact-host-path-to-existing-pem>"
}
}
}
}動作確認済みの App ID とインストール ID は、文書化されたデフォルトを上書きしない限り繰り返す必要はありません。
github-token-broker からの移行
以前のプライベートブローカーは 0.0.0.0:8080 で待ち受け、GET /credential から Git の credential-helper 形式でインストールトークンを返していました。このアーキテクチャは廃止されました。このパッケージには HTTP リスナー、認証情報エンドポイント、トークンレスポンスはありません。既存のブローカーソースは監査/移行履歴のために保持されていますが、このパッケージには同梱されません。
このパッケージが運用開始されたら、agent-env-mcp で Git サービスと公開されている git_command を削除するフォローアップを行ってください。これは意図的に今回の変更の範囲外です。エンジニアリングサービスは、実際の .git をマスクし続け、PEM、インストールトークン、GitHub MCP ツールを受け取ってはなりません。
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 Connectors
GitHub Private MCP Pack — access private repos, org data via OAuth.
A MCP server built for developers enabling Git based project management with project and personal…
Remote MCP for Copilot CLI switch gate MCP, structured receipts, audit logs, and reviewer-ready evid
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/brycepelletier/github-app-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server