Skip to main content

GitHub MCP server

GitHub is the world's leading software development platform hosting over 100 million repositories. An AI agent with access to GitHub can manage repositories, create and merge pull requests, manage issues, trigger workflows, and coordinate development workflows without manual GitHub UI operations.

Setting up an MCP server

This article covers the standard steps for creating an MCP server in AI Gateway and connecting it to an AI client. The steps are the same for every integration — application-specific details (API credentials, OAuth endpoints, and scopes) are covered in the individual application pages.

Before you begin

You'll need:

  • Access to AI Gateway with permission to create MCP servers
  • API credentials for the application you're connecting (see the relevant application page for what to collect)

Create an MCP server

Find the API in the catalog

  1. Sign in to AI Gateway and select MCP Servers from the left navigation.
  2. Select New MCP Server.
  3. Search for the application you want to connect, then select it from the catalog.

Configure the server

  1. Enter a Name for your server — something descriptive that identifies both the application and its purpose (for example, "Zendesk Support — Prod").
  2. Enter a Description so your team knows what the server is for.
  3. Set the Timeout value. 30 seconds works for most APIs; increase to 60 seconds for APIs that return large payloads.
  4. Toggle Production mode on if this server will be used in a live workflow.
  5. Select Next.

Configure authentication

Enter the authentication details for the application. This varies by service — see the Authentication section of the relevant application page for the specific credentials, OAuth URLs, and scopes to use.

Configure security

  1. Set any Rate limits appropriate for your use case and the API's own limits.
  2. Enable Logging if you want AI Gateway to record requests and responses for auditing.
  3. Select Next.

Deploy

Review the summary, then select Deploy. AI Gateway provisions the server and provides a server URL you'll use when configuring your AI client.


Connect to an AI client

Once your server is deployed, you'll need to add it to the AI client your team uses. Select your client for setup instructions:

Tips

  • You can create multiple MCP servers for the same application — for example, a read-only server for reporting agents and a read-write server for automation workflows.
  • If you're unsure which OAuth scopes to request, start with the minimum read-only set and add write scopes only when needed. Most application pages include scope recommendations.
  • You can edit a server's name, description, timeout, and security settings after deployment without redeploying.

Authentication

GitHub uses OAuth 2.0 authentication. Create an OAuth app in your GitHub account settings at Settings > Developer settings > OAuth Apps. The authorization endpoint is https://github.com/login/oauth/authorize and the token endpoint is https://github.com/login/oauth/access_token. Configure scopes based on your needs: repo (full repository control), user (user profile), actions:read (read workflows), actions:write (trigger workflows), gist (manage gists), read:org (read organization info), read:packages (read packages), and write:packages (publish packages). The API base URL is https://api.github.com.

Available tools

This MCP server enables repository management, pull request operations, issue tracking, action workflows, release management, and code search for GitHub-hosted projects.

ToolDescription
Create repositoryCreate a new GitHub repository with settings
Get repositoryRetrieve repository details and configuration
Update repositoryModify repository settings and metadata
Delete repositoryRemove a repository
List repositoriesRetrieve repositories for a user or organization
Create branchCreate a new branch from an existing branch
Get branchRetrieve branch details and protection status
Delete branchDelete a branch
List branchesRetrieve all branches in a repository
Create pull requestCreate a new pull request between branches
Get pull requestRetrieve pull request details and status
Update pull requestModify PR title, description, or state
Merge pull requestMerge an approved pull request
Create reviewAdd a code review to a pull request
Request reviewersRequest code review from specific users
List issuesRetrieve issues with filtering options
Create issueCreate a new issue with title and description
Get issueRetrieve issue details and comments
Update issueModify issue status, labels, or assignee
Close issueClose an issue
Create releaseCreate a release with tagged version and notes
Get releaseRetrieve release details and assets
List releasesRetrieve all releases for a repository
Trigger workflowTrigger a GitHub Actions workflow run
Get workflow runRetrieve workflow execution status and logs
List workflow runsRetrieve recent workflow executions
Search codeSearch for code patterns across repositories
Search issuesSearch for issues and pull requests
Create commitCreate a commit with specified changes
Get commitRetrieve commit details and diff
Create tagCreate a git tag for a version

Tips

Only request the OAuth scopes your integration actually needs — excessive scopes are a security risk if your token is compromised.

Choose the appropriate PR merge strategy (merge commit, squash, or rebase) based on your repository's commit history preferences and communicate it to your team.

Store GitHub Actions workflows in .github/workflows/ and commit them before you can trigger them through the API.

Monitor the X-RateLimit-Remaining response header to avoid hitting limits — rate limits apply per OAuth token, not per API key.

Repository secrets are write-only through the API — you can create or update them but cannot read their values back.