GitHub MCP Server
Aembit supports the official GitHub MCP server, which lets AI Agent: A software workload that authenticates to systems, requests credentials, and accesses resources, either on behalf of a person or on its own. Aembit secures AI agents with the same identity-first model it uses for any workload. User-driven agents such as Claude Desktop also carry a blended identity that ties access to both the user and the agent.Learn more work with repositories, issues, and pull requests through Model Context Protocol: A standard protocol for AI agent and server interactions that defines how AI assistants communicate with external tools and data sources.Learn more(opens in new tab) tools.
This page describes how to configure GitHub as an MCP Server: A server that implements the Model Context Protocol to provide tools, resources, or data to AI agents and MCP clients.Learn more(opens in new tab) behind the Aembit MCP Identity Gateway: A component that brokers MCP traffic between MCP clients and target MCP servers, validating authorization and presenting Aembit-managed credentials on each request.Learn more.
This guide builds the Gateway-to-Server Policy: The Access Policy that authorizes the MCP Identity Gateway to access an MCP server on behalf of authenticated users—the Gateway itself is the Client Workload. Also called right-side auth; each MCP server behind the Gateway needs its own.Learn more—the second of the two Access Policy: Access Policies define, enforce, and audit access between Client and Server Workloads by cryptographically verifying workload identity and contextual factors rather than relying on static secrets.Learn more the MCP Identity Gateway requires. You create the first, the Client-to-Gateway Policy: The Access Policy that validates which MCP client can connect to the MCP Identity Gateway and authenticates users through your Identity Provider. Also called left-side auth; you create one per MCP client and Gateway combination.Learn more, during Gateway setup.
Prerequisites
Section titled “Prerequisites”Before you begin, ensure you have the following:
- A GitHub account with a GitHub Copilot subscription (Individual, Business, or Enterprise)
- A configured Aembit MCP Identity Gateway
Requirements and considerations
Section titled “Requirements and considerations”Before you configure GitHub, review these requirements and behaviors specific to GitHub’s MCP server.
- Admin-Based Auth requires a GitHub App, not an OAuth App. GitHub OAuth Apps only issue an access token—no refresh token. Admin-Based Auth requires both, so use a GitHub App and keep the Expire user authorization tokens checkbox checked when creating it.
- Copilot subscription required. The GitHub MCP server is part of GitHub Copilot; users need a Copilot subscription (Individual, Business, or Enterprise).
Choose an authentication approach
Section titled “Choose an authentication approach”Aembit supports two authentication approaches for GitHub. The tabs in the following sections stay in sync with the approach you choose.
- User-Based: each user authenticates with their own GitHub identity, and the Gateway injects that user’s token into MCP requests. Aembit stores and refreshes each user’s tokens individually.
- Admin-Based: an administrator completes the OAuth flow once during setup, and all users who access GitHub through the Gateway share the resulting tokens.
Choose a GitHub app type
Section titled “Choose a GitHub app type”GitHub doesn’t support OAuth Dynamic Client Registration, so an administrator must register an app before users can authenticate. The two authentication approaches require different app types. User-Based Auth uses a GitHub OAuth App, while Admin-Based Auth requires a GitHub App—OAuth Apps don’t issue the refresh tokens that Admin-Based Auth needs.
Using the GitHub MCP server also requires a GitHub Copilot subscription (Individual, Business, or Enterprise).
Configure the Credential Provider
Section titled “Configure the Credential Provider”Create an MCP User-Based Access Token Credential Provider: Credential Providers obtain the specific access credentials—such as API keys, OAuth tokens, or temporary cloud credentials—that Client Workloads need to authenticate to Server Workloads.Learn more in Aembit.
-
Log into your Aembit Tenant.
-
Go to Credential Providers in the left sidebar and click + New.
-
Configure the following fields:
Field Value Name A user-friendly name Credential Type MCP User-Based Access Token MCP Server URL https://api.githubcopilot.com/mcpClient ID The Client ID you copied earlier Client Secret The Client Secret you copied earlier PKCE Required On Lifetime 1 yearFor MCP Server URL, click Discover to populate the Authorization URL and Token URL.
-
Click Save.
-
Copy the read-only Callback URL from the Credential Provider.
Create an OAuth 2.0 Authorization Code Credential Provider: Credential Providers obtain the specific access credentials—such as API keys, OAuth tokens, or temporary cloud credentials—that Client Workloads need to authenticate to Server Workloads.Learn more in Aembit.
-
Log into your Aembit Tenant.
-
Go to Credential Providers in the left sidebar and click + New.
-
Configure the following fields:
Field Value Name A user-friendly name Credential Type OAuth 2.0 Authorization Code Client ID The Client ID you copied earlier Client Secret The Client Secret, if required—see the app setup notes OAuth URL https://github.com/login/oauthPKCE Required On Lifetime 1 yearFor OAuth URL, click URL Discovery to populate the Authorization URL and Token URL.
-
Click Save.
-
Copy the read-only Callback URL from the Credential Provider.
Create the GitHub app
Section titled “Create the GitHub app”User-based auth uses a GitHub OAuth App.
- Go to GitHub Settings > Developer settings > OAuth Apps and click New OAuth App.
- Set the Authorization callback URL to the Aembit Credential Provider’s Callback URL. Copy the exact read-only value from the Credential Provider after you create it in Aembit.
- Copy the Client ID and generate a Client Secret, and store them for the Credential Provider configuration.
- To support additional Aembit Tenants, add each Tenant’s Callback URL to the OAuth App settings.
Admin-Based Auth requires a GitHub App, not an OAuth App—OAuth Apps issue only an access token, and Admin-Based Auth needs a refresh token too.
- Go to GitHub Settings > Developer settings > GitHub Apps and click New GitHub App.
- Set the Callback URL to the Aembit Credential Provider’s Callback URL. Copy the exact read-only value from the Credential Provider after you create it in Aembit.
- Keep the Expire user authorization tokens checkbox checked—this setting causes GitHub to issue refresh tokens.
- Copy the Client ID and generate a Client Secret, and store them for the Credential Provider configuration.
Authorize the Credential Provider
Section titled “Authorize the Credential Provider”There’s no administrator authorization step for this credential type. Each user completes their own GitHub sign-in and consent the first time they access GitHub through the Gateway, and Aembit stores and refreshes each user’s tokens individually.
-
Return to the Credential Provider in Aembit and click Authorize.
-
Complete the GitHub sign-in as an administrator and approve access. The Credential Provider status changes to Ready when the flow completes.
Create the Server Workload
Section titled “Create the Server Workload”-
Go to Server Workloads in the left sidebar and click + New.
-
Configure the following fields:
Field Value Name A user-friendly name Host api.githubcopilot.comApplication Protocol MCP Port 443 with TLS URL Path /mcpAuthentication method HTTP Authentication Authentication scheme Bearer -
Click Save.
Create an Access Policy
Section titled “Create an Access Policy”This section creates the Gateway-to-Server Access Policy, which authorizes the MCP Identity Gateway to access GitHub on behalf of authenticated users.
Create an Access Policy linking the MCP Identity Gateway (as the Client Workload: Client Workloads represent software applications, scripts, or automated processes that initiate access requests to Server Workloads, operating autonomously without direct user interaction.Learn more), the Credential Provider you created, and the Server Workload for GitHub.
For step-by-step instructions, including the Client Workload settings that identify the Gateway, see Create the gateway-to-server Access Policy.
Verify
Section titled “Verify”After authorization completes, the Aembit AI Access Authorized page lists the GitHub MCP Server as Ready. The AI agent can then call GitHub MCP tools through the Gateway.