GitHub App Shim
FreeNot checkedA lightweight stdio-to-http relay that enables the GitHub MCP server to authenticate using a GitHub App instead of a Personal Access Token. It automatically man
About
A lightweight stdio-to-http relay that enables the GitHub MCP server to authenticate using a GitHub App instead of a Personal Access Token. It automatically manages fine-grained permissions and short-lived tokens for secure, organizational AI agent workflows.
README
A lightweight stdio-to-http relay that enables the GitHub MCP Server to authenticate using a GitHub App instead of a Personal Access Token (PAT).
Why use this?
The official GitHub MCP server typically requires a static PAT. This shim allows your AI agent to use a GitHub App's fine-grained permissions and short-lived tokens, which is more secure for organizational use and avoids the 1-year expiration limit of standard tokens.
Features
- Auto-Refresh: Automatically exchanges your App's Private Key for a fresh Installation Access Token every 50 minutes.
- Stdio Bridge: Acts as a local
stdioserver for AI clients (like Claude Desktop) while communicating with GitHub's remote MCP endpoint overhttps. - Environment Driven: No secrets are hardcoded; all identifiers are passed via environment variables.
Prerequisites
- Python 3.9+
- A GitHub App registered in your organization with the necessary permissions (e.g.,
Contents: Read/Write,Metadata: Read-only). - The App must be installed on the target organization or repositories.
Installation
- Clone or copy the
github_shim.pyandpyproject.tomlinto a folder. - Install the dependencies:
pip install .
Finding Your Credentials
| Identifier | Where to find it |
|---|---|
| Client ID | Found on the General settings page of your GitHub App (e.g., Iv23liABC123). |
| Private Key | Generate and download the .pem file from the General settings page. |
| Installation ID | Navigate to your Org Settings > Installed GitHub Apps > Click Configure next to your app. The ID is the numeric string at the end of the URL (e.g., .../installations/12345678). |
Configuration
Claude Desktop
Add the following to your claude_desktop_config.json (found at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"github-app-agent": {
"command": "github-mcp-shim",
"env": {
"GH_CLIENT_ID": "YOUR_CLIENT_ID",
"GH_INSTALLATION_ID": "YOUR_INSTALL_ID",
"GH_PRIVATE_KEY_PATH": "/absolute/path/to/your-app.private-key.pem",
"GH_REMOTE_MCP_URL": "https://api.githubcopilot.com/mcp" // optional
}
}
}
}
Security Note
Keep your .pem private key file secure. Anyone with access to this file and your Client ID can impersonate your agent and access the repositories authorized during the app installation.
Install GitHub App Shim in Claude Desktop, Claude Code & Cursor
unyly install github-mcp-app-shimInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add github-mcp-app-shim -- uvx --from git+https://github.com/incognita-labs/github-mcp-shim github-mcp-shimStep-by-step: how to install GitHub App Shim
FAQ
Is GitHub App Shim MCP free?
Yes, GitHub App Shim MCP is free — one-click install via Unyly at no cost.
Does GitHub App Shim need an API key?
No, GitHub App Shim runs without API keys or environment variables.
Is GitHub App Shim hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install GitHub App Shim in Claude Desktop, Claude Code or Cursor?
Open GitHub App Shim on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare GitHub App Shim with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
