GitHub App MCP gateway
Provides GitHub App-authenticated access to GitHub repositories, issues, and pull requests, with operations scoped to a selected repository, organization, or user installation.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GitHub App MCP gatewaylist recent pull requests in octocat/Hello-World"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GitHub App MCP gateway
This is a local stdio MCP gateway for the official github-mcp-server. It adds a
required, nullable scope argument to every proxied GitHub tool, resolves the GitHub
App installation through GitHub's API, and starts one downstream server per active
installation. Downstream servers are stopped when the client session closes.
Configure
Copy config.example.yaml to config.yaml. The YAML file deliberately contains
only gateway-owned settings: the GitHub MCP executable, the GitHub App
private-key path and the default installation used for explicit scope: null.
Set appId in the YAML configuration. Every environment variable supplied by the
MCP client is forwarded to each github-mcp-server child, except values owned by
the gateway.
The gateway deliberately overrides only:
GITHUB_APP_ID, selected from YAML;GITHUB_APP_INSTALLATION_ID, selected fromscope;GITHUB_APP_PRIVATE_KEY_PATH, selected from YAML;GITHUB_APP_PRIVATE_KEY, removed so the configured key path is authoritative.
All gateway command-line arguments after -- are forwarded unchanged to the
GitHub MCP server. The gateway adds stdio when it is not already present.
Related MCP server: github-mcp-server
Build and register
npm install
npm run buildExample client configuration:
{
"command": "node",
"args": [
"/path/to/github-app-mcp-gateway/dist/index.js",
"--config", "/path/to/github-app-mcp-gateway/config.yaml",
"--",
"--toolsets", "repos,issues,pull_requests"
],
"env": {
"GITHUB_HOST": "https://github.com",
"GITHUB_API_URL": "https://api.github.com",
"GITHUB_LOCKDOWN_MODE": "1"
}
}The scope argument is required, but candidate scopes are deliberately not
enumerated in the tool definition. Pass a repository (owner/repo), organization,
or user name and the gateway will query GitHub for this App's installation ID;
use null only for an operation intentionally allowed through the configured
default installation. For repository and organization tools, the gateway rejects
a scope that does not match the original owner/repo/org arguments.
This server cannot be deployed
Maintenance
Related MCP Connectors
OAuth scope approvals and consent receipts for remote MCP servers.
Self-hosted federated MCP gateway: one OAuth 2.1 MCP server in front of N apps, user-level scopes.
Remote MCP for A2A caller identity, scope policy, verdict receipts, and audit history.
Authenticated, user-scoped MCP connectors for 30+ business systems.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceEnables executing arbitrary GraphQL queries and mutations against GitHub's API through a single MCP tool.13-
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with GitHub issues, pull requests, and Actions workflows through MCP tools.-
- AlicenseNot gradedqualityBmaintenanceEnables secure GitHub App authenticated Git operations and GitHub API workflows through MCP, using ephemeral containers and a private key broker to protect credentials.165 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables self-hosted, read-only remote interaction with GitHub repositories, allowing listing repositories, searching code, and inspecting commits, pull requests, issues, and diffs via authenticated MCP clients.71 npmMIT