GitHub MCP Tools for AI Agents
Let an agent search code, inspect issues and pull requests, update files, submit reviews, and merge changes in GitHub.
Available Tools
66 tools available in this integration
Github.AddAssigneeToPullRequest Assign a user to a pull request with intelligent search and fuzzy matching.
Github.AssignPullRequestUser Assign a user to a pull request with intelligent search and fuzzy matching.
Github.CheckMergeStatus Check if a pull request is ready to merge without attempting the merge.
Github.CheckPullRequestMergeStatus Check if a pull request is ready to merge without attempting the merge.
Github.CountStargazers Count the number of stargazers (stars) for a GitHub repository.
Github.CreateBranch Create a new branch in a repository.
Github.CreateFile Create a new file or overwrite an existing file in a repository.
Github.CreateIssue Create an issue in a GitHub repository.
Github.CreateIssueComment Create a comment on an issue in a GitHub repository.
Github.CreatePullRequest Create a pull request in a GitHub repository.
Github.CreateReplyForReviewComment Create a reply to a review comment for a pull request.
Github.CreateReview Submit a review for a pull request.
Github.CreateReviewComment Create a review comment for a pull request in a GitHub repository.
Github.DownloadFile Get the contents of a file in a repository.
Github.GetFileContents Get the contents of a file in a repository.
Github.GetIssue Get a specific issue from a GitHub repository.
Github.GetMyOpenWork Get user's currently open pull requests and issues across all repositories.
Github.GetMyRecentActivity Get the authenticated user's recent pull requests, reviews, issues, and commits.
Github.GetMyReviewWorkload Get pull requests awaiting review by the authenticated user.
Github.GetProjectItem Search for a specific item in a Projects V2 project.
Github.GetPullRequest Get details of a pull request in a GitHub repository.
Github.GetRepository Get a repository.
Github.GetReviewWorkload Get pull requests awaiting review by the authenticated user.
Github.GetUserOpenItems Get user's currently open pull requests and issues across all repositories.
Github.GetUserRecentActivity Get the authenticated user's recent pull requests, reviews, issues, and commits.
Github.ListIssues List issues in a GitHub repository.
Github.ListOrgRepositories List repositories for the specified organization.
Github.ListOrganizationRepositories List repositories for the specified organization.
Github.ListProjectFields List fields for a Projects V2 project.
Github.ListProjectItems List items for a Projects V2 project with optional filtering.
Github.ListProjects List Projects V2 across organization or user scopes.
Github.ListPullRequestChangedFiles List files changed in a pull request, sorted by file path.
Github.ListPullRequestCommits List commits (from oldest to newest) on a pull request in a GitHub repository.
Github.ListPullRequestConversationComments List pull request conversation comments, from oldest to newest.
Github.ListPullRequestReviewComments List review comments on a pull request in a GitHub repository.
Github.ListPullRequestReviews List reviews on a pull request, from oldest to newest.
Github.ListPullRequests List pull requests in a GitHub repository.
Github.ListRepositoryActivities List repository activities.
Github.ListRepositoryCollaborators List collaborators for a repository.
Github.ListRepositoryConversationComments List conversation comments on every issue and pull request in a GitHub repository.
Github.ListRepositoryLabels List all labels defined in a repository.
Github.ListRepositoryReviewComments List review comments in a GitHub repository.
Github.ListReviewCommentsInARepository List review comments in a GitHub repository.
Github.ListReviewCommentsOnPullRequest List review comments on a pull request in a GitHub repository.
Github.ListReviews List reviews on a pull request, from oldest to newest.
Github.ListStargazers List the stargazers for a GitHub repository.
Github.ManageLabels Add or remove labels from an issue or pull request.
Github.ManagePullRequestReviewers Manage reviewers for a pull request.
Github.MergePullRequest Merge a pull request in a GitHub repository.
Github.QueryIssues Search issues, never pull requests, in GitHub search syntax across the repositories this
Github.QueryPullRequests Search pull requests, never issues, in GitHub search syntax across the repositories this
Github.ReplyToReviewComment Create a reply to a review comment for a pull request.
Github.ResolveReviewThread Resolve or unresolve a pull request review conversation thread.
Github.SearchCode Search code across the authorized GitHub scope.
Github.SearchMyRepos Search repositories accessible to the authenticated user with fuzzy matching.
Github.SearchMyRepositories Search repositories accessible to the authenticated user with fuzzy matching.
Github.SearchProjectItem Search for a specific item in a Projects V2 project.
Github.SetRepositoryStarStatus Star or un-star a GitHub repository.
Github.SetStarred Star or un-star a GitHub repository.
Github.SubmitPullRequestReview Submit a review for a pull request.
Github.UpdateFileLines Replace a block of lines within a file (1-indexed, inclusive).
Github.UpdateIssue Update an issue in a GitHub repository.
Github.UpdateIssueLabels Add or remove labels from an issue or pull request.
Github.UpdatePullRequest Update a pull request in a GitHub repository.
Github.UpdateReviewers Manage reviewers for a pull request.
Github.WhoAmI Get information about the authenticated GitHub user.
Working directly against the raw API? 818 more tools in the GitHub API server →
Why agent-optimized tools matter
Built for intent, not API schemas
Ask the agent to "review the open pull requests awaiting me, summarize blockers, and assign the right reviewers." Arcade picks the right GitHub actions without guessing repository, pull request, or user identifiers first.
Up to 100x fewer tokens
GitHub searches and lists return focused repository, issue, pull request, and file metadata, so the agent can identify what matters before loading full files, comments, commits, or review threads into the model.
Complete the workflow end to end
Search a repository, inspect changed files, read commits and review comments, assign reviewers, and merge an approved pull request through one toolkit designed around the complete code review task.
Make actions predictable and controlled
Arcade tools return structured results and useful errors across users and runs. Teams can apply scope restrictions, redaction, and approval policies so agents follow the same controls every time.
Securing GitHub
The more capabilities agents get, the more useful they are. However, more capabilities bring more risks of undesired effects such as data loss and exfiltration.
This is why Arcade provides you with contextual rules that dictate how and when a tool is allowed to run. Arcade’s contextual access lets you govern tool visibility and behavior at every stage of execution and control who can see a tool, what inputs are allowed, and what comes back.
Learn about Contextual Access PoliciesFor GitHub, you can implement some of these policies:
- Hide Github.MergePullRequest from agents unless the roles your IDP marks as release managers are active, so an agent cannot merge unapproved code.
- Restrict Github.CreateFile to agents operating under your repository-maintainer role, so unreviewed automation cannot add or overwrite source files.
- Show Github.ManagePullRequestReviewers only to agents assigned to your engineering leads, so an agent cannot add, remove, or redirect required reviewers.
- Hide Github.AddAssigneeToPullRequest from agents outside your repository-maintainer role, so automation cannot redirect pull-request ownership.
- Restrict Github.CreateReview to agents acting for users your IDP marks as reviewers, so an agent cannot submit a review under an unapproved identity.
- Show Github.UpdateReviewers only to agents assigned to your repository-approval team, so automation cannot change who must sign off on a pull request.
- Require human approval before Github.UpdateFileLines runs on protected branches, so an agent cannot alter production code without review.
- Block Github.CreateIssueComment when the comment contains credentials, access tokens, or customer data, so an agent cannot publish secrets in your issue tracker.
- Require human approval before Github.SubmitPullRequestReview submits an approval or requests changes, so an agent cannot determine merge readiness on behalf of a reviewer.
- Block Github.ReplyToReviewComment when the reply contains credentials, access tokens, or customer data, so an agent cannot publish secrets in a code review.
- Require human approval before Github.SetRepositoryStarStatus changes a repository's public star status, so an agent cannot create an external signal on your behalf.
- Refuse Github.UpdateIssueLabels when it adds or removes labels reserved for security incidents or release automation, so an agent cannot alter workflow state without authorization.
- Redact Github.GetFileContents results for files matching your secrets, credentials, or environment-variable patterns before the model sees their contents.
- Strip email addresses and other private profile fields from Github.ListRepositoryCollaborators results, so the model receives collaborator names and permissions without personal contact data.
- Redact private repository names, issue bodies, and pull request descriptions from Github.GetUserRecentActivity results unless the agent's session is authorized for those repositories.
- Redact credentials, private keys, and connection strings from Github.DownloadFile results before the model sees file contents.
- Strip customer names, incident details, and private issue descriptions from Github.GetMyOpenWork results, so the model receives work status without sensitive case data.
- Deny Github.ListPullRequestReviewComments results for repositories outside the agent's authorized project scope, so review discussions from private codebases cannot reach the model.
How to use GitHub with your agent
Connect GitHub to your MCP client with per-user OAuth, then follow the setup walkthrough from authorization to your first agent call.
Your questions, answered
A GitHub MCP server exposes GitHub capabilities as structured tools that an AI agent can call through the Model Context Protocol. After a user authorizes their GitHub account, the agent can perform permitted actions such as searching code, reviewing pull requests, managing issues, and updating repository files.
GitHub's own MCP server is a first-party endpoint for accessing GitHub tools. Arcade adds an actions runtime with per-user OAuth, agent-optimized tools, approval workflows, redaction, and scope controls, so teams can use GitHub from different agents and frameworks with consistent governance.
Arcade agents can search repositories, code, issues, and pull requests; inspect files, commits, reviews, comments, and changed files; manage issues, labels, reviewers, and branches; create or update files; open pull requests; submit reviews; resolve review threads; and merge pull requests. The integration also includes access to 818 raw GitHub API operations for coverage beyond these common workflows.
Arcade requests the GitHub OAuth permissions needed by the actions you enable. Read-only repository and pull request workflows need read access, while editing files, creating issues or pull requests, managing reviewers, and merging require the corresponding write permissions; organization repositories and Projects may require additional organization or project access. Grant the narrowest permissions that support your workflow.
Yes. Each user authorizes their own GitHub account through OAuth. GitHub actions run under that user's authorization, so an agent can access only the repositories, organizations, projects, and permissions that user has approved.
Yes. Contextual Access policies can require human approval before consequential GitHub actions such as merging a pull request, changing repository files, creating issues, or modifying labels. The call proceeds only after the policy's conditions have been satisfied.
Arcade proxies GitHub API calls and does not persist your repository content or other GitHub data as part of normal tool execution. OAuth credentials are brokered and stored encrypted at rest, and the model never receives raw credentials; policies can also redact fields from GitHub responses.
Any framework or client that can connect to Arcade's MCP gateway or tool APIs works with Arcade GitHub, including LangChain, OpenAI Agents, CrewAI, Claude Desktop, Claude Code, Cursor, Visual Studio Code, Microsoft Copilot Studio, and GitHub Copilot.
Arcade refreshes GitHub access while the user's authorization remains valid. If the authorization is revoked, rotated, or can no longer be refreshed, GitHub actions stop until the user reconnects their account.
GitHub API rate limits and search quotas still apply to calls made through Arcade, including limits that vary by authentication and endpoint. Arcade does not remove GitHub's repository, organization, or search quotas, so high-volume agents should handle pagination, throttling, and rate-limit errors.