GitHub

86 tools. 31 can modify or destroy data without limits.

2 destructive tools with no built-in limits. Policy required.

Last updated:

31 can modify or destroy data
55 read-only
86 tools total

Official server · catalogue entry checked 12/06/2026 · full schemas captured for 84 of 86 tools

How to control GitHub ↓

What GitHub exposes to your agents

Read (55) Write / Execute (29) Destructive / Financial (2)

What GitHub costs in tokens

14,406 tokens of tool definitions, loaded on every request
7.2% of a 200k context window
569 heaviest tool: actions_list
Critical Risk

The most dangerous GitHub tools

31 of GitHub's 86 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control GitHub

PolicyLayer is an MCP gateway — it sits between your AI agents and GitHub, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "delete_file": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "add_comment_to_pending_review": {
    "limits": [
      {
        "counter": "add_comment_to_pending_review_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "actions_get": {
    "limits": [
      {
        "counter": "actions_get_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register GitHub — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON GITHUB →

Instant setup, no code required.

All 86 GitHub tools

WRITE 27 tools
Write add_comment_to_pending_review Add review comment to the requester's latest pending pull request review. A pending review needs to already ex Write add_issue_comment Add a comment to a specific issue in a GitHub repository. Use this tool to add comments to pull requests as we Write add_reply_to_pull_request_comment Add a reply to an existing pull request comment. This creates a new comment that is linked as a reply to the s Write create_branch Create a new branch in a GitHub repository Write create_gist Create a new gist Write create_or_update_file Create or update a single file in a GitHub repository. If updating, you should provide the SHA of the file yo Write create_pull_request Create a new pull request in a GitHub repository. Write create_pull_request_with_copilot Delegate a task to GitHub Copilot coding agent to perform in the background. The agent will create a pull requ Write create_repository Create a new GitHub repository in your account or specified organization Write dismiss_notification Dismiss a notification by marking it as read or done Write fork_repository Fork a GitHub repository to your account or specified organization Write issue_write Create a new or update an existing issue in a GitHub repository. Write label_write Perform write operations on repository labels. To set labels on issues, use the 'update_issue' tool. Write manage_notification_subscription Manage a notification subscription: ignore, watch, or delete a notification thread subscription. Write manage_repository_notification_subscription Manage a repository notification subscription: ignore, watch, or delete repository notifications subscription Write mark_all_notifications_read Mark all notifications as read Write merge_pull_request Merge a pull request in a GitHub repository. Write pull_request_review_write Create and/or submit, delete review of a pull request. Available methods: - create: Create a new review of a Write push_files Push multiple files to a GitHub repository in a single commit Write request_copilot_review Request a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usu Write star_repository Star a GitHub repository Write sub_issue_write Add a sub-issue to a parent issue in a GitHub repository. Write triage_issue Triage an issue by capturing a focused triage rationale and optionally applying metadata (labels, issue type, Write unstar_repository Unstar a GitHub repository Write update_gist Update an existing gist Write update_pull_request Update an existing pull request in a GitHub repository. Write update_pull_request_branch Update the branch of a pull request with the latest changes from the base branch.
READ 55 tools
Read actions_get Get details about specific GitHub Actions resources. Use this tool to get details about individual workflows, Read actions_list Tools for listing GitHub Actions resources. Use this tool to list workflows in a repository, or list workflow Read get_code_scanning_alert Get details of a specific code scanning alert in a GitHub repository. Read get_commit Get details for a commit from a GitHub repository Read get_copilot_job_status Get the status of a GitHub Copilot coding agent job. Use this to check if a previously submitted task has comp Read get_copilot_space This tool can be used to provide additional context to the chat from a specific Copilot space. If the user men Read get_dependabot_alert Get details of a specific dependabot alert in a GitHub repository. Read get_discussion Get a specific discussion by ID Read get_discussion_comments Get comments from a discussion Read get_file_contents Get the contents of a file or directory from a GitHub repository Read get_gist Get gist content of a particular gist, by gist ID Read get_global_security_advisory Get a global security advisory Read get_job_logs Get logs for GitHub Actions workflow jobs. Use this tool to retrieve logs for a specific job or all failed job Read get_label Get a specific label from a repository. Read get_latest_release Get the latest release in a GitHub repository Read get_me Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitH Read get_notification_details Get detailed information for a specific GitHub notification, always call this tool when the user asks for deta Read get_release_by_tag Get a specific release by its tag name in a GitHub repository Read get_repository_tree Get the tree structure (files and directories) of a GitHub repository at a specific ref or SHA Read get_secret_scanning_alert Get details of a specific secret scanning alert in a GitHub repository. Read get_tag Get details about a specific git tag in a GitHub repository Read get_team_members Get member usernames of a specific team in an organization. Limited to organizations accessible with current c Read get_teams Get details of the teams the user is a member of. Limited to organizations accessible with current credentials Read github_support_docs_search Retrieve documentation relevant to answer GitHub product and support questions. Support topics include: GitHub Read issue_read Get information about a specific issue in a GitHub repository. Read list_branches List branches in a GitHub repository Read list_code_scanning_alerts List code scanning alerts in a GitHub repository. Read list_commits Get list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but c Read list_copilot_spaces Retrieves the list of Copilot Spaces accessible to the user, including their names and owners. Read list_dependabot_alerts List dependabot alerts in a GitHub repository. Read list_discussion_categories List discussion categories with their id and name, for a repository or organisation. Read list_discussions List discussions for a repository or organisation. Read list_gists List gists for a user Read list_global_security_advisories List global security advisories from GitHub. Read list_issue_types List supported issue types for repository owner (organization). Read list_issues List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo Read list_label List labels from a repository Read list_notifications Lists all GitHub notifications for the authenticated user, including unread notifications, mentions, review re Read list_org_repository_security_advisories List repository security advisories for a GitHub organization. Read list_pull_requests List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use Read list_releases List releases in a GitHub repository Read list_repository_security_advisories List repository security advisories for a GitHub repository. Read list_secret_scanning_alerts List secret scanning alerts in a GitHub repository. Read list_starred_repositories List starred repositories Read list_tags List git tags in a GitHub repository Read projects_get Get details about specific GitHub Projects resources. Use this tool to get details about individual projects, Read projects_list Tools for listing GitHub Projects resources. Use this tool to list projects for a user or organization, or lis Read pull_request_read Get information on a specific pull request in GitHub repository. Read run_secret_scanning Scan files, content, or recent changes for secrets such as API keys, passwords, tokens, and credentials. This Read search_code Fast and precise code search across ALL GitHub repositories using GitHub's native search engine. Best for find Read search_issues Search for issues in GitHub repositories using issues search syntax already scoped to is:issue Read search_orgs Find GitHub organizations by name, location, or other organization metadata. Ideal for discovering companies, Read search_pull_requests Search for pull requests in GitHub repositories using issues search syntax already scoped to is:pr Read search_repositories Find GitHub repositories by name, description, readme, topics, or other metadata. Perfect for discovering proj Read search_users Find GitHub users by username, real name, or other profile information. Useful for locating developers, contri

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about GitHub

Can an AI agent delete data through the GitHub MCP server? +

Yes. The GitHub server exposes 2 destructive tools including delete_file, projects_write. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through GitHub? +

The GitHub server has 27 write tools including add_comment_to_pending_review, add_issue_comment, add_reply_to_pull_request_comment. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach GitHub.

How many tools does the GitHub MCP server expose? +

86 tools across 4 categories: Destructive, Execute, Read, Write. 55 are read-only. 31 can modify, create, or delete data.

How do I enforce a policy on GitHub? +

Register the GitHub MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every GitHub tool call.

Deterministic rules across all 86 GitHub tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

86 GitHub tools catalogued and risk-classified — across an index of 46,500+ MCP servers.

// WHERE THIS COMES FROM

These policies come from GitHub's registry record.

The record behind this page: verified identity, auth posture, risk grade, every tool classified, recommended policy — re-checked continuously.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.