Github MCP Server

GitHub Enterprise MCP Server with support for repository operations

Local serverstdio

What is the Github MCP server?

Github MCP server exists for a simple reason — assistants are far more useful when they can act on Github directly instead of describing what you should do. GitHub Enterprise MCP Server with support for repository operations.

What you get

An MCP server for GitHub Enterprise that handles repository access, branch creation, commits, and pushes.

What the assistant can call

Once Github is connected, these are the calls the assistant has available:

  • test-api-connection — Test connection to a GitHub API endpoint
  • connect-github-enterprise — Connect to a GitHub Enterprise instance
  • GitHub.com — Use https://github.com or https://api.github.com
  • connect-github-enterprise-2fa — Connect to a GitHub Enterprise instance with 2FA
  • list-repositories — List repositories from the connected GitHub Enterprise instance
  • create-branch — Create a new branch in a repository
  • commit-and-push — Commit file changes and push to a branch
  • Resources — The server implements GitHub Enterprise repositories as resources: - Custom github:// URI scheme for accessing repositories - Each repository
  • Prompts — The server provides the following prompts: - repo-details: Gets detailed information about a repository - Required "repository" argument to specify
  • Tools — The server implements the following tools: - test-api-connection: Test connection to a GitHub API endpoint - Takes "url" as a required string
  • Debugging — Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the [MCP

Setting it up

The server ships on npm as @modelcontextprotocol/inspector, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

Configuration and credentials

You will need 4 environment variables: GITHUB_CONNECTION_NAME, GITHUB_URL, GITHUB_TOKEN, UV_PUBLISH_TOKEN. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Choosing this one

This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Github's toolset — test-api-connection, connect-github-enterprise, GitHub.com and 8 more — is a fair guide to whether it matches your workflow. It is maintained by akhilthomas236; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Github's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 11 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Github.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the github mcp server does with a few real requests.

Available tools

ToolWhat it does
test-api-connectionTest connection to a GitHub API endpoint
connect-github-enterpriseConnect to a GitHub Enterprise instance
GitHub.comUse https://github.com or https://api.github.com
connect-github-enterprise-2faConnect to a GitHub Enterprise instance with 2FA
list-repositoriesList repositories from the connected GitHub Enterprise instance
create-branchCreate a new branch in a repository
commit-and-pushCommit file changes and push to a branch
ResourcesThe server implements GitHub Enterprise repositories as resources: - Custom github:// URI scheme for accessing repositories - Each repository resource has a name, description and custom mimetype - Resources are dynamical
PromptsThe server provides the following prompts: - repo-details: Gets detailed information about a repository - Required "repository" argument to specify the repository - Returns comprehensive information about the repository
ToolsThe server implements the following tools: - test-api-connection: Test connection to a GitHub API endpoint - Takes "url" as a required string argument - Tests multiple API endpoint formats to determine which works - Prov
DebuggingSince MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector).

How to install the Github MCP server

"mcpServers": {
    "github-enterprise-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/annmariyajoshy/vibecoding/github-enterprise-mcp",
        "run",
        "github-enterprise-mcp"
      ]
    }
  }

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
GITHUB_CONNECTION_NAMEConfiguration value read at startup.Optional
GITHUB_URLEndpoint or connection string the server talks to.Yes
GITHUB_TOKENCredential the server authenticates with.Yes
UV_PUBLISH_TOKENCredential the server authenticates with.Yes

Example prompts to try

  • Use Github to test-api-connection.
  • Use Github to connect-github-enterprise.
  • Use Github to GitHub.com.

Frequently asked questions

It connects Github to MCP-compatible AI assistants such as Claude and Cursor, exposing 11 tools (test-api-connection, connect-github-enterprise, GitHub.com, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Github directly.