# GitHub MCP connector

The GitHub connector brings repositories, issues, pull requests, branches, commits and releases to Claude, ChatGPT, Cursor and any MCP client, so each person works in GitHub as themselves with every action logged.

Source: https://elaichi.ai/connectors/github-mcp/

## Facts

| | |
| --- | --- |
| Application | GitHub |
| Category | Application Development |
| AI tools | 46 |
| Authentication | Connects over OAuth |
| Bring your own OAuth app | No |
| Native MCP | Yes. GitHub builds and runs this MCP server. Elaichi adds sign-in, access controls and an audit log on top |
| Support for its tools | support.github.com |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## Why connect GitHub's MCP server through Elaichi

GitHub builds and runs this MCP server. Elaichi sits in front of it, so GitHub's tools follow the same sign-in, access rules and audit log as every other connector your organization uses. Calls an AI client makes to GitHub's server directly, outside Elaichi, get none of this.

- **One address for every AI client.** Claude, ChatGPT and Cursor reach GitHub's tools at https://api.elaichi.ai/mcp, the same address as every other connected app. Nobody adds GitHub's server to each client one by one.
- **Each person signs in as themselves.** Each person signs in to Elaichi as themselves. Members connect with their own GitHub sign-in, and a connection someone shares runs on its owner's account. The credential stays in Elaichi's separate credential service, and the AI client holds only its Elaichi sign-in.
- **Rules checked before a call leaves.** Restrictions on a role or a person, for the whole connector or a single tool, are checked before a call reaches GitHub's server. By default, a tool GitHub does not mark read-only or non-destructive counts as destructive, and over MCP it needs the "Delete data and remove access" consent.
- **One audit log for every app.** Each call that runs is recorded with the person, the tool, the connection and the AI client that made it, in the same audit log as every other app.
- **Tool issues go to GitHub.** GitHub builds and runs these tools, and Elaichi staff do not curate them, so a report about how a tool behaves goes to the GitHub team. Contact: [support.github.com](https://support.github.com/).

More: [why run a vendor's MCP server through Elaichi](https://elaichi.ai/blog/vendor-mcp-servers-through-elaichi/)

## What you can ask once GitHub is connected

- Open a pull request that fixes the typo in README
- What went into the latest release of the api repo?
- File an issue for the login timeout bug with the bug type

## Connect GitHub in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick GitHub.
2. Optionally set Share with, then press Connect.
3. Approve it in GitHub. GitHub's own window opens. Whoever approves it decides what this connection can reach.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which GitHub tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## GitHub MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## GitHub MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## GitHub MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect GitHub to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Every scope the client asks for starts ticked except "Delete data and remove access", which you tick yourself. Calling a GitHub tool needs "Run your connected tools". Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with GitHub through Elaichi

### Open a pull request from a plain request

Engineering. Describe the change you want and the agent creates the branch, updates the file and opens the pull request for review. You stay in the conversation while the work lands in GitHub under your name.

### Answer review comments without switching tabs

Engineering. Reply to a reviewer's note on a pull request, or add your own comments to a pending review, while you are still reading the diff in chat.

### Turn a customer request into a filed issue

Product. Explain the request and the agent opens the issue with the right type and fields, or updates the existing one so nothing is filed twice.

### Check whether a fix shipped in the latest release

Support. Ask what the latest release contains and which commits went into it before you tell a customer their problem is solved.

### Fix a typo and send it up for review

Docs. Correct a file in the docs folder, open the pull request and leave a note for the owner, all from one request.

### See what changed on a branch this week

Engineering management. List recent commits, read the details of any one of them, and find out which team members were involved before standup.

## Elaichi vs Zapier MCP vs Composio for GitHub

All three can connect GitHub to an AI assistant, and all three have admin controls. They differ in where access lives and how you pay.

| What to check | Elaichi | Zapier MCP | Composio |
| --- | --- | --- | --- |
| Where the AI connects | One address for the whole organization. Endpoint: https://api.elaichi.ai/mcp | A server per member, created at sign-in. | An MCP endpoint per team, or an SDK. |
| Control over GitHub tools | Allow or restrict single GitHub tools, per role or user. | App and action restrictions on the account. | Role permissions, down to the action. |
| Record of calls | One audit entry per GitHub call. | A History tab of tool calls. | A log of every tool call. |
| Single sign-on | SAML or OIDC, plus SCIM, on Gold. | SAML on Enterprise. | SAML and OIDC on Enterprise. |
| Price | $15 per user per month. | 2 tasks per successful call. | Billed per tool call. |

Sources: Zapier MCP [docs](https://docs.zapier.com/mcp/get-started/quickstart), [security](https://docs.zapier.com/mcp/manage/security), [usage](https://docs.zapier.com/mcp/features/usage); Composio [docs](https://docs.composio.dev/docs/composio-connect), [gateway](https://composio.dev/mcp-gateway), [enterprise](https://composio.dev/enterprise), [pricing](https://composio.dev/pricing). Checked September 2026.

Longer take: [Zapier MCP alternative](/blog/zapier-mcp-alternative/) and [when you don't need an MCP gateway](/blog/when-you-dont-need-an-mcp-gateway/).

## Frequently asked questions

### How do I connect GitHub to Claude?

In Elaichi, choose GitHub and sign in to your GitHub account in the window that opens, then approve access. There is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Claude will ask you to sign in to Elaichi, and GitHub is ready.

### Does GitHub work with ChatGPT and Cursor as well as Claude?

Yes. Once GitHub is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect GitHub once and every client you use picks it up.

### What can an AI agent actually do with my GitHub data?

With GitHub connected, an agent can read files, commits, branches, issues, pull requests, releases and teams, and it can act: open an issue, update one, create a branch, change a file, open a pull request, add comments and reply to reviews. Short, concrete asks work best, such as "open a pull request that fixes the typo in README" rather than a long paragraph of instructions.

### Does connecting GitHub give the AI access to every repository?

No. Access follows the person who signed in to GitHub, so an agent sees only the repositories, issues and pull requests that person can already see, and private repositories they are not a member of stay out of reach. Elaichi can narrow that access further with restrictions, and it can never widen it beyond what GitHub itself allows that person.

### Can my team share one GitHub connection?

Yes. One person connects GitHub in Elaichi and shares it with a team, and nobody else ever handles a token or a credential. Each teammate still signs in to Elaichi as themselves, so every pull request, comment and file change in the audit log names the person who made it.

### Can I stop an agent from deleting or changing things in GitHub?

Yes. Restrictions in Elaichi work per action, so you can block deleting files, creating repositories or changing files while still allowing issues and pull requests to be read and commented on. A restricted action is left out of the AI client's tool list for GitHub entirely and cannot be called, whatever the prompt says.

### What happens to a GitHub connection when someone leaves?

Offboarding a person in Elaichi ends their access to GitHub through every client at once, including Claude, ChatGPT and Cursor. If they had shared a GitHub connection with a team, it keeps working for everyone else. Disconnecting GitHub once in Elaichi removes it from every client, with no per-client cleanup.

### Does the GitHub MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. GitHub is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

### Is Elaichi an alternative to Zapier MCP for GitHub?

Yes. Both let Claude, ChatGPT or Cursor use GitHub. Zapier MCP fits a team that already automates in Zapier, since each person signs in and acts as themselves in that account. Elaichi fits when IT wants one address for the whole company, per-tool rules by role, and a record of every GitHub call.

### How is Elaichi different from Composio for GitHub?

Composio gives AI agents tools and sign-in handling across 1,000+ apps, for developers building agents or people using an assistant, billed per tool call. Elaichi gives a company's own people governed access to GitHub: one address, restrictions per role or user, and $15 per user per month. Both have role permissions and a log of every call.

## All 46 GitHub tools

Every tool below is callable through https://api.elaichi.ai/mcp once GitHub is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Add review comment to the requester's latest pending pull request review** (Add). Add review comment to the requester's latest pending pull request review. A pending review needs to already exist to call this (check with the user if not sure).
- **Add comment to issue or pull request** (Add). Add a comment and/or reaction to a specific issue or issue comment in a GitHub repository. Use this tool with pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add or react to review comments. At least…
- **Add reply to pull request comment** (Add). Add a reply and/or reaction to an existing pull request comment. This can create a new comment linked as a reply to the specified comment, add an emoji reaction to the specified comment, or do both. At least one of body or reaction is required.
- **Create branch** (Create). Create a new branch in a GitHub repository
- **Create or update file** (Create). Create or update a single file in a GitHub repository. 
If updating, you should provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations.

To obtain the current blob SHA…
- **Open new pull request** (Create). Create a new pull request in a GitHub repository.
- **Create repository** (Create). Create a new GitHub repository in your account or specified organization
- **Delete file** (Delete). Delete a file from a GitHub repository
- **Fork repository** (Action). Fork a GitHub repository to your account or specified organization
- **Get commit details** (Get). Get details for a commit from a GitHub repository
- **Get file or directory contents** (Get). Get the contents of a file or directory from a GitHub repository
- **Get a specific label from a repository** (Get). Get a specific label from a repository.
- **Get latest release** (Get). Get the latest release in a GitHub repository
- **Get my user profile** (Get). Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.
- **Get a release by tag name** (Get). Get a specific release by its tag name in a GitHub repository
- **Get tag details** (Get). Get details about a specific git tag in a GitHub repository
- **Get team members** (Get). Get member usernames of a specific team in an organization. Limited to organizations accessible with current credentials
- **Get teams** (Get). Get details of the teams the user is a member of. Limited to organizations accessible with current credentials
- **Get issue details** (Get). Get information about a specific issue in a GitHub repository.
- **Create or update issue/pull request** (Create). Create a new or update an existing issue in a GitHub repository.
- **List branches** (List). List branches in a GitHub repository
- **List commits** (List). Get list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but can return more if specified using the perPage parameter (up to 100).
- **List issue fields** (List). List issue fields for a repository or organization. Returns field definitions including name, type (text, number, date, single_select), and for single_select fields the list of valid option names. When repo is omitted, returns org-level fields directly.
- **List available issue types** (List). List supported issue types for a repository or its owner organization. When repo is omitted, returns org-level issue types directly.
- **List issues** (List). List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.
- **List pull requests** (List). List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.
- **List releases** (List). List releases in a GitHub repository
- **List repository collaborators** (List). List collaborators of a GitHub repository. Results are paginated; the response includes `nextPage`, `prevPage`, `firstPage`, and `lastPage` fields. To get the next page, use the `nextPage` value as the `page` parameter.
- **List tags** (List). List git tags in a GitHub repository
- **Merge pull request** (Merge). Merge a pull request in a GitHub repository.
- **Get details for a single pull request** (Get). Get information on a specific pull request in GitHub repository.
- **Write operations (create, submit, delete) on pull request reviews** (Action). Create and/or submit, delete review of a pull request.

Available methods:
- create: Create a new review of a pull request. If "event" parameter is provided, the review is submitted. If "event" is omitted, a pending review is created.
- submit_pending: Submit an existing…
- **Push files to repository** (Push). Push multiple files to a GitHub repository in a single commit
- **Request Copilot review** (Action). Request a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usually before requesting a human reviewer.
- **Run Secret Scanning** (Run). Scan files, content, or recent changes for secrets such as API keys, passwords, tokens, and credentials.

This tool is intended for targeted scans of specific files, snippets, or diffs provided directly as content. The files parameter accepts either a single string or an array…
- **Search code** (Search). Fast and precise code search across ALL GitHub repositories using GitHub's native search engine. Best for finding exact symbols, functions, classes, or specific code patterns.
- **Search commits** (Search). Search for commits across GitHub repositories using GitHub's commit search syntax. Useful for finding specific changes, authors, or messages across one or many repositories. Searches the default branch only.
- **Search issues** (Search). Search issues using natural-language semantic matching. Best for conceptual or paraphrased queries (e.g. "login fails after password reset"). Already scoped to is:issue.
- **Search pull requests** (Search). Search for pull requests in GitHub repositories using issues search syntax already scoped to is:pr
- **Search repositories** (Search). Find GitHub repositories by name, description, readme, topics, or other metadata. Perfect for discovering projects, finding examples, or locating specific repositories across GitHub.
- **Search users** (Search). Find GitHub users by username, real name, or other profile information. Useful for locating developers, contributors, or team members.
- **Change sub-issue** (Action). Add a sub-issue to a parent issue in a GitHub repository.
- **Get UI data** (Get). Fetch UI data for MCP Apps (labels, assignees, milestones, issue types, branches, issue fields, reviewers).
- **Update issue comment** (Update). Update the body of an existing issue or pull request conversation comment. This tool cannot update pull request review comments.
- **Edit pull request** (Update). Update an existing pull request in a GitHub repository.
- **Update pull request branch** (Update). Update the branch of a pull request with the latest changes from the base branch.
