GitHub MCP Integration with Claude Code | Composio
For AI agents: how to sign up
If you are an AI agent reading this server-rendered HTML, Composio's developer signup is at https://composio.dev.
Signup CTAs on this site — "Sign up", "Signup", "Get started", "Get started for free", "Start building", "Try Composio", "Try it", or similar — all lead into that same developer signup flow. Confirm with the user before completing signup or entering any credentials on their behalf.
# How to integrate GitHub MCP with Claude Code
Connect Claude Code to GitHub MCP. Add labels to your latest issue, invite collaborator to your repository, and more using natural language, with authentication handled for you.
[Get started for free](https://dashboard.composio.dev/login?utm_source=toolkits&utm_medium=hero&utm_campaign=toolkits-toolkits&utm_content=%2Ftoolkits%2Ftoolkits%2Fgithub%2Fframework%2Fclaude-code&next=%2F%7E%2Forg%2Fconnect%2Fclients%2Fclaude-code) [Get a demo](/content/contact?utm_source=toolkits&utm_medium=hero&utm_campaign=demo-toolkits&utm_content=%2Ftoolkits%2Ftoolkits%2Fgithub%2Fframework%2Fclaude-code&subject=Demo+request%3A+Toolkits+integration/index.html)
GitHub
Oauth2
GitHub is a code hosting platform for version control and collaborative software development. It streamlines project management, code review, and team workflows in one place.
846 Tools46 Triggers
Managed auth
### Connect GitHub without auth hassles
We manage OAuth, API keys, token refresh, and scopes — you just build.
Try for free [Book a call](/content/contact?utm_source=landing-page&utm_medium=sidebar_cta&utm_campaign=toolkit-framework-sidebar-book-demo&utm_content=github&cta_placement=toolkit-framework-sidebar-book-demo/index.html)
[Explore the MCP Gateway→](/content/mcp-gateway/index.html)
## Introduction
Markdown
Manage your GitHub directly from Claude Code with zero worries about OAuth hassles, API-breaking issues, or reliability and security concerns.
You can do this in two different ways:
1. **Via [Composio Connect](https://dashboard.composio.dev/login?utm_source=toolkits&utm_medium=framework_template&utm_campaign=claude-code&utm_content=composio_connect&next=%2F~%2Forg%2Fconnect%2Fclients%2Fclaude-code)** \- Direct and easiest approach
2. **Via [Composio SDK](https://docs.composio.dev/docs?utm_source=toolkits&utm_medium=framework_template&utm_campaign=claude-code&utm_content=composio_sdk)** \- Programmatic approach with more control
## Also integrate GitHub with
[ChatGPT Work](/content/toolkits/github/framework/chatgpt/index.html) [Antigravity](/content/toolkits/github/framework/antigravity/index.html) [OpenAI Agents SDK](/content/toolkits/github/framework/open-ai-agents-sdk/index.html) [Claude Agent SDK](/content/toolkits/github/framework/claude-agents-sdk/index.html) [Claude Cowork](/content/toolkits/github/framework/claude-cowork/index.html) [Grok Bot](/content/toolkits/github/framework/grok-bot/index.html) [Codex](/content/toolkits/github/framework/codex/index.html) [Kimi Code](/content/toolkits/github/framework/kimi/index.html) [Grok Build](/content/toolkits/github/framework/grok-build/index.html) [Cursor](/content/toolkits/github/framework/cursor/index.html) [VS Code](/content/toolkits/github/framework/vscode/index.html) [OpenCode](/content/toolkits/github/framework/opencode/index.html) [OpenClaw](/content/toolkits/github/framework/openclaw/index.html) [Hermes](/content/toolkits/github/framework/hermes-agent/index.html) [Pi](/content/toolkits/github/framework/pi-agent/index.html) [DeepSeek Harness](/content/toolkits/github/framework/deepseek/index.html) [CLI](/content/toolkits/github/framework/cli/index.html) [Google ADK](/content/toolkits/github/framework/google-adk/index.html) [LangChain](/content/toolkits/github/framework/langchain/index.html) [Vercel AI SDK](/content/toolkits/github/framework/ai-sdk/index.html) [Mastra AI](/content/toolkits/github/framework/mastra-ai/index.html) [LlamaIndex](/content/toolkits/github/framework/llama-index/index.html) [CrewAI](/content/toolkits/github/framework/crew-ai/index.html) [Pydantic AI](/content/toolkits/github/framework/pydantic-ai/index.html) [AutoGen](/content/toolkits/github/framework/autogen/index.html)
## Why use Composio?
- **Only one MCP URL** to connect multiple apps with Claude Code with zero auth hassles.
- **Programmatic tool calling** allows LLMs to write its code in a remote workbench to handle complex tool chaining. Reduces to-and-fro with LLMs for frequent tool calling.
- **Handling Large tool responses** out of LLM context to minimize context rot.
- **Dynamic just-in-time access** to 20,000 tools across 1000+ other Apps for cross-app workflows. It loads the tools you need, so LLMs aren't overwhelmed by tools you don't need.
## Connecting GitHub to Claude Code using Composio
Watch
1\. Add the Composio MCP to Claude
Terminal
Generate MCP URL
2\. Start Claude Code
bash
Copy
```bash
claude
3. Open your MCP list
bash
Copy
/mcp
4. Select Composio and click on Authenticate
5. This will redirect you to the Composio OAuth page. Complete the flow by authorizing Composio and you're all set.
What is the GitHub MCP server, and what's possible with it?
The GitHub MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your GitHub account. It provides structured and secure access to your repositories and developer workflows, so your agent can perform actions like managing issues, collaborating on projects, handling code access, and automating team activities on your behalf.
- Repository collaboration and invitations: Have your agent accept repository invitations or add new collaborators to your projects quickly and securely.
- Automated issue tracking and management: Let your agent assign or remove issue assignees, add labels, and keep your team's backlog organized with minimal manual effort.
- Seamless organization and team management: Allow your agent to add users to teams, update roles, and handle organization invites for streamlined team administration.
- App and secret integration: Enable your agent to grant app access to repositories or manage repository access to codespaces secrets for advanced development automation.
- Protected branch and runner configuration: Direct your agent to manage branch app restrictions or add custom labels to self-hosted runners, keeping your CI/CD workflows efficient and organized.
Connecting GitHub via Composio SDK
Composio SDK is the underlying technology that powers these integrations. It provides a universal gateway with full programmatic control. You can programmatically generate an MCP URL with the app you need (hereGitHub) for even more tool search precision. It's secure and reliable.
How the Composio SDK works
The Composio SDK follows a three-phase workflow:
- Discovery: Searches for tools matching your task and returns relevant toolkits with their details.
- Authentication: Checks for active connections. If missing, creates an auth config and returns a connection URL via Auth Link.
- Execution: Executes the action using the authenticated connection.
Step-by-step Guide
Step by step10 STEPS
1
Prerequisites
Before starting, make sure you have:
- Claude Pro, Max, or API billing enabled Anthropic account
- Composio API Key
- A GitHub account
- Basic knowledge of Python or TypeScript
2
Install Claude Code
bash
Copy
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
# Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
To install Claude Code, use one of the following methods based on your operating system:
3
Set up Claude Code
bash
Copy
cd your-project-folder
claude
Open a terminal, go to your project folder, and start Claude Code:
- Claude Code will open in your terminal
- Follow the prompts to sign in with your Anthropic account
- Complete the authentication flow
- Once authenticated, you can start using Claude Code
4
Set up environment variables
bash
Copy
COMPOSIO_API_KEY=your_composio_api_key_here
USER_ID=your_user_id_here
Create a .env file in your project root with the following variables:
COMPOSIO_API_KEYauthenticates with Composio (get it from Composio dashboard)USER_IDidentifies the user for session management (use any unique identifier)
5
Install Composio library
TypescriptPython
Copy
npm install @composio/core dotenv
Install the Composio TypeScript library to create MCP sessions.
@composio/coreprovides the core Composio functionalitydotenvloads environment variables from your.envfile
6
Generate Composio MCP URL
TypescriptPython
Copy
import 'dotenv/config';
import { Composio } from '@composio/core';
const { COMPOSIO_API_KEY, USER_ID } = process.env;
if (!COMPOSIO_API_KEY || !USER_ID) {
throw new Error('COMPOSIO_API_KEY and USER_ID required in .env');
}
const composioClient = new Composio({ apiKey: COMPOSIO_API_KEY });
const composioSession = await composioClient.create(USER_ID, {
toolkits: ['github'],
});
const composioMcpUrl = composioSession?.mcp.url;
console.log(`MCP URL: ${composioMcpUrl}`);
console.log(`\nUse this command to add to Claude Code:`);
console.log(`claude mcp add --transport http github-composio "${composioMcpUrl}" --headers "X-API-Key:${COMPOSIO_API_KEY}"`);
Create a script to generate a Composio MCP URL for GitHub. This URL will be used to connect Claude Code to GitHub.
What's happening
- We import the Composio client and load environment variables
- Create a Composio instance with your API key
- Call
create()to create a Tool Router session for GitHub - The returned
mcp.urlis the MCP server URL that Claude Code will use - The script prints this URL so you can copy it
7
Run the script and copy the MCP URL
TypescriptPython
Copy
node --loader ts-node/esm generate_mcp_url.ts
# or if using tsx
tsx generate_mcp_url.ts
Run your TypeScript script to generate the MCP URL.
- The script connects to Composio and creates a Tool Router session
- It prints the MCP URL and the exact command you need to run
- Copy the entire
claude mcp addcommand from the output
8
Add GitHub MCP to Claude Code
bash
Copy
claude mcp add --transport http github-composio "YOUR_MCP_URL_HERE" --headers "X-API-Key:YOUR_COMPOSIO_API_KEY"
# Then restart Claude Code
exit
claude
In your terminal, add the MCP server using the command from the previous step. The command format is:
claude mcp addregisters a new MCP server with Claude Code--transport httpspecifies that this is an HTTP-based MCP server- The server name (
github-composio) is how you'll reference it - The URL points to your Composio Tool Router session
--headersincludes your Composio API key for authentication
After running the command, close the current Claude Code session and start a new one for the changes to take effect.
9
Verify the installation
bash
Copy
claude mcp list
Check that your GitHub MCP server is properly configured.
- This command lists all MCP servers registered with Claude Code
- You should see your
github-composioentry in the list - This confirms that Claude Code can now access GitHub tools
If everything is wired up, you should see your github-composio entry listed:
10
Authenticate GitHub
The first time you try to use GitHub tools, you'll be prompted to authenticate.
- Claude Code will detect that you need to authenticate with GitHub
- It will show you an authentication link
- Open the link in your browser (or copy/paste it)
- Complete the GitHub authorization flow
- Return to the terminal and start using GitHub through Claude Code
Once authenticated, you can ask Claude Code to perform GitHub operations in natural language. For example:
- "Add labels to my latest issue"
- "Invite collaborator to my repository"
- "Assign team member to open bug"
Complete Code
Here's the complete code to get you started with GitHub andClaude Code:
TypescriptPython
Copy
import 'dotenv/config';
import { Composio } from '@composio/core';
const { COMPOSIO_API_KEY, USER_ID } = process.env;
if (!COMPOSIO_API_KEY || !USER_ID) {
throw new Error('COMPOSIO_API_KEY and USER_ID required in .env');
}
const composioClient = new Composio({ apiKey: COMPOSIO_API_KEY });
const composioSession = await composioClient.create(USER_ID, {
toolkits: ['github'],
});
const composioMcpUrl = composioSession?.mcp.url;
## Conclusion
You've successfully integrated GitHub with Claude Code using Composio's MCP server. Now you can interact with GitHub directly from your terminal using natural language commands.
**Key features of this setup:**
- Terminal-native experience without switching contexts
- Natural language commands for GitHub operations
- Secure authentication through Composio's managed MCP
- Tool Router for dynamic tool discovery and execution
**Next steps:**
- Try asking Claude Code to perform various GitHub operations
- Add more toolkits to your Tool Router session for multi-app workflows
- Integrate this setup into your development workflow for increased productivity
You can extend this by adding more toolkits, implementing custom workflows, or building automation scripts that leverage Claude Code's capabilities.
TOOLS & TRIGGERS
## Supported Tools and Triggers
Every GitHub action and event your agent gets out of the box.
Tools846Triggers46
Abort Repository Migration
Tool to abort a repository migration that is queued or in progress.
Accept a repository invitation
Accepts a PENDING repository invitation that has been issued to the authenticated user.
Add app access restrictions
Adds GitHub Apps to the list of apps allowed to push to a protected branch.
Add a repository collaborator
Adds a GitHub user as a repository collaborator, or updates their permission if already a collaborator; \`permission\` applies to organization-owned repositories (personal ones default to 'push' and ignore this field), and an invitation may be created or permissions updated directly.
Add assignees to an issue
Adds assignees to a GitHub issue.
Add email for auth user
Adds one or more email addresses (which will be initially unverified) to the authenticated user's GitHub account; use this to associate new emails, noting an email verified for another account will error, while an existing email for the current user is accepted.
Add field to user project
Tool to add a custom field to a user-owned GitHub Projects V2 project.
Add item to user project
Tool to add an issue or pull request to a user-owned GitHub project.
Add labels to an issue
Adds labels (provided in the request body) to a repository issue; labels that do not already exist are created.
Add org runner labels
Adds new custom labels to an existing self-hosted runner for an organization; existing labels are not removed, and duplicates are not added.
Add or update team membership for a user
Adds a GitHub user to a team or updates their role (member or maintainer), inviting them to the organization if not already a member; idempotent, returning current details if no change is made.
Add or update team project permissions
Adds a classic project to a team or updates the team's permission on it.
Add or update team repository permissions
Sets or updates a team's permission level for a repository within an organization; the team must be a member of the organization.
Add a repository to an app installation
Adds a repository to a GitHub App installation, granting the app access; requires authenticated user to have admin rights for the repository and access to the installation.
Add repo to org secret with selected access
Adds a repository to an existing organization-level GitHub Actions secret that is configured for 'selected' repository access.
Add selected repo to org secret
Grants an existing repository access to an existing organization-level Dependabot secret when the secret's visibility is set to 'selected'; the repository must belong to the organization, and the call succeeds without change if access already exists.
Add runner labels
Adds and appends custom labels to a self-hosted repository runner, which must be registered and active.
Add selected repository to an organization secret
Adds a repository to an organization secret's access list when the secret's visibility is 'selected'; this operation is idempotent.
Add selected repository to an organization variable
Grants a repository access to an organization-level GitHub Actions variable, if that variable's visibility is set to 'selected\_repositories'.
Add a selected repository to a user secret
Grants a specified repository access to an authenticated user's existing Codespaces secret, enabling Codespaces created for that repository to use the secret.
Add social accounts for the authenticated user
Adds one or more social media links (which must be valid, full URLs for platforms supported by GitHub) to the authenticated user's public GitHub profile.
Add status check contexts
Adds status check contexts to a protected branch's required status checks.
Add sub-issue to an issue
Tool to add a sub-issue to a parent GitHub issue using GraphQL.
Add team access restrictions
Adds teams to the list of teams with push access to a protected branch.
Add user access restrictions
Adds users to the list of people allowed to push to a protected branch in an organization repository.
Add users to codespaces access for an organization
Adds organization members to the list of users granted Codespaces access billed to the organization.
Get GitHub API root
Retrieves a map of all top-level GitHub REST API resource URLs and their templates.
Approve a workflow run for a fork pull request
Approves a workflow run from a forked repository's pull request; call this when such a run requires manual approval due to workflow configuration.
Assign an organization role to a team
Assigns an existing organization-level role (identified by \`role\_id\`) to a team (identified by \`team\_slug\`) within a GitHub organization (\`org\`), provided the organization, team, and role already exist.
Assign an organization role to a user
Assigns a specific organization role to a user who is a member or an outside collaborator in a GitHub organization, using a valid role ID.
Block a user
Blocks an existing individual GitHub user (not an organization or your own account), preventing them from interacting with your account and repositories.
Block a user from an organization
Blocks a GitHub user from an organization, preventing their contributions, collaboration, and forking of the organization's repositories.
Cancel a GitHub Pages deployment
Cancels an existing, ongoing or queued GitHub Pages deployment for a repository using its \`pages\_deployment\_id\`.
Cancel sponsorship
Tool to cancel an active GitHub sponsorship using GraphQL.
Cancel a workflow run
Cancels a workflow run in a GitHub repository if it is in a cancellable state (e.
Check if a gist is starred
Checks if a gist is starred by the authenticated user.
Check if pull request merged
Checks if a specified GitHub pull request has been merged, indicated by a 204 HTTP status (merged) or 404 (not merged/found).
Check if a user can be assigned
Verifies if a GitHub user can be assigned to issues in a repository; assignability is confirmed by an HTTP 204 (No Content) response, resulting in an empty 'data' field in the response.
Check if a user can be assigned to an issue
Checks if a specified GitHub user can be assigned to a given issue within a repository.
Check if a user follows another user
Checks if a GitHub user \`username\` follows \`target\_user\`; returns a 204 HTTP status if true, 404 if not or if users are invalid.
Check if a user is blocked by the authenticated user
Checks if the specified GitHub user is blocked by the authenticated user; a 204 No Content response indicates the user is blocked, while a 404 Not Found indicates they are not.
Check if a user is blocked by an organization
Checks if a GitHub user is blocked by an organization.
Check if a user is a repository collaborator
Checks if a user is a collaborator on a specified GitHub repository, returning a 204 status if they are, or a 404 status if they are not or if the repository/user does not exist.
Check if person is followed by authenticated user
Checks if the authenticated GitHub user follows a target GitHub user.
Check private vulnerability reporting status
Checks if private vulnerability reporting is enabled for the specified repository.
Check public organization membership
Tool to check if a user is a public member of an organization.
Check team permissions for a project
Checks if a team has 'read', 'write', or 'admin' permissions for an organization's specific classic project, returning the project's details if access is confirmed.
Check team permissions for a repository
Checks a team's permissions for a specific repository within an organization, including permissions inherited from parent teams.
Check a token
Checks if a GitHub App or OAuth access\_token is valid for the specified client\_id and retrieves its details, typically to verify its active status and grants.
Clear Project V2 Item Field Value
Tool to clear the value of a field for an item in a GitHub Project V2.
Clear repository cache by key
Deletes GitHub Actions caches from a repository matching a specific \`key\` and an optional Git \`ref\`, used to manage storage or clear outdated/corrupted caches; the action succeeds even if no matching caches are found to delete.
Clear self-hosted runner org labels
Removes all custom labels from a self-hosted runner for an organization; default labels (e.
Commit Multiple Files
Tool to atomically create, update, or delete multiple files in a GitHub repository as a single commit.
Compare two commits
Compares two commit points (commits, branches, tags, or SHAs) within a repository or across forks, using \`BASE.
Configure JIT runner for an org
Generates a JIT configuration for a GitHub organization's new self-hosted runner to run a single job then unregister; requires admin:org scope and the runner\_group\_id must exist in the organization.
Configure OIDC subject claim template
Sets or updates the OIDC subject claim customization template for an existing GitHub organization by specifying which claims (e.
Convert an organization member to outside collaborator
Converts an existing organization member, who is not an owner, to an outside collaborator, restricting their access to explicitly granted repositories.
Create a blob
Creates a Git blob in a repository, requiring content and encoding ('utf-8' or 'base64').
Create a check run
Creates a new check run for a specific commit in a repository, used by external services to report status, detailed feedback, annotations, and images directly within the GitHub UI.
Create a check suite
Creates a new check suite for a specific commit (\`head\_sha\`) in an original repository (not a fork).
Create a codespace for the authenticated user
Creates a GitHub Codespace for the authenticated user, requiring a JSON request body with either \`repository\_id\` (integer) or a \`pull\_request\` object (containing \`pull\_request\_number\` (integer) and \`repository\_id\` (integer)).
Create a codespace from a pull request
Creates a GitHub Codespace for an open pull request in a Codespaces-enabled repository, with options to customize its configuration.
Create a codespace in a repository
Creates a GitHub Codespace for the authenticated user in a specified repository, which must be accessible and use a valid \`devcontainer.
Create a commit
Creates a new commit in a GitHub repository; the \`tree\` SHA and any \`parents\` SHAs must already exist in the repository.
Create a commit comment
Creates a comment on a specific commit, or on a specific line if \`path\` and \`position\` are provided.
Create a commit status
Sets a commit's status (e.
Create a custom organization role
Creates a custom role with defined permissions within a GitHub organization.
Create a deploy key
Creates a deploy key for a repository; the repository must exist and be accessible, and the provided key must be a valid public SSH key.
Create a deployment
Creates a GitHub deployment for an existing repository, targeting a specific ref (branch, tag, or SHA) that must also exist within the repository.
Create a deployment branch policy
Creates a deployment branch or tag policy for an existing environment in a GitHub repository, using a Ruby File.
Create a deployment status
Creates a status for an existing deployment, updating its operational state, associated URLs, and description.
Create a discussion
Creates a new discussion post on a specific team's page within an organization.
Create a discussion comment
Creates a new comment on an existing team discussion within a GitHub organization.
Create a fork
Creates a fork of an accessible repository, optionally into a specific organization, with a new name, or copying only the default branch.
Create a gist
Creates a new gist on GitHub with provided files, an optional description, and public/secret visibility.
Create a gist comment
Creates a new comment on a specified GitHub gist.
Create a GitHub App from a manifest
Use this action to complete the GitHub App Manifest flow (step 3 of 3) by exchanging the temporary authorization \`code\` for the app's full configuration, including credentials and private key.
Create a github pages deployment
Creates a GitHub Pages deployment for a repository using a specified artifact and OIDC token, provided GitHub Pages is enabled and the artifact (containing static assets) is accessible.
Create a github pages site
Configures or updates GitHub Pages for a repository, setting build type and source; ensure a Pages workflow exists for 'workflow' \`build\_type\`, or \`source\_branch\` exists for 'legacy' or unspecified \`build\_type\`.
Create a label
Creates a new label in a specified GitHub repository, provided the repository exists and the user has write permissions.
Create a milestone
Creates a milestone in a GitHub repository for tracking progress on issues or pull requests; requires repository existence and user write permissions.
Create an autolink reference for a repository
Creates a repository autolink to automatically convert text references (e.
Create an environment variable
Creates an encrypted environment variable for a pre-existing environment within a GitHub repository; will fail if the variable name already exists.
Create an issue
Creates a new issue in a GitHub repository, requiring the repository to exist and have issues enabled; specific fields like assignees, milestone, or labels may require push access.
Create an issue comment
Creates a new comment on an existing GitHub issue or pull request within the specified repository.
Create an organization project
Creates a new classic project board within a specified GitHub organization.
Create an organization repository
Creates a new repository within a specified GitHub organization, with options for detailed configuration including visibility, features, merge strategies, initial commit, and templates.
Create an organization variable
Creates a new, uniquely named GitHub Actions variable for an organization, with configurable repository access visibility (all, private, or selected).
Create an organization webhook
Creates a webhook for a GitHub organization to deliver event notifications to a configured URL.
Create a project card
Creates a project card in a GitHub project column (classic projects only).
Create a pull request
Creates a pull request in a GitHub repository, requiring existing \`base\` and \`head\` branches; \`title\` or \`issue\` must be provided.
Create a reference
Creates a NEW Git reference (branch or tag) in a repository.
Create a registration token for an organization
Generates a temporary (one-hour) registration token to add a new self-hosted runner to an organization for GitHub Actions.
Create a registration token for a repository
Generates a time-limited token required to register a new self-hosted runner with a specific repository.
Create a release
Creates a release in a GitHub repository for a specified tag; the tag must be unique for published releases, and if a \`discussion\_category\_name\` is given, it must already exist.
Create a remove token for an organization
Generates a token, valid for one hour, to authenticate removing a self-hosted runner from an organization.
Create a remove token for a repository
Generates a temporary (one-hour validity) token required to unregister and remove a self-hosted runner from a repository.
Create a reply for a review comment
Posts a reply to a specific review comment on a GitHub pull request, requiring the repository, pull request, and original comment to exist, and a non-empty reply body.
Create a repository dispatch event
Triggers a GitHub Actions workflow or a webhook on a repository by creating a repository dispatch event, allowing programmatic triggering of workflows based on events outside of GitHub.
Create a repository for the authenticated user
Creates a new repository for the authenticated user, optionally within an organization if \`team\_id\` is specified.
Create a repository from an unpublished codespace
Publishes the specified codespace to a new repository, using the codespace's current state as the initial commit.
Create a repository project
Creates a new GitHub Projects V2 project board linked to a specified repository.
Create a repository ruleset
Creates a uniquely named ruleset for a repository, defining rules for branches or tags with specified enforcement, conditions, and bypass actors.
Create a repository using a template
Creates a new repository from an existing template repository; the authenticated user must have access to the template and, if creating in an organization, repository creation permissions within it.
Create a repository variable
Creates a new, unencrypted variable in a repository for GitHub Actions workflows; fails if a variable with the same name already exists.
Create a repository webhook
Creates a webhook for a specified repository; requires admin permissions on the repository.
Create a review comment for a pull request
Creates a review comment on a pull request's diff, targeting a specific line, range of lines, an entire file, or replying to an existing comment.
Create a review for a pull request
Creates a pull request review, allowing approval, change requests, or comments; \`body\` is required if \`event\` is \`REQUEST\_CHANGES\` or \`COMMENT\`, and omitting \`event\` makes the review \`PENDING\`.
Create a scoped access token
Exchanges a user-to-server token for a new, fine-grained scoped access token for a GitHub App, requiring \`client\_id\`, \`access\_token\`, either \`target\` or \`target\_id\`, and at least one permission; for repository-specific scoping, provide either \`repositories\` (names) or \`repository\_ids\` (IDs), but not both.
Create a dependency snapshot
Creates a snapshot of a repository's dependencies to populate the GitHub dependency graph and enable security alerts; \`sha\` must be a 40-character commit ID, \`ref\` a fully qualified Git reference (e.
Create a tag object
Creates an annotated Git tag object in a repository, pointing to an existing Git object (commit, tree, or blob) defined by its SHA and ensuring the \`type\` field correctly specifies the object's type.
Create a team
Creates a new team in an organization, optionally with maintainers, repositories, specific privacy, notification settings, or a parent team; if \`parent\_team\_id\` is given, \`privacy\` must be 'closed'.
Create a temporary private fork
Creates a temporary private fork of the specified repository to address a security vulnerability, linking the fork to a GHSA ID that must be specifically associated with this repository; the fork may take up to 5 minutes to become accessible.
Create a tree
Creates a new Git tree object in a repository, defining file/directory structure by specifying tree entries, optionally building on a \`base\_tree\` SHA; all provided SHAs must be valid.
Create a user project
Creates a new GitHub Projects V2 project board for the authenticated user to organize and track issues, pull requests, and notes.
Create a workflow dispatch event
Manually triggers a GitHub Actions workflow identified by \`workflow\_id\` at a given \`ref\`, if the workflow is configured to accept \`workflow\_dispatch\` events.
Create commit signature protection
Enables commit signature protection for a specified branch, requiring all new commits to be signed.
Create a custom deployment protection rule on an environment
Enables a custom deployment protection rule for an existing environment in a repository by linking a configured GitHub App (via \`integration\_id\`) to control deployments.
Create draft item for user project
Creates a draft issue item in a user-owned GitHub ProjectsV2.
Create inference chat completions
Tool to create chat completions using GitHub Models inference API.
Create inference embeddings
Tool to create inference embeddings using GitHub's AI models.
Create issue type
Create a new issue type for a GitHub organization.
Create JIT runner config for repo
Generates a temporary Just-In-Time (JIT) configuration for a new self-hosted GitHub Actions runner for a repository; any specified non-default \`runner\_group\_id\` must be an existing runner group accessible by the repository.
Create or update an environment
Creates a new environment or updates an existing one in a GitHub repository, allowing configuration of deployment protection rules such as wait timers and reviewers; ensure \`environment\_name\` is URL-encoded if it contains special characters.
Create or update an environment secret
Creates or updates an environment secret with an \`encrypted\_value\` that was encrypted using the public key identified by \`key\_id\` for the specified environment.
Create or update an organization secret
Creates or updates an organization secret for GitHub Actions, requiring its value to be pre-encrypted via LibSodium using the organization's public key.
Create or update a repository secret
Creates or updates a GitHub Actions secret within a specific repository; use \`encrypted\_value\` and \`key\_id\` to set or change its value.
Create or update a secret for the authenticated user
Creates or updates a Codespaces secret for the authenticated user; \`encrypted\_value\` must be encrypted with the public key (ID: \`key\_id\`) from GitHub's 'Get public key for the authenticated user' endpoint.
Create or update custom properties for an organization
Creates new custom property schemas or updates existing ones in bulk for a specified organization; each property definition must include \`property\_name\` and \`value\_type\`.
Create or update a custom property for an organization
Creates a new custom property (name must be unique for creation) or updates an existing one for an organization to define metadata for its repositories.
Create or update file contents
Creates a new file or updates an existing file in a GitHub repository; SHA can be provided to validate file updates, automatically fetched if not provided.
Create or Update GitHub Pages Site
Tool to enable or update GitHub Pages configuration for a repository.
Create or update repo secret with encrypted value
Creates or updates a Dependabot secret in a repository using an \`encrypted\_value\` (pre-encrypted with LibSodium using the repository's Dependabot public key) and its corresponding \`key\_id\`.
Create reaction for a commit comment
Creates an emoji reaction for a commit comment; if the user has already reacted with the same content, details of the existing reaction are returned.
Create reaction for an issue
Creates a reaction for a specified issue within a GitHub repository.
Create reaction for an issue comment
Creates a reaction for a specific comment on an issue within a GitHub repository.
Create reaction for a pull request review comment
Adds a specified reaction to a pull request review comment within a GitHub repository.
Create reaction for a release
Creates an emoji reaction for a specific, existing release in a GitHub repository.
Create reaction for a team discussion
Creates a reaction for a team discussion within a GitHub organization.
Create reaction for a team discussion comment
Adds a reaction to a team discussion comment, requiring the specified organization, team, discussion, and comment to exist.
Create sponsorship
Tool to start a new GitHub sponsorship or reactivate a past sponsorship using GraphQL.
Create Sponsors Tier
Tool to create a new payment tier for your GitHub Sponsors profile using GraphQL.
Create or Update Organization Secret with LibSodium
Creates or updates a Dependabot organization secret, requiring the secret value to be pre-encrypted with LibSodium using the organization's public key obtained from the 'Get an organization public key' endpoint.
Create user list
Tool to create a new user list on GitHub.
Create view for user project
Tool to create a new view in a user-owned GitHub project (Projects V2).
Decline a repository invitation
Declines a specific, pending repository invitation for the authenticated user, identified by its \`invitation\_id\`.
Delete access restrictions
Removes all user, team, and app-based access restrictions from a protected branch.
Delete admin branch protection
Removes admin enforcement from a protected branch (branch name cannot contain wildcard characters) in a repository.
Delete a file
Deletes a file by path from a GitHub repository.
Delete a package version for the authenticated user
Deletes an existing package version associated with the authenticated user.
Delete an app authorization
Deletes an OAuth application grant for a user, which revokes ALL OAuth tokens and their associated authorizations for the application.
Delete an app token
Revokes a single OAuth access token for an OAuth App or GitHub App with OAuth authorization.
Delete a reference
Deletes a Git reference from a repository; 'ref' must be fully qualified (e.
Delete a release
Permanently deletes a specific release, its assets, and potentially its associated Git tag from a repository.
Delete a release asset
Deletes a specific release asset from a GitHub repository; this action is idempotent.
Delete a release reaction
Deletes a reaction from a GitHub release, provided the repository, release, and reaction exist.
Delete a repository
Permanently deletes the specified repository; this is a destructive, irreversible action that requires admin privileges for the repository.
Delete a repository invitation
Deletes an active repository invitation, permanently revoking a user's access to collaborate on the specified repository.
Delete a repository ruleset
Permanently deletes a repository ruleset.
Delete a repository secret
Deletes a named GitHub Actions secret from a specified repository; this operation is destructive and idempotent, and requires the repository to exist.
Delete a repository subscription
Deletes the authenticated user's subscription to a specified repository if it exists, effectively 'unwatching' it.
Delete a repository variable
Deletes a named variable (e.
Delete a repository webhook
Deletes a specific webhook from a repository.
Delete a review comment for a pull request
Deletes a specific pull request review comment.
Delete an artifact
Deletes a GitHub artifact by its ID within a repository, typically resulting in an empty response (HTTP 204 No Content) on success.
Delete a secret for the authenticated user
Deletes an existing Codespaces secret for the authenticated user by \`secret\_name\`.
Delete a self hosted runner from an organization
Forces the removal of a self-hosted runner from a GitHub organization.
Delete a self hosted runner from a repository
Removes a specific self-hosted runner (by \`runner\_id\`) from a repository, if registered there; this is idempotent.
Delete a team
Deletes a team (and any child teams) from an organization.
Delete a thread subscription
Call this to mute a specific notification thread by deleting the user's subscription; notifications may still occur if the user is @mentioned, comments, or due to repository watch settings.
Delete an autolink reference from a repository
Deletes a specific autolink reference (which automatically links external resource IDs like JIRA-123 to URLs) from the specified repository.
Delete a workflow run
Deletes a specific workflow run from a repository.
Delete branch protection
Removes all protection rules from a specific branch in a GitHub repository; the branch must currently have protection rules enabled.
Delete a code scanning analysis from a repository
Deletes a specific code scanning analysis by its ID from a repository; \`confirm\_delete\` must be \`true\` if it's the last analysis of its type for a given tool and reference to prevent data loss.
Delete a codespace for the authenticated user
Deletes a specific codespace owned by the authenticated user; this is a destructive action and the codespace must exist.
Delete a commit comment
Deletes a specific commit comment, identified by its \`comment\_id\`, from the specified repository; the comment must exist.
Delete a commit comment reaction
Deletes a reaction from a commit comment in a GitHub repository.
Delete commit signature protection
Disables GPG commit signature protection for a specific branch in a GitHub repository, meaning commits pushed to this branch no longer require GPG signing.
Delete a custom organization role
Deletes a custom organization role (which should not be actively assigned) by its ID; a 204 No Content response indicates success.
Delete dependabot secret by name
Deletes a specific Dependabot secret, identified by its name, from a given repository if both the repository and secret exist.
Delete a deploy key
Deletes a specific deploy key from a repository; to change a key's properties or access scope, the existing key must be deleted and a new one created.
Delete a deployment
Permanently deletes a specified \*inactive\* deployment from a repository.
Delete a deployment branch policy
Deletes a specific deployment branch or tag policy, identified by its ID, from a given environment within a repository.
Delete a discussion
Deletes a specific team discussion, identified by its number, from an organization's team.
Delete a discussion comment
Deletes a specific comment from an existing team discussion within an organization, provided the specified organization, team, discussion, and comment all exist.
Delete authenticated user email address
Sends an empty request body to \`DELETE /user/emails\` to attempt deletion of user email addresses; the API typically requires specific emails, so outcome may vary.
Delete an environment
Deletes an existing deployment environment from an existing repository.
Delete an environment secret
Deletes an existing and accessible secret from a specified environment within a GitHub repository, returning an empty dictionary on success or error details otherwise.
Delete an environment variable
Deletes a named environment variable from a specified, existing environment within a GitHub repository.
Delete a gist
Permanently deletes an existing GitHub gist, specified by its \`gist\_id\`; this action is destructive and cannot be undone.
Delete a gist comment
Deletes a specific comment from a GitHub Gist using its \`gist\_id\` and \`comment\_id\`.
Delete GitHub Actions cache by ID
Deletes a specific GitHub Actions cache from a repository using its unique \`cache\_id\`.
Delete a GitHub Pages site
Deletes the GitHub Pages site for the specified repository; completes without error if no site is currently enabled.
Delete an issue comment
Permanently deletes a specific comment by its ID from an issue or pull request, if the repository exists and the comment ID is valid.
Delete an issue comment reaction
Deletes a reaction from an issue comment in a repository; the repository, comment, and reaction must exist.
Delete an issue reaction
Permanently removes a specific reaction from an issue in a GitHub repository.
Delete a label
Permanently removes an existing label from a repository.
Delete a milestone
Deletes the specified milestone if it exists; this operation is idempotent, typically returning a 404 if the milestone is not found or already deleted.
Delete an organization
Deletes a GitHub organization and its repositories; this is a destructive action and the organization name will be unavailable for reuse for approximately 90 days.
Delete an organization secret
Permanently deletes a secret from a GitHub organization, making it inaccessible to GitHub Actions workflows or other tools.
Delete an organization variable
Deletes a named GitHub Actions variable from a specified organization.
Delete an organization webhook
Deletes a specific webhook, identified by \`hook\_id\`, from an existing organization.
Delete a codespace from the organization
Permanently deletes a specific codespace belonging to a member of the specified organization.
Delete a package for an organization
Deletes a specific package in an organization; cannot delete public packages with over 5,000 downloads.
Delete a package for the authenticated user
Permanently deletes a specific package owned by the authenticated user; public packages downloaded over 5,000 times cannot be deleted via this API.
Delete package version
Tool to delete a package version using GitHub GraphQL API.
Delete package version for an organization
Deletes a specific package version within an organization; requires admin permissions for packages with over 5,000 downloads.
Delete package version for a user
Permanently and irreversibly deletes a specific version of a package owned by the specified user.
Delete a pending review for a pull request
Deletes a pending (unsubmitted) review from a pull request; this is only possible if the review has not yet been submitted.
Delete a project
Deletes the specified GitHub project (Projects V2) using the GraphQL API.
Delete a project field (column)
Deletes a project field (column) from a GitHub Projects V2 project using the GraphQL API.
Delete project item for user
Tool to delete a project item for a user in GitHub Projects V2.
Delete a pull request comment reaction
Deletes a specific reaction from a pull request review comment, provided the comment and reaction exist on that comment within the specified repository.
Delete pull request review protection
Disables the requirement for pull request reviews before merging for a specific, existing branch in an existing repository; this action is idempotent and will succeed even if the protection is not currently enabled.
Delete repo codespace secret by name
Deletes a specific Codespace secret from a repository by its name; this action is idempotent and will succeed even if the secret doesn't exist.
Delete social accounts for the authenticated user
Deletes currently linked social media account URLs from the authenticated user's GitHub profile.
Delete team discussion comment reaction
Deletes a reaction from a team discussion comment, given the organization name, team slug, discussion number, comment number, and reaction ID.
Delete team discussion reaction
Permanently deletes a specific reaction from a team discussion within an organization.
Delete User List
Tool to delete a GitHub user list using GraphQL.
Delete a package for a user
Deletes a package owned by the specified user, requiring admin permissions for the authenticated user; deletion of public packages with over 5,000 downloads may require GitHub support.
Delete workflow run logs
Deletes all logs for a specific workflow run in a GitHub repository, provided the repository and run exist.
Disable a custom protection rule for an environment
Disables a specific, currently active custom deployment protection rule for an existing environment within a GitHub repository.
Disable a workflow
Disables a specified workflow (by ID or filename) in a given GitHub repository, preventing new automatic triggers; any in-progress runs will continue.
Disable private vulnerability reporting for a repository
Disables private vulnerability reporting for an existing GitHub repository, preventing direct private vulnerability reports to maintainers via GitHub's interface for this repository.
Disable Repository Actions In Org
Removes a repository from the list of selected repositories enabled for GitHub Actions in an organization.
Dismiss a review for a pull request
Dismisses an APPROVED or CHANGES\_REQUESTED review on a pull request with a mandatory explanatory message.
Download an artifact
Downloads a GitHub Actions workflow artifact as a ZIP file.
Download a repository tarball
Downloads a repository's source code as a tarball (.
Download a repository archive ZIP
Downloads a repository's source code as a ZIP archive for a specific Git reference (branch, tag, or commit SHA).
Download job logs for a workflow run
Downloads logs for a specific job in a GitHub Actions workflow run, contingent on the repository's existence and the job ID being valid and having produced logs.
Download workflow run attempt logs
Downloads a ZIP archive of logs for a specific workflow run attempt.
Download workflow run logs
Downloads logs for a specific GitHub Actions workflow run as a ZIP archive containing log files for each job in the workflow.
Enable a workflow
Reactivates a currently disabled GitHub Actions workflow within a repository using its workflow ID or filename.
Enable GitHub actions in selected repositories
Sets the specific repositories that can use GitHub Actions within an organization by replacing the current list; only applies if the organization's Actions policy is 'selected repositories'.
Enable private vulnerability reporting for a repository
Enables private vulnerability reporting for a repository, allowing security researchers to privately submit vulnerability reports to maintainers.
Enable repo for Github Actions
Adds a repository to the list of selected repositories enabled for GitHub Actions in an organization.
Encrypt and update dev secret
Creates or updates a repository's development environment secret using an \`encrypted\_value\` and its corresponding \`key\_id\`; the secret must be pre-encrypted with the repository's Codespaces public key.
Encrypt org dev env secret
Creates or updates an organization's GitHub Codespaces secret using an encrypted value and its corresponding public key ID.
Export a codespace for the authenticated user
Triggers an export of a user's specified codespace, automatically stopping it if active, and returns its export status and download URL.
Export an SBOM for a repository
Exports the software bill of materials (SBOM) in SPDX JSON format for a repository, if its dependency graph is enabled and it has at least one commit.
Find Pull Requests
Primary tool to find and search pull requests.
Find Repositories
AI-optimized repository search with smart filtering by language, stars, topics, and ownership.
Follow Organization (GraphQL)
Tool to follow a GitHub organization using GraphQL.
Follow a user
Allows the authenticated user to follow the GitHub user specified by \`username\`; this action is idempotent and the user cannot follow themselves.
Follow User (GraphQL)
Tool to follow a GitHub user using GraphQL.
Force cancel a workflow run
Forcefully cancels a queued or in-progress GitHub Actions workflow run, bypassing conditions like always() that would otherwise continue execution.
Fork a gist
Forks a specified public gist, creating a copy under the authenticated user's account.
Generate release notes content for a release
Generates Markdown release notes content (listing changes, pull requests, and contributors) for a GitHub repository release, customizable via tags and a configuration file.
Get a blob
Retrieves the raw, typically Base64-encoded, content of a file (blob) from a GitHub repository using its SHA hash, if the repository and blob SHA exist.
Get a branch
Retrieves detailed information for a specified branch within a GitHub repository.
Get access restrictions
Lists users, teams, and GitHub Apps with push access to a branch; this branch must be protected in repository settings for detailed restrictions, otherwise expect a 404 or empty response.
Get a commit
Retrieves a specific commit from a repository by its owner, name, and a valid commit reference (SHA, branch, or tag), supporting pagination for large diffs.
Get admin branch protection
Checks if repository administrators are subject to the branch protection rules on a specific branch.
Get all API versions
Retrieves all officially supported, date-based (e.
Get all contributor commit activity
Retrieves commit activity (total commits, weekly additions/deletions/commits) for all contributors to a repository; may require a retry if GitHub returns 202 while preparing data.
Get all deployment protection rules for an environment
Lists all enabled custom deployment protection rules for a specific environment in a repository; the environment must exist and be configured for deployments.
Get a milestone
Retrieves detailed information for a specific milestone within a GitHub repository by its number.
Get an app
Retrieves publicly available information for an existing GitHub App, identified by its unique URL-friendly \`app\_slug\`.
Get an artifact
Gets a specific artifact for a repository by \`artifact\_id\`.
Get an assignment
Retrieves detailed information for a specific GitHub Classroom assignment if the authenticated user is an administrator of the classroom.
Get an autolink reference of a repository
Retrieves a specific autolink reference (which automatically hyperlinks text like 'JIRA-123' to an external system) for a repository using its unique ID; requires administrator access to the repository.
Get an environment
Retrieves the details of a specific deployment environment for a given repository, including its name, configurations, and current status.
Get an environment public key
Retrieves the public key for a specified GitHub repository environment, used to encrypt secrets for GitHub Actions.
Get an environment secret
Retrieves metadata (name and timestamps) for a single secret in a GitHub Actions environment.
Get an environment variable
Retrieves a specific environment variable from a GitHub Actions environment by repository owner, repository name, environment name, and variable name.
Get an issue
Retrieves detailed information about a specific issue in a repository using the owner, repository name, and issue number.
Get an issue comment
Action to get an issue comment.
Get an issue event
Fetches details of a specific issue event for a given repository and event ID.
Get an organization
Get an organization
Get an organization public key
Action for \`GetAnOrganizationPublicKey\`.
Get an organization role
Retrieves a specific GitHub organization role by its ID.
Get an organization secret
Gets an organization secret's metadata (e.
Get an organization variable
Retrieves details (name, value, visibility, timestamps) of a specific, existing variable for an existing GitHub organization.
Get an organization webhook
Retrieves the full configuration, including subscribed events and delivery settings, for an existing organization webhook.
Get a package for an organization
Retrieves a specific package (by type and name) from an organization, if both the package and organization exist.
Get a package for a user
Retrieves metadata for a specific package owned by a GitHub user, using package type, name, and username as identifiers.
Get a package for the authenticated user
Retrieves detailed information for a specific package owned by the authenticated user.
Get a package version for an organization
Retrieves detailed information for a specific version of a package within an organization.
Get a package version for a user
Retrieves a specific public package version associated with a GitHub user.
Get authenticated user package version
Retrieves detailed information for an existing specific package version associated with the authenticated user, identified by its type, name, and version ID.
Get a project
Retrieves detailed information for a specific GitHub project (V2) using its project number and owner.
Get a project card
Retrieves all details of a specific project card, given its unique \`card\_id\`.
Get a pull request
Retrieves a specific pull request from a GitHub repository using its owner, repository name, and pull request number.
Get a reference
Retrieves a specific Git reference (e.
Get a release
Gets a specific release from a GitHub repository, provided the repository is accessible and the release exists.
Get a release asset
Gets metadata for a specific release asset in a GitHub repository, including a \`browser\_download\_url\` for downloading the asset.
Get a release by tag name
Gets a release from a GitHub repository by its tag name; the repository and a release with this tag must already exist.
Get a repository
Retrieves detailed information about an existing and accessible GitHub repository.
Get a repository public key
Gets a repository's public key for encrypting secrets to be used in GitHub Actions, if the repository exists and is accessible.
Get a repository readme
Fetches the README file (if it exists and is accessible) from a specified GitHub repository, returning its Base64-encoded content and metadata.
Get a repository readme for a directory
Retrieves the README file from a specified directory within a GitHub repository, optionally at a given commit, branch, or tag.
Get a repository ruleset
Retrieves a specific repository ruleset by its ID; if \`includes\_parents\` is true, the search for this \`ruleset\_id\` also extends to rulesets from parent organizations.
Get a repository rule suite
Gets detailed information for a specific repository rule suite by its ID, including its evaluation status and the results of its individual rules.
Get a repository secret
Gets metadata (name, creation/update timestamps) for an existing repository secret, excluding its encrypted value.
Get a repository subscription
Gets the authenticated user's subscription details for a repository, indicating if they receive notifications.
Get a repository variable
Gets a specific GitHub Actions variable by name from an accessible repository.
Get a repository webhook
Returns the configuration of an existing webhook for a given repository.
Get a review comment for a pull request
Retrieves a specific pull request review comment by its ID, provided the repository exists, is accessible, and the comment ID is valid.
Get a review for a pull request
Retrieves a specific review for a pull request using its owner, repository, pull request number, and review ID.
Get a secret for the authenticated user
Retrieves metadata (name, timestamps, visibility; not the value) for a specific, existing development environment secret associated with the authenticated user's GitHub Codespaces.
Get a self hosted runner for an organization
Retrieves detailed information about a specific self-hosted runner registered within a GitHub organization.
Get a self hosted runner for a repository
Gets a specific self-hosted runner for a repository by its unique ID.
Get assignment grades
Retrieves all grades for an existing GitHub Classroom assignment.
Get a tag
Retrieves detailed information for a specific Git tag object from a GitHub repository, using the SHA of the tag object itself.
Get a team by name
Retrieves a GitHub team by its slug from a specific organization.
Get a thread
Retrieves a specific GitHub notification thread using its unique \`thread\_id\`.
Get a thread subscription for the authenticated user
Retrieves the authenticated user's subscription details for a specific notification thread, identified by \`thread\_id\`.
List repository files and directories
Browse and list all files/directories in a GitHub repository.
Get a user
Retrieves the public profile information for an existing GitHub user, specified by their username.
Get a webhook configuration for an organization
Retrieves the configuration for a specific webhook associated with a GitHub organization.
Get a webhook configuration for a repository
Returns the configuration for an existing webhook on the specified repository.
Get a webhook delivery for an organization webhook
Returns detailed information for a specific delivery attempt of a webhook configured for the specified GitHub organization.
Get a workflow
Retrieves detailed information for a specific GitHub Actions workflow in a repository, identified by either its numeric ID or its filename.
Get a workflow run
Gets a specific workflow run by its ID from a GitHub repository.
Get a workflow run attempt
Retrieves detailed information for a specific attempt of a workflow run in a GitHub repository, including its status, conclusion, and timings.
Get billing usage report for user
Retrieves the billing usage report for a specified GitHub user.
Get branch protection
Retrieves branch protection settings for a specific, existing, and accessible branch in a GitHub repository; protection feature availability varies by GitHub product plan.
Get catalog models
Tool to retrieve the list of AI models available in the GitHub Models catalog.
Get a check run
Retrieves detailed information for a specific check run within a GitHub repository.
Get a check suite
Retrieves a specific check suite (a collection of check runs) by its ID from a repository accessible to the authenticated user.
Get a classroom
Retrieves details for a specific GitHub Classroom.
Get a code of conduct
Retrieves the full details of a specific GitHub code of conduct using its unique key.
Get Code of Conduct (GraphQL)
Tool to look up a code of conduct by its key using GitHub's GraphQL API.
Get a CodeQL database for a repository
Gets an existing CodeQL database (including a download URL) for a specified language in an accessible repository, if one has been successfully built for that language.
Get a code scanning alert
Retrieves a specific code scanning alert, which identifies potential code vulnerabilities or errors, by its number from the specified GitHub repository.
Get a code scanning analysis for a repository
Retrieves detailed information for a specific code scanning analysis on an accessible repository, identified by its \`analysis\_id\`.
Get a code scanning default setup configuration
Gets the default setup configuration for code scanning in a repository, including state, languages, query suite, and schedule for a repository if it exists.
Get a codespace for the authenticated user
Call to retrieve detailed information for a \`codespace\_name\` belonging to the authenticated user, ensuring the codespace exists and is accessible.
Get a commit comment
Retrieves the full details of a specific commit comment in a GitHub repository, using its unique identifier.
Get a commit object
Retrieves detailed information (including author, committer, message, tree, parents, verification) for a specific commit in a GitHub repository, identified by its SHA.
Get commit signature protection
Gets the commit signature protection status for a branch in a repository.
Get commit statuses
List all statuses for a commit reference (SHA, branch, or tag) in reverse chronological order.
Get community profile metrics
Retrieves a repository's community profile metrics, including health percentage and the presence of key community files (e.
Get contextual information for a user
Gets contextual hovercard information for a GitHub user; \`subject\_type\` and \`subject\_id\` can be jointly provided for more specific details.
Get a custom deployment protection rule
Retrieves a specific custom deployment protection rule (used by GitHub Apps for external validation or manual approval of deployments) for a given environment in a repository.
Get default attributes for a codespace
Get pre-flight data (e.
Get default workflow permissions for an organization
Gets the default GITHUB\_TOKEN workflow permissions and settings for a GitHub organization.
Get default workflow permissions for a repository
Gets the default workflow permissions (\`read\` or \`write\`) for the GITHUB\_TOKEN and whether it can approve pull request reviews in an existing and accessible repository.
Get a diff of the dependencies between commits
Gets the dependency diff between two Git revisions in a repository, where 'basehead' specifies the revisions and 'name' can optionally scope to a specific manifest file.
Get a deploy key
Gets a specific deploy key, identified by its \`key\_id\`, for the GitHub repository specified by \`owner\` and \`repo\`.
Get a deployment
Gets a specific deployment by ID from a repository, provided the repository and deployment ID exist.
Get a deployment branch policy
Retrieves a specific deployment branch policy for an environment in a repository, identified by its unique ID.
Get a deployment status
Retrieves a specific deployment status by its ID for a given deployment within a GitHub repository.
Get details about a codespace export
Retrieves detailed information about a specific export of a codespace.
Get a discussion
Fetches a specific discussion by its number from a team within an organization.
Get a discussion comment
Fetches a specific comment from a team discussion within a specific organization.
Get emojis
Lists all emojis available for use on GitHub, including custom and Unicode emojis.
Get Enterprise Member Invitation
Tool to look up a pending enterprise unaffiliated member invitation by invitee and enterprise.
Get feeds
Fetches a list of available GitHub feed URLs for the authenticated user.
Get a gist
Fetches a specific GitHub gist by its \`gist\_id\`, returning comprehensive details if the gist exists.
Get a gist comment
Retrieves a specific Gist comment by its ID and the Gist's ID.
Get a gist revision
Retrieves a specific revision of a gist.
Get GitHub Actions cache usage for an organization
Retrieves total GitHub Actions cache usage statistics for an organization, including active cache count and size across all repositories.
Get github actions cache usage for a repository
Retrieves the total count of active GitHub Actions caches and their combined size in bytes for a specified repository.
Get github actions permissions for an organization
Gets the GitHub Actions permissions for a specified organization, detailing repository enablement and allowed actions policies.
Get GitHub Actions permissions for a repository
Gets the GitHub Actions permissions policy for a repository, including its enabled status and the scope of allowed actions.
Get billing premium request usage
Tool to get billing premium request usage report for a GitHub user.
Get billing usage summary for user
Tool to retrieve billing usage summary for a GitHub user account.
Get github meta information
Fetches GitHub's publicly available metadata, useful for configuring network security policies or IP allow-listing.
Get github pages build
Retrieves detailed information about a specific GitHub Pages build for a repository, which must have GitHub Pages enabled.
Get a gitignore template
Retrieves a specific .
Get a global security advisory
Retrieve a global GitHub security advisory by its GHSA identifier.
Fetch GraphQL Node
Tool to fetch any GitHub object by its global node ID.
Get GraphQL rate limit
Tool to retrieve the authenticated client's GitHub GraphQL API rate limit information.
Get information about a sarif upload
Retrieves detailed information, including processing status and results URL, about a specific SARIF (Static Analysis Results Interchange Format) upload for a repository, uniquely identified by its sarif\_id.
Get interaction restrictions for an organization
Retrieves interaction restrictions for an organization, showing which GitHub user types can interact with its public repositories and when restrictions expire; returns an empty response if no restrictions are set.
Get interaction restrictions for a repository
Retrieves active interaction restrictions for a repository, detailing which user groups are limited from activities like commenting or creating pull requests, and when these restrictions expire.
Get interaction restrictions for public repositories
Retrieves currently active interaction restrictions for the authenticated user's public repositories.
Get a label
Retrieves a specific label by its name from a specified GitHub repository.
Get latest pages build
Retrieves information about the most recent GitHub Pages build for a repository, which must exist, be accessible, have GitHub Pages enabled, and have at least one prior build.
Get a license
Call this action to retrieve comprehensive details for a specific software license recognized by GitHub, using its unique license key.
Get License (GraphQL)
Tool to look up an open source license by its SPDX ID using GitHub's GraphQL API.
Get octocat
Fetches an ASCII art representation of GitHub's Octocat, suitable for text-based displays.
Customize OIDC subject claim template
Retrieves the OpenID Connect (OIDC) subject claim customization template for a repository, which defines the \`sub\` claim structure in OIDC tokens for GitHub Actions workflows; returns the default configuration if no customization is applied.
Get allowed actions and workflows for an org
Gets the list of allowed actions and reusable workflows for an organization when the 'allowed\_actions' policy is set to 'selected'.
Get organization audit log
Tool to retrieve an organization's audit log events for security and compliance investigations.
Get a custom property for an organization
Retrieves the definition (schema) of a specific, existing custom property for an organization.
Get organization project item
Tool to get an item from an organization-owned GitHub Projects V2 project.
Get organization public key for Codespaces secrets
Retrieves an organization's public key, which must be used to encrypt secret values before they are configured for Codespaces.
Fetch Public Key For Secret Encryption
Retrieves the public key for an existing GitHub organization, required for encrypting Dependabot secrets.
Get org dev environment secret safely
Retrieves metadata for a specific secret available to an organization's GitHub Codespaces without exposing its encrypted value.
Get custom OIDC subject claim template
Retrieves the OpenID Connect (OIDC) subject claim customization template for a GitHub organization, which defines how the \`sub\` claim in OIDC tokens for workflows is constructed.
Get a dns health check for github pages
Retrieves the DNS health check status (e.
Get a GitHub Pages site
Retrieves information for a GitHub Pages site, which must be enabled for the repository.
Get page views
Retrieves page view statistics for a repository over the last 14 days, including total views, unique visitors, and a daily or weekly breakdown.
Get pending deployments for a workflow run
Retrieves pending deployment environments for a specific workflow run that are awaiting approval due to protection rules.
Get project permission for a user
Retrieves permission information for a GitHub project (classic) collaborator.
Get public key for secret encryption
Retrieves a repository's public key for encrypting GitHub Codespaces secrets; requires \`repo\` scope or equivalent read access to codespaces secrets for private repositories.
Get public key for the authenticated user
Retrieves the authenticated user's public key for encrypting GitHub Codespaces secrets.
Get pull request review protection
Retrieves the pull request review protection settings for a specific branch in a GitHub repository, if such protection is configured.
Get rate limit status for the authenticated user
Retrieves the authenticated user's current GitHub API rate limit status, including usage and limits across different resource categories.
Get Raw Repository Content
Tool to fetch raw file content from a GitHub repository.
Get allowed actions and workflows for a repository
Gets the settings for allowed actions and reusable workflows in a repository.
Get repository development environment secret
Gets metadata (name, creation/update timestamps) for a specific, existing development environment secret (Codespaces secret) in a repository, without exposing its value.
Get repository attestations
Tool to retrieve attestations by subject digest from a GitHub repository.
Get repository clones
Retrieves the total number of clones and a breakdown of clone activity (daily or weekly) for a specified repository over the preceding 14 days.
Get repository content
Retrieves a file's Base64 encoded content or lists a directory's contents from a GitHub repository.
Get Repository via GraphQL
Tool to lookup a repository by owner and name using GitHub's GraphQL API.
Get Repository Owner
Tool to lookup a repository owner (User or Organization) by login using GitHub's GraphQL API.
Get repository permissions for a user
Retrieves a specific user's permission level ('admin', 'write', 'read', or 'none') for a given repository, where 'maintain' role is reported as 'write' and 'triage' as 'read'.
Retrieve repo public key for encryption
Gets a repository's public key, used to encrypt secrets for Dependabot.
Get repository secret securely
Retrieves metadata for an existing Dependabot secret in a repository, without exposing its encrypted value.
Get repository security advisory
Tool to retrieve a repository security advisory using its GHSA identifier.
Get a delivery for a repository webhook
Retrieves a specific delivery for a repository webhook, identified by its \`hook\_id\` and \`delivery\_id\`.
Get rules for a branch
Retrieves all active rules for a specific branch in a GitHub repository, excluding rules in 'evaluate' or 'disabled' status.
Get Organization Dependabot Secret
Gets a single organization Dependabot secret's metadata (name, timestamps, visibility) without revealing its encrypted value.
Get status checks protection
Retrieves the status check protection settings for a specific branch in a GitHub repository, if status check protection is enabled for it.
Get team membership for a user
Retrieves a user's role and membership status within a specific team in an organization.
Get teams with access to the protected branch
Lists teams with explicit push access to a protected branch, provided team restrictions are configured in the branch's protection settings; returns an empty list otherwise.
Get the authenticated user
Gets the profile information for the currently authenticated GitHub user, including potentially private details based on user settings.
Get the combined status for a specific reference
Retrieves the aggregated commit status (e.
Get the hourly commit count for each day
Retrieves the 'punch card' data, showing hourly commit counts for each day of the week for an existing and accessible repository.
Get the last year of commit activity
Fetches weekly commit totals and daily commit counts for the last 52 weeks for a specified GitHub repository.
Get the latest release
Fetches the latest official (non-prerelease, non-draft) release for a GitHub repository; requires at least one such published release.
Get the license for a repository
Retrieves the license file and its details for a repository, optionally from a specific Git reference (branch, tag, or commit SHA).
Get the review history for a workflow run
Retrieves the detailed approval history for a specific workflow run in a GitHub repository, detailing each review's environment, state, reviewer, and comments, to track the approval process for workflows, particularly automated deployments.
Get the status of a GitHub Pages deployment
Retrieves the status of a specific GitHub Pages deployment for a repository, which must have GitHub Pages enabled.
Get the weekly commit activity
Fetches the weekly commit activity (additions and deletions per week) for a repository over the past year; best for repositories with under 10,000 commits.
Get the weekly commit count
Retrieves the weekly commit count for a repository, detailing commits by the owner and all contributors over the last 52 weeks; GitHub may return a 202 status or an empty response if statistics are being computed.
Get the Zen of GitHub
Retrieves a random quote from GitHub's 'Zen of GitHub' collection, reflecting GitHub's design philosophies and offering humorous insights, useful for displaying GitHub wisdom or a lighthearted message.
Get top referral paths
Fetches the top 10 most viewed content paths for a repository from the last 14 days.
Get top referral sources
Fetches the top 10 websites that referred traffic to a repository within the last 14 days.
Get user by ID
Retrieves a GitHub user's profile information by their unique numeric account ID.
Get user project item
Tool to get an item from a user-owned project in GitHub Projects V2.
Get user attestations by subject digest
Tool to get attestations by subject digest for a GitHub user.
Get user's projects v2
Tool to list GitHub Projects v2 for a specified user.
Get users with access to the protected branch
Lists users with explicit push access to a protected branch, provided its protection rule restricts pushes to specific users.
Get Viewer via GraphQL
Tool to retrieve the authenticated user's profile information via GitHub GraphQL.
Get workflow external access level
Gets the access level settings for a private repository, determining how workflows outside this repository can use its actions and reusable workflows.
Get a job for a workflow run
Retrieves detailed information for a specific job within a GitHub Actions workflow run, given its \`job\_id\` which must be valid for the specified repository's workflow.
Get workflow run usage
Gets the billable time, in milliseconds, for a specific workflow run, detailing time spent on various operating systems.
Get workflow usage
Gets the billable time (in milliseconds, broken down by runner OS) for a specific workflow within a repository for the current billing cycle.
Check if repo starred by auth user
Use to determine if the authenticated user has starred a specific GitHub repository, which is confirmed by an HTTP 204 status (resulting in an empty dictionary in the response data); the action fails (e.
List accepted assignments for an assignment
Lists accepted assignments (student repositories created after acceptance) for an existing GitHub Classroom assignment, identified by its unique \`assignment\_id\`.
List repositories accessible via GitHub App installation
Lists repositories that the authenticated user can access through a specific GitHub App installation.
List app installations for user token
Lists GitHub App installations accessible to the authenticated user via their access token, including installation details, permissions, and repository access.
Get apps with access to the protected branch
Lists GitHub Apps with push access to a repository's protected branch.
List artifacts for a repository
Lists GitHub Actions workflow artifacts for a specified repository, which must exist.
List assignees
Lists users who can be assigned to issues in a repository, typically those with push access.
List assignments for a classroom
Lists all assignments for a given GitHub Classroom \`classroom\_id\`; the classroom must exist and be accessible.
List attestation repositories
Tool to list attestation repositories for an organization.
List available machine types for a repository
Lists machine types available for GitHub Codespaces in a repository, optionally using a Git ref to check compatibility based on prebuild availability and devcontainer configurations.
List branches
Lists branches for an existing GitHub repository, with an option to filter by protection status.
List branches for head commit
Lists branches in an accessible repository where the provided commit SHA is the head, useful for identifying development lines based on that commit.
List check run annotations
Lists annotations for a specific check run in a GitHub repository, detailing issues like errors or warnings on particular code lines.
List check runs for a git ref
List GitHub check runs for a commit SHA, branch, or tag to assess CI status and conclusions.
List check runs in a check suite
Lists check runs for a specific check suite in a GitHub repository, optionally filtering by check name or status.
List check suites for a git reference
Lists check suites for a Git reference (commit SHA, branch, or tag) in a repository, optionally filtering by GitHub App ID or check run name.
List child teams
Lists the immediate child teams of a parent team within an organization.
List classrooms
Lists GitHub Classrooms to which the authenticated user has administrative access.
List codeowners errors
Lists syntax errors in a repository's CODEOWNERS file, which must be located at the root, \`.
List CodeQL databases for a repository
Lists all CodeQL databases for a repository where CodeQL analysis has been previously run and completed.
List code scanning alerts for an organization
Lists code scanning alerts for a GitHub organization; use EITHER \`tool\_name\` OR \`tool\_guid\` if filtering by tool, not both.
List code scanning alerts for a repository
Lists code scanning alerts for a repository, optionally filtering by tool (which must have produced scan results for the repository), Git reference, state, or severity.
List code scanning analyses for a repository
Lists code scanning analyses for an existing repository, optionally filtering by tool (name or GUID), Git reference, or SARIF ID.
Get all codes of conduct
Retrieves all available codes of conduct from GitHub, often used to select one for a repository.
List Codes of Conduct (GraphQL)
Tool to fetch all available codes of conduct using GitHub's GraphQL API.
List codespaces for a user in organization
Lists all GitHub Codespaces owned by a specified member of a given organization.
List codespaces for the authenticated user
Lists GitHub Codespaces for the authenticated user, optionally filtering by repository ID and supporting pagination.
List codespaces for the organization
Lists active/pending GitHub Codespaces for an existing organization; admins list all, members list their own.
List comment changes across organization
Tool to list issue and PR comment changes across an organization's repositories efficiently.
List comments for a pull request review
Lists all comments for a specific review on a GitHub pull request.
List commit comments
Retrieves all comments for a specific commit in a GitHub repository, supporting pagination.
List commit comments for a repository
Lists all commit comments for a specified repository, which must exist and be accessible.
List commits
Lists commits for a GitHub repository.
List commits on a pull request
Lists commits for a pull request; requires the repository and pull request to exist and be accessible, and supports pagination.
Get all commonly used licenses
Retrieves a list of commonly used software licenses from GitHub, optionally filtering for 'featured' licenses whose specific selection criteria by GitHub may vary.
Get all custom properties for an organization
Gets the schema definitions for all custom properties configured for an organization, not the specific values assigned to repositories.
Get all custom property values for a repository
Gets all custom property values for a repository.
List custom property values for organization repositories
Lists repositories in an organization with their custom property values.
List deliveries for an organization webhook
Retrieves a list of webhook deliveries for a specific webhook in an organization, allowing inspection of delivery history and details.
List deliveries for a repository webhook
Retrieves delivery attempts for a specific repository webhook to inspect its history; ensure the webhook ID exists.
List deploy keys
Lists deploy SSH keys for a specified repository; the repository must exist.
List deployment branch policies
Lists all deployment branch policies for a specified environment in a GitHub repository.
List deployments
Lists deployments for a specified repository; repository must exist.
List deployment statuses
Lists all statuses for a given deployment in a repository.
List email addresses for the authenticated user
Lists all email addresses for the authenticated user, including their primary status, verification status, and visibility.
List environment custom deployment rules
Lists all custom deployment protection rule integrations for a repository environment; the \`environment\_name\` must be URL-encoded.
List environments
Retrieves all deployment environments for a specified repository, which are used to configure protection rules and secrets for different software lifecycle stages.
List environment secrets
Lists the names and metadata (not values) of secrets for a specified, existing environment within an existing GitHub repository.
List environment variables
Lists all environment variables, which are plaintext key-value pairs for GitHub Actions workflows, for a specified environment within a GitHub repository.
List events for the authenticated user
Lists public events for the specified GitHub user, or private events if authenticated as that user, in reverse chronological order.
List events received by the authenticated user
Lists events a specific GitHub user received from followed users and watched repositories; returns private events if authenticated for \`username\`, otherwise public.
List followers of a user
Lists followers for a specified, existing GitHub user.
List followers of the authenticated user
Lists users following the authenticated GitHub user, returning an empty list if the user has no followers.
List forks
Lists forks for a specified repository, which must exist, with options for sorting and pagination.
List gist comments
Lists comments for a specified GitHub Gist.
List gist commits
Lists all commits for a specified gist.
List gist forks
Lists all forks for a given GitHub gist ID.
List gists for a user
\_lists public gists for a specified GitHub user.
List gists for the authenticated user
Lists gists for the authenticated user, with optional filtering by update time and pagination.
List github actions caches for a repository
Lists GitHub Actions caches for a repository, with options to filter by Git reference or cache key, and to sort and paginate results.
List GitHub Pages builds
Lists GitHub Pages builds for a repository; GitHub Pages must be enabled on the repository for builds to be listed.
Get all gitignore templates
Retrieves all available .
List global security advisories
Lists GitHub's global security advisories, filterable by various attributes including ID, type, ecosystem, severity, and dates.
List GPG keys for a user
Tool to list GPG keys for a GitHub user.
List installation requests for the authenticated app
Lists pending installation requests made by users or organizations for the authenticated GitHub App.
List instances of a code scanning alert
Lists all instances of a specific code scanning alert, optionally filtered by Git ref; requires code scanning to be enabled on the repository.
List issue comments
Lists comments for a specified issue in a GitHub repository.
List issue comments for a repository
Lists issue comments, including those on pull requests, for an accessible repository.
List issue dependencies blocked by
Tool to list dependencies an issue is blocked by.
List issue dependencies blocking
Tool to list dependencies an issue is blocking.
List issue events
Retrieves a list of all events for a specific issue within a GitHub repository.
List issue events for a repository
Lists all issue events (e.
List issues for user
Lists GitHub issues for the authenticated user across visible repositories, with filtering by user relationship, state, labels, an ISO 8601 \`since\` timestamp (YYYY-MM-DDTHH:MM:SSZ), and sorting options; pull requests are typically included.
List issue types
List all issue types configured for a GitHub organization.
List jobs for a workflow run
Lists jobs for a specific workflow run in a GitHub repository.
List jobs for a workflow run attempt
Lists jobs, including details like ID, status, and steps, for a specific attempt of a GitHub Actions workflow run.
List labels for an issue
Lists all labels for a specified issue in a GitHub repository.
List labels for a repository
Retrieves all labels for a specified, existing GitHub repository.
List labels for a self-hosted runner for a repository
Lists all labels assigned to a specific self-hosted runner registered with the given repository.
List labels for issues in a milestone
Lists all labels for issues within a specific milestone in a repository.
List labels for a self-hosted runner for an organization
Lists all labels assigned to a specific self-hosted runner within a GitHub organization, which are used to route workflows.
List Licenses (GraphQL)
Tool to fetch all known open source licenses using GitHub's GraphQL API.
List machine types for a codespace
Lists available machine types for a specific, accessible codespace, enabling it to be transitioned to a new hardware configuration.
List matching references
Lists all Git references (branches or tags) in a repository that start with the provided partial reference path (e.
List milestones
Lists milestones, which track progress for groups of issues and pull requests, for an existing repository, allowing filtering by state and sorting.
List notifications for authenticated user
Tool to list notification threads for the authenticated user with efficient polling support.
List org level codespaces secrets
Lists all Codespaces secrets available for a specified organization, which must exist.
List organization events for the authenticated user
Lists public events in a specified GitHub organization for the authenticated user's organization dashboard.
List organization members
Lists public and concealed members of a GitHub organization; viewing concealed members requires authenticated user to be an organization member.
List organization memberships for authenticated user
List organization memberships for authenticated user
List organization projects
Lists projects (V2) for a specified GitHub organization, with optional search query and cursor-based pagination.
List organization repositories
Retrieves a list of repositories for a specified GitHub organization, allowing filtering by type and sorting.
Get all organization roles for an organization
Lists all custom organization roles for an existing GitHub organization.
List organizations
Lists GitHub organizations for the authenticated user, sorted by ID in ascending order.
List organization secrets
Lists GitHub Actions secrets available for a specified organization.
List organizations for a user
Lists public organizations for a specified GitHub user; the \`username\` must be a valid GitHub handle.
List organizations for the authenticated user
Lists organizations the authenticated GitHub user is a member of, returning details for each organization.
List organization variables
Lists all GitHub Actions variables for a specified organization.
List organization webhooks
Lists all webhooks for a specified GitHub organization; the organization must exist.
List organization fine-grained permissions
Lists all fine-grained permissions available in a GitHub organization for use in custom organization roles.
List organization issues assigned to the authenticated user
Lists issues for the authenticated user within a specified GitHub organization, with options to filter by involvement type, state, labels, and to sort results.
List package versions for an organization package
Lists all versions for a specified package, if it exists and is owned by the given GitHub organization.
List organization project view items
Tool to list items for an organization project view.
List organization repositories with Github Actions enabled
Lists the selected repositories that are enabled for GitHub Actions in an organization.
List org resource access tokens
Lists approved fine-grained personal access tokens (PATs) with access to resources in a GitHub organization, optionally filtering by owner, repository, permissions, or last usage time.
List org resources with personal tokens
Lists requests from organization members to access organization resources with fine-grained personal access tokens (pending, approved, or denied).
List organization Dependabot secrets without values
Lists all Dependabot secrets (metadata like names, creation/update timestamps, but not their encrypted values) for a specified organization, which must exist.
List outside collaborators for an organization
Lists outside collaborators for a GitHub organization, with options to filter (e.
List owned package versions
Lists all versions for an existing package owned by the authenticated user, identified by its type and name.
List packages for an organization
Lists GitHub Packages for an organization, noting specific interpretations for package\_type and visibility parameters.
List packages for a user
Lists packages for a specified GitHub user, filterable by package type and visibility.
List packages for the authenticated user's namespace
Lists packages of a specific type and visibility within the authenticated user's namespace on GitHub.
List package versions for a package owned by a user
Lists all versions of a public package owned by a specific GitHub user, identified by package type, package name, and username.
List pending team invitations
Lists all pending membership invitations for a specified team within an organization.
List project collaborators (classic)
Lists collaborators for a GitHub Project (classic) by project ID.
List project columns
Lists all of a GitHub project's columns (e.
List project fields for user
Tool to list all fields in a GitHub Projects V2 project for a specific user.
List project items for user
Tool to list items for a user-owned GitHub project.
List items for user project view
Tool to list items for a user's GitHub Projects (v2) view.
List public email addresses for the authenticated user
Lists the public email addresses for the authenticated user.
List public events
Lists public GitHub events, which may be delayed by up to 5 minutes, with support for pagination.
List public events for a network of repositories
Retrieves public events (up to 90 days old, newest first) for a GitHub repository network, including the repository and its forks.
List public events for a user
Retrieves a list of public events for a specified GitHub user, in reverse chronological order.
List public events received by a user
Lists public events for a specified GitHub user (e.
List public gists
Lists public gists from GitHub, optionally filtering by a 'since' timestamp and supporting pagination; results are generally newest first.
List public keys for a user
Lists the verified public SSH keys for a specified GitHub user.
List public organization events
Lists public events for a specified GitHub organization, which must exist.
List public organization members
Lists users who have publicly declared their membership in a specified, existing GitHub organization.
List public repositories
Lists all public repositories on GitHub; use the \`since\` parameter with a repository ID from a previous result for pagination.
List pull requests
Lists pull requests for a GitHub repository.
List pull requests associated with a commit
Lists pull requests for a commit; returns merged PRs that introduced the commit if on the default branch, or open PRs including the commit if on other branches.
List pull requests files
Lists all files (including additions, modifications, and removals) associated with a specific pull request in a GitHub repository.
List reactions for a commit comment
Lists reactions for a specific commit comment; this is a read-only operation.
List reactions for an issue
Lists reactions for a specific, existing issue within an accessible GitHub repository, optionally filtering by content type.
List reactions for an issue comment
Lists reactions for a specific issue comment in a GitHub repository, optionally filtering by content type.
List reactions for a pull request review comment
Lists reactions for a pull request review comment in a repository, optionally filtering by reaction type.
List reactions for a release
Lists all reactions, or optionally filters reactions by a specific content type, for a given GitHub release.
List reactions for a team discussion
Lists reactions for an existing team discussion within an organization.
List reactions for a team discussion comment
Lists reactions for a specific comment in a team discussion within an organization, optionally filtering by content type.
List release assets
Lists assets (e.
List releases
Retrieves a list of all releases (published, draft, and prerelease) for a specified repository.
List repo access by token
Lists repositories in an organization that a fine-grained personal access token has requested access to.
List repo codespaces for authenticated user
Lists Codespaces the authenticated user can access within a specified, existing repository.
List repo dev container configs for user
Lists the \`devcontainer.
List authenticated user's repository invitations
Lists all pending repository invitations for the authenticated user.
List repository notifications for the authenticated user
Retrieves notifications for the authenticated user from a specified repository, to which the user must have access.
List repo secrets without values
Lists all Codespaces secrets available in a specific repository, without their encrypted values.
List repos accessible to app installation
Lists repositories a GitHub App installation can access.
List repositories for a user
Lists public repositories for a specified GitHub user, who must have an existing account.
List repositories for the authenticated user
Lists repositories for the authenticated user; using 'type' with 'visibility' or 'affiliation' API parameters (not in this model) can cause a 422 error.
List repositories starred by a user
Lists repositories a valid and existing GitHub user has starred.
List repositories starred by the authenticated user
Lists repositories the authenticated user has starred, optionally sorted and paginated, including star creation timestamps via 'application/vnd.
List repositories watched by a user
Lists repositories a given GitHub user is watching; the username must be a valid and existing GitHub user handle.
List repositories watched by the authenticated user
Lists repositories the authenticated user is watching (subscribed to for notifications).
List repos with ghactions cache usage
Retrieves a paginated list of GitHub Actions cache usage statistics for repositories within an existing GitHub organization.
List repository activities
Lists activities for a GitHub repository, ensuring the repository exists and is accessible.
Get all autolinks of a repository
Retrieves all autolinks (e.
List repository collaborators
Lists collaborators for a specified repository, provided it exists and is accessible to the authenticated user.
List repository contributors
Lists contributors to a specified repository, sorted by number of contributions in descending order; the repository must exist and be accessible.
List repository events
Lists chronological events (e.
List repository invitations
Retrieves all pending (unaccepted or undeclined) collaboration invitations for a specified GitHub repository.
List repository issues
Lists issues (including pull requests) from a GitHub repository.
List repository languages
Lists the programming languages used in a GitHub repository, returning a byte count for each language.
List repository organization secrets
Lists names of organization-level secrets shared with the specified repository; actual secret values are not returned and visibility depends on token access.
List repository organization variables
Lists organization-level variables that are shared with a specific repository.
List repository projects
Lists Projects (classic) associated with a specific repository.
Get all repository rulesets
Retrieves all rulesets for a GitHub repository, which define conditions and actions for repository interactions (e.
List repository rule suites
Lists rule suite evaluations for a repository, allowing filtering by ref (non-wildcard), time period, actor, and result.
List repository secrets
Lists metadata for all secrets in a GitHub repository, excluding their encrypted values.
List repository secrets without decrypting
Lists metadata (e.
List repository security advisories
Tool to list security advisories for a repository.
List repository tags
Lists tags for a specified GitHub repository.
List repository teams
Lists all teams with explicit permission to access the specified repository; the repository must exist.
Get all repository topics
Retrieves all topics for a specified, existing, and accessible repository.
List repository variables
Lists plain text key-value variables for GitHub Actions workflows within a specific, accessible repository.
List repository webhooks
Retrieves a list of webhooks for a repository, which must exist and be accessible.
List repository workflows
Lists all GitHub Actions workflows for a specified repository, which must exist and be accessible.
Get all requested reviewers for a pull request
Gets all users and teams requested to review a specific pull request in a repository.
List review comments in a repository
Lists all review comments on all pull requests within a specified repository.
List review comments on a pull request
Lists all review comments on a specific pull request within a GitHub repository.
List reviews for a pull request
Lists submitted reviews chronologically for a specific pull request within a GitHub repository.
List runner applications for an organization
Lists downloadable GitHub Actions runner application binaries for setting up self-hosted runners in a GitHub organization.
List runner applications for a repository
Lists available self-hosted runner application binaries for a specific repository, including their OS, architecture, and download URL.
List secret scanning alerts for a repository
List secret scanning alerts for a GitHub repository using first-party detections.
List secrets for the authenticated user
Lists all Codespaces secrets accessible to the authenticated user for use within GitHub Codespaces.
List security advisories (GraphQL)
Tool to list GitHub Security Advisories using the GraphQL API.
List security vulnerabilities
Query software vulnerabilities documented by GitHub Security Advisories using GraphQL.
List selected repositories for a Codespaces organization secret
Lists repositories that have been granted access to a Codespaces organization secret.
List selected repositories for a user secret
Lists repositories that have access to the specified user Codespaces secret.
List selected repos for secret access
Lists repositories within a specified organization that have been granted access to a particular Dependabot secret.
List selected repositories for an organization variable
Lists repositories in an organization that can access a specific organization variable; supports pagination and returns an empty list if no repositories have been granted access.
List self hosted runners for an organization
Lists self-hosted runners for a GitHub organization, optionally filtering by name and paginating results, providing details for each runner such as OS, status, and labels.
List self hosted runners for a repository
Lists all self-hosted runners configured for a repository.
List social accounts for a user
Lists social media accounts publicly linked to an existing GitHub user's profile.
List social accounts for the authenticated user
Lists all social media accounts linked to the authenticated user's GitHub profile.
List Sponsorable Users and Organizations
Tool to list users and organizations who can be sponsored via GitHub Sponsors.
List SSH signing keys for user
Lists the public SSH signing keys for a specified GitHub user.
List stargazers
Lists users who have starred the specified GitHub repository, which must exist.
List starred gists
Retrieves a list of gists starred by the authenticated user.
Get all status check contexts
Fetches all required status check contexts for a protected branch; returns an empty list if the branch isn't protected or has no required checks.
List sub-issues for an issue
Tool to list sub-issues for a specific GitHub issue.
List marketplace subscriptions for authenticated user
Tool to list GitHub Marketplace subscriptions for the authenticated user.
List stubbed subscriptions for the authenticated user
Lists the authenticated user's stubbed (test/example data, not live) GitHub Marketplace subscriptions, useful for development or testing.
List team members
Lists members of a specific team within an organization, including members of child teams.
List team projects
Lists GitHub projects accessible to a specific team within an organization.
List team repositories
Lists repositories accessible to a specific team within a GitHub organization.
List teams
Lists teams for a specified GitHub organization.
List teams for the authenticated user
Lists all teams across all organizations to which the authenticated user belongs, supporting pagination.
List teams assigned to an organization role
Lists teams assigned to a specific role within a GitHub organization.
List the people a user follows
Lists GitHub users that a valid GitHub \`username\` is following, supporting pagination.
List people the authenticated user follows
Lists people the authenticated user follows.
List timeline events for an issue
Lists chronological events (e.
List token access repositories
Lists repositories in an organization that a fine-grained personal access token has access to.
List user projects
Retrieves a list of projects for a specified GitHub user, optionally filtering by state and supporting pagination; the username must be a valid GitHub handle.
List users
Retrieves all GitHub users (individuals and organizations) in chronological order of their sign-up date.
List users blocked by an organization
Lists users blocked by a specified GitHub organization.
List users blocked by the authenticated user
Lists users blocked by the authenticated user, returning an empty list if no users are blocked.
List users assigned org role
Lists users assigned to a specific role within a GitHub organization.
List watchers
Retrieves a list of users watching a specific repository; the repository must be accessible to the authenticated user.
List workflow run artifacts
Lists artifacts (e.
List workflow runs for a repository
Lists workflow runs for a repository, allowing filtering by actor, branch, event, status, creation date, check suite ID, or head SHA; the repository must exist and be accessible.
List workflow runs for a workflow
Lists runs for a specified, existing workflow (identified by ID or filename like \`main.
Lock an issue
Locks an existing GitHub issue's conversation, preventing further comments; an optional reason can be specified.
Lookup Enterprise Administrator Invitation
Tool to look up a pending enterprise administrator invitation by invitee, enterprise, and role.
Lookup GitHub Resource
Tool to lookup a GitHub resource by its URL.
Lookup nodes by IDs
Tool to lookup GitHub nodes by their global node IDs.
Lookup Organization (GraphQL)
Tool to lookup a GitHub organization by login using GraphQL.
Look Up Topic by Name
Tool to look up a GitHub topic by name using GraphQL.
Manage access control for organization codespaces
Sets the Codespaces access control policy for a GitHub organization, determining which members can use them.
Manage custom properties for org repos
Creates or updates values for an organization's predefined custom properties across multiple repositories (up to 30).
List selected repositories for a GitHub Actions organization secret
Lists repositories within an organization that have been explicitly granted access to a specific GitHub Actions organization secret.
Mark a thread as done
Marks the GitHub notification thread (identified by \`thread\_id\`) as done or read for the authenticated user, effectively archiving it.
Mark a thread as read
Marks an existing GitHub notification thread, identified by its \`thread\_id\`, as read.
Mark notifications as read
Marks notifications as read or unread, optionally for those updated at or before a \`last\_read\_at\` timestamp.
Mark repository notifications as read
Marks notifications in a repository as read; if 'last\_read\_at' is specified, notifications updated after this timestamp are not marked as read.
Merge a branch
Merges a head branch or commit SHA into a base branch in a repository; fails if there are merge conflicts requiring manual resolution.
Merge a pull request
Merges an open and mergeable pull request in a repository.
Ping an organization webhook
Sends a 'ping' event to a specified, existing organization webhook to test its configuration and ensure it correctly receives events.
Ping a repository webhook
Pings an existing webhook on a repository to test its configuration and reachability by GitHub.
Privately report a security vulnerability
Privately reports a security vulnerability to a repository's maintainers.
Publish Sponsors Tier (GraphQL)
Tool to publish a draft GitHub Sponsors tier using GraphQL.
Redeliver a delivery for an organization webhook
Redelivers a specific webhook delivery for a webhook within an organization, to resend an event that previously failed or was not processed.
Redeliver a delivery for a repository webhook
Redelivers a specific, previously made webhook delivery (\`delivery\_id\`) for a repository's webhook (\`hook\_id\`).
Remove a custom property for an organization
Deletes a custom property, specified by \`custom\_property\_name\`, from an existing organization (\`org\`) for which the property is currently defined, preventing its future assignment to repositories.
Remove a label from an issue
Removes a label currently applied to a specific issue in a repository.
Remove all labels from an issue
Removes all labels from a specified issue in a GitHub repository; this operation is idempotent.
Remove all organization roles for a team
Revokes all organization roles for a team in an organization; this is destructive and succeeds even if the team initially has no roles.
Remove all organization roles for a user
Revokes all assigned organization-level roles from a specified user (who must be a member of the organization) within a GitHub organization, without removing the user from the organization or affecting repository-specific roles.
Remove an organization member
Removes a member from a GitHub organization.
Remove an organization role from a team
Revokes an organization role that a team currently possesses within an organization.
Remove an organization role from a user
Removes a custom organization role from a user within a GitHub organization, provided the organization exists, the user is a member, and the role\_id corresponds to a valid custom role in that organization.
Remove app access restrictions
Removes all GitHub App access restrictions from a protected branch in a repository; the branch must have protection rules configured, and this action does not alter user or team restrictions.
Remove a project from a team
Removes a project from a team within an organization; this action requires the project to be currently associated with the team.
Remove a repository collaborator
Removes a collaborator from a specified GitHub repository, provided the repository exists and the user is an existing collaborator.
Remove a repository from an app installation
Removes a repository from a GitHub App installation for the authenticated user, given a valid \`installation\_id\` and the \`repository\_id\` of a repository currently linked to that installation; this operation is idempotent.
Remove a repository from a team
Disassociates a repository from a team; team members may lose access permissions, but the repository and team are not deleted.
Remove a selected repository from a user secret
Removes a selected repository's access to a user's Codespaces secret; the secret must exist and the repository must have previously been granted access.
Remove assignees from an issue
Removes specified assignees from a GitHub issue; requires push access, and invalid removal attempts are silently ignored.
Remove custom label from repo runner
Removes a custom label from a repository's self-hosted runner; this operation is idempotent.
Remove custom label from self hosted runner
Removes a currently assigned custom label (\`name\`) from a self-hosted runner (\`runner\_id\`) in an organization (\`org\`).
Remove custom labels from self hosted repo runner
Removes all custom labels from a self-hosted runner registered at the repository level, leaving only its default labels and any labels inherited from its runner group or organization.
Remove interaction restrictions for an organization
Removes all interaction restrictions from public repositories in the specified GitHub organization, allowing all users to resume interactions.
Remove interaction restrictions for a repository
Removes all interaction restrictions for a repository, enabling all users to comment, open issues, and create pull requests by lifting any existing temporary interaction limits.
Remove org dev env secret by name
Deletes a GitHub Codespaces secret from an organization by its name; this operation is idempotent.
Remove org secret by name
Permanently removes a specific Dependabot secret, by its \`secret\_name\`, from the GitHub \`org\`, making it unavailable to Dependabot for that organization.
Remove outside collaborator from an organization
Removes a user, who must be an outside collaborator, from the specified GitHub organization, revoking their access to all its repositories.
Remove public org membership
Removes the authenticated user's public organization membership, making it private.
Remove user public repo interaction restrictions
Removes all interaction restrictions (limitations on comments, issues, or pull requests) from all public repositories owned by the authenticated user.
Remove repository from organization dev environment secret
Removes a repository's access to an organization-level Codespaces secret, if it was previously granted.
Remove selected repo from org secret
Revokes a specific repository's access to an organization-level Dependabot secret, applicable only when the secret has 'selected' visibility and the specified repository currently has access.
Remove requested reviewers from a pull request
Removes currently assigned user logins and/or team slugs from a GitHub pull request's list of requested reviewers.
Remove selected repository from an organization secret
Removes a specific repository's access to an organization-level secret; the repository must have been previously granted access to this secret.
Remove selected repository from an organization variable
Removes a repository's access to an organization variable that has 'selected' visibility.
Remove status check contexts
Removes specified status check contexts from a protected branch's required status checks.
Remove status check protection
Removes status check protection from a branch, disabling required status checks for merging pull requests; will only have an effect if status check protection is currently configured on the branch.
Remove team access restrictions
Removes specified teams from push access to a protected branch.
Remove team membership for a user
Removes a user from a specific team within an organization.
Remove user access restrictions
Removes specified users from the list of people allowed to push to a protected branch.
Remove users from codespaces access for an organization
Removes selected users from GitHub Codespaces billing access for an existing organization.
Rename a branch
Renames an existing branch in a GitHub repository; the new name must be unique and adhere to GitHub's naming conventions, and the current branch name cannot contain wildcard characters.
Render a markdown document
Renders Markdown to HTML; for 'gfm' mode, provide 'context' (owner/repo) to correctly link issues, pull requests, and user mentions.
Render Markdown (Raw Mode)
Tool to render raw Markdown text to HTML using GitHub's markdown API.
Replace all repository topics
Replaces all topics of a repository.
Replace org secret visibility to selected
Replaces the list of repositories that can access a Dependabot organization secret when the secret's visibility is already set to 'selected'.
Replace repository access for an org Codespaces secret
Replaces the list of repositories that can access an organization-level Codespaces secret.
Request a github pages build
Manually triggers a GitHub Pages build for a repository if GitHub Pages is enabled, useful for deployments not automatically built or for retrying failed builds.
Add reviewers to a specific pull request
Adds reviewers to a specific pull request identified by owner, repo, and pull\_number.
Rerequest a check run
Triggers a re-run of a specific check run in a GitHub repository, resetting its status to 'queued', clearing its conclusion, and triggering the \`check\_run\` webhook with \`rerequested\` action.
Rerequest a check suite
Triggers a new run of an existing check suite within a repository, resetting its status to 'queued', clearing its conclusion, and triggering the \`check\_suite\` webhook with \`rerequested\` action.
Re-run a job from a workflow run
Re-runs a specific job and any dependent jobs from a GitHub Actions workflow run in the specified repository, optionally enabling debug logging.
Rerun a workflow
Re-runs a specific GitHub Actions workflow run identified by its owner, repository, and run ID, optionally enabling debug logging.
Rerun failed jobs from a workflow run
Re-runs all failed jobs and their dependent jobs from a specified workflow run if the run contains previously failed jobs.
Reset a token
Invalidates the provided OAuth \`access\_token\` and generates a new one for the GitHub OAuth App identified by \`client\_id\`.
Restore a package for an organization
Restores a package in an organization, provided it was deleted within the last 30 days.
Restore a package for a user
Restores a user-owned package previously deleted from GitHub Packages, if restorable under GitHub's data retention policy (typically within 30 days of deletion).
Restore a package for the authenticated user
Restores a package deleted by the authenticated user within the last 30 days, if its namespace and version are still available.
Restore a package version for the authenticated user
Restores a package version that was deleted by the authenticated user within the last 30 days.
Restore package version for an organization
Restores a package version for an organization, provided it was deleted within the last 30 days.
Restore package version for a user
Restores a specific, user-owned package version if it was deleted within the last 30 days and its original namespace and version name are still available.
Retire Sponsors Tier
Tool to retire a published payment tier from your GitHub Sponsors profile using GraphQL.
Review access with personal token
Approves or denies a pending fine-grained personal access token request for organization resources; must be performed by a GitHub App.
Review Custom Deployment Rules For Workflow Run
Approves or rejects pending custom deployment protection rules for a workflow run.
Review pending deployments for a workflow run
Approves or rejects pending deployments for a specific workflow run that are in a 'waiting' state within specified, configured environments.
Review PAT Requests in Bulk
Approves or denies multiple fine-grained personal access token requests for an organization in bulk.
Revoke an installation access token
Revokes the GitHub App's current installation access token, immediately invalidating it for API authentication.
Run GraphQL Query
Tool to run an arbitrary GitHub GraphQL v4 query or mutation.
Run GraphQL Relay Query
Tool to run a GitHub GraphQL relay query.
Search code
Searches code file contents and paths on the default branch of GitHub repositories using a query string; searches only files under 384KB, returns max 1000 results by best match, and is optimized for precision.
Search code (all pages)
Tool to search code across multiple pages using GitHub's code search API.
Search commits
Finds commits on GitHub using a query string (q) supporting keywords and qualifiers, with options for sorting and pagination.
Search commits by author across repos
Searches commits across GitHub using the Search API (e.
GitHub GraphQL Search
Tool to perform GitHub GraphQL searches across issues, pull requests, repositories, users, and discussions.
Search issues and pull requests
Searches GitHub for issues and pull requests.
Search labels
Searches for labels within a GitHub repository by keywords in their names or descriptions.
Search repositories
Searches GitHub repositories using a flexible query (keywords, qualifiers) with sorting, ordering, and pagination.
Search topics
Finds topics on GitHub using keywords and qualifiers with GitHub's search syntax, supporting pagination.
Search users
Searches for users on GitHub by criteria like username, email, location, followers, or repository associations, using a flexible query string \`q\`.
Set admin branch protection
Enables administrator enforcement on a branch, making existing protection rules also apply to administrators; branch protection rules must already be configured.
Set app access restrictions
Replaces the list of GitHub Apps permitted to push to a protected branch.
Set a repository subscription
Sets the authenticated user's notification subscription for a repository.
Set a thread subscription
Sets whether a GitHub notification thread is ignored (muted) or unignored (unmuted), for a \`thread\_id\` that must identify an existing notification thread.
Set default workflow permissions for an organization
Updates an organization's default GITHUB\_TOKEN permissions for workflows and whether GitHub Actions can approve pull requests; note that allowing Actions to approve pull requests (\`can\_approve\_pull\_request\_reviews: true\`) is a security risk.
Set default workflow permissions for a repository
Sets the default permissions for the GITHUB\_TOKEN within a repository and configures whether GitHub Actions can approve pull requests.
Set primary email visibility
Sets the visibility ('public' or 'private') of the authenticated user's primary email address on GitHub, if one is configured.
Set GitHub Actions permissions for an organization
Sets the GitHub Actions permissions policy for an organization, specifying which repositories can run Actions and which actions/workflows are allowed; if 'selected' is chosen for either, manage the specific lists via other endpoints.
Set github actions permissions for a repository
Sets GitHub Actions permissions for a repository, enabling/disabling Actions and defining the policy for allowed actions and reusable workflows.
Set interaction restrictions for an organization
Limits interactions (comments, new issues, PRs) in an organization's public repositories by user type and duration, typically to mitigate high traffic or unwanted activity.
Set interaction restrictions for a repository
Temporarily limits which GitHub users (e.
Set interaction restrictions for your public repositories
Sets or updates temporary interaction restrictions for all public repositories owned by the authenticated user, overriding any repository-specific limits.
Set labels for an issue
Replaces all existing labels on a GitHub issue with a new set of labels.
Set custom OIDC subject claim template
Sets the OpenID Connect (OIDC) subject claim template for a GitHub repository, allowing use of the default template or a custom one defined by \`include\_claim\_keys\` if \`use\_default\` is \`false\`.
Set allowed actions and workflows for an organization
Sets the GitHub Actions permissions for an existing organization, specifying allowed GitHub-owned actions, verified creator actions, and action/workflow patterns from public repositories.
Set custom labels for a self-hosted runner for an organization
Sets the custom labels for a self-hosted runner in an organization; this operation does not affect default system-assigned labels (e.
Set repo allowed actions
Sets allowed GitHub Actions and reusable workflows for a repository, managing permissions for GitHub-owned, verified creator, or specific pattern-matched actions/workflows (note: \`patterns\_allowed\` applies only to public repositories).
Set custom labels for repo runner
Replaces all custom labels for a specific self-hosted runner in a repository; an empty list for \`labels\` removes all existing custom labels.
Set selected repositories for an organization variable
Replaces the list of repositories that can access an organization-level variable; the variable's visibility must be 'selected'.
Set selected repositories for an organization secret
Replaces the list of repositories that can access an organization secret; only effective if the secret's visibility is 'selected'.
Set selected repositories for a user secret
Defines the list of repositories permitted to access a specific Codespaces secret for the authenticated user.
Set status check contexts
Replaces required status check contexts for a protected branch, requiring admin permissions; an empty \`contexts\` array removes all checks.
Set team access restrictions
Replaces the list of teams with push access to a protected branch.
Set user access restrictions
Replaces the list of users with push access to a protected branch in an organization repository.
Set User Interaction Limit (GraphQL)
Tool to set interaction limits on a user's public repositories using GraphQL.
Set workflow access level outside repository
Sets the access level for workflows outside a repository to use actions and reusable workflows within that repository.
Star a gist
Stars a GitHub gist identified by \`gist\_id\`; this action is idempotent and returns a 204 No Content status upon success, even if the gist is already starred.
Star a specified repository (requires owner and repo)
Stars a specified repository (identified by owner and repo name) for the authenticated user; this action is idempotent and succeeds even if the repository is already starred.
Start a codespace for the authenticated user
Initiates the startup process for an existing GitHub Codespace (identified by \`codespace\_name\`) if it's in a startable state like 'Available' or 'Stopped'.
Stop a codespace for an organization user
Stops a running codespace for an organization member.
Stop a codespace for the authenticated user
Stops a running or available Codespace for the authenticated user, pausing its execution and billing.
Submit a review for a pull request
Finalizes a pending pull request review (identified by \`review\_id\`) with a required \`event\` (APPROVE, REQUEST\_CHANGES, COMMENT) and an optional \`body\`.
Sync a fork branch with the upstream repository
Synchronizes a branch in a forked GitHub repository with its upstream counterpart, assuming the repository is a fork, the branch exists, an upstream is configured, and the merge is conflict-free.
Test the push repository webhook
Triggers a simulated push event to test a repository's push webhook; a test event is only delivered if the webhook is subscribed to 'push' events, otherwise, it returns 204 No Content without sending a POST.
Transfer a repository
Initiates a repository transfer to a new owner (who must accept the request); if the new owner is an organization, it must be configured to allow transfers.
Unblock a user
Unblocks a GitHub user, provided they are currently blocked by the authenticated user.
Unblock a user from an organization
Unblocks a user from an organization, allowing renewed interaction with its resources, provided the user is currently blocked (otherwise, a 404 error may occur).
Unfollow a user
Unfollows an existing GitHub user; this action is idempotent, succeeding even if the authenticated user is not currently following them.
Unfollow organization
Tool to unfollow a GitHub organization using GraphQL.
Unfollow user
Tool to unfollow a GitHub user using GraphQL.
Unlock an issue
Unlocks a currently locked GitHub issue in the specified repository, allowing new comments and interactions.
Unlock an organization repository
Unlocks a repository that was locked for migration within a GitHub organization.
Unlock a user repository
Unlocks a repository (\`repo\_name\`) that was locked as part of a user migration (\`migration\_id\`), making it usable or deletable; this action requires the repository to be currently locked.
Unstar a gist
Removes a star from the specified gist; the action is idempotent and will not error if the gist was not previously starred by the user.
Unstar a repository
Removes the authenticated user's star from a specified repository, which must already be starred by the user.
Update a check run
Updates an existing check run for a specific commit in a repository, allowing modifications to its status, conclusion, output, and other details.
Update a code scanning alert
Updates a specific code scanning alert in a GitHub repository, primarily to change its state (e.
Update a commit comment
Changes the body of an existing commit comment.
Update a custom organization role
Updates an existing custom role in an organization by modifying its name, description, or permissions; at least one of these fields must be provided.
Update a deployment branch policy
Updates the name pattern of an existing deployment branch policy for a specific environment in a repository.
Update a discussion
Updates the title and/or body of a specific team discussion within an organization.
Update a discussion comment
Updates the body of a comment in a team's discussion within an organization.
Update a gist
Updates a gist's description, and/or its files (including content, filename changes, or deletion).
Update a gist comment
Updates an existing comment on a specified gist.
Update a label
Updates an existing label's name, color, or description within a specified repository.
Update a milestone
Updates a milestone in a repository, identified by \`owner\`, \`repo\`, and \`milestone\_number\`, by allowing modification of its \`title\`, \`state\`, \`description\`, or \`due\_on\`; at least one of these four attributes must be provided to perform an update.
Update an environment variable
Updates an existing environment variable's name and/or value in a specific GitHub repository environment; requires providing either a new name or a new value.
Update an issue
Updates an existing GitHub issue's title, body, state, milestone, labels, or assignees; \`state\_reason\` is only processed if \`state\` also changes, and use \`null\` or \`\[\]\` to clear applicable fields.
Update an issue comment
Updates an existing comment on an issue or pull request within a specified repository.
Update an organization
Updates an organization's settings; changing security-related fields requires admin, owner, or security manager permissions.
Update an organization variable
Updates an existing GitHub Actions organization variable's name, value, or visibility (\`all\`, \`private\`, \`selected\`), requiring \`selected\_repository\_ids\` with valid repository IDs if visibility is \`selected\`.
Update an organization webhook
Updates the configuration (URL, content type, secret, SSL verification), subscribed events, active status, or name of an existing webhook for a specified organization.
Update a project
Updates an existing GitHub project (V2) attributes like title, description, visibility, and state.
Update a pull request
Updates an existing pull request, allowing changes to attributes like title, body, state, base branch, and maintainer modification settings.
Update a pull request branch
Updates an open pull request's head branch by merging the latest changes from its base branch, if mergeable and repository merging is enabled; operates asynchronously.
Update a reference
Updates an existing Git reference (e.
Update a release
Updates an existing release in a GitHub repository, allowing modification of its attributes; if linking a discussion, the \`discussion\_category\_name\` must refer to an existing category in the repository.
Update a release asset
Updates the name, label, or state of a release asset in a GitHub repository, requiring at least one of these properties to be provided for modification.
Update a repository
Updates settings for an existing GitHub repository, such as name, description, visibility, merge strategies, and security configurations.
Update a repository invitation
Updates an active repository invitation to modify the invited user's permissions; the specified repository and invitation must exist.
Update a repository ruleset
Updates an existing repository ruleset, identified by \`ruleset\_id\` for a given repository, allowing partial updates to its configuration such as name, target, enforcement, bypass actors, conditions, and rules.
Update a repository variable
Updates the name and/or value of an existing GitHub Actions variable in a repository.
Update a repository webhook
Updates the URL, content type, secret, SSL verification, events, or active status for an existing repository webhook, specified by \`owner\`, \`repo\`, and \`hook\_id\`.
Update a team
Updates a team's settings (e.
Update branch protection
Updates the protection settings for an existing branch in a repository, which must not contain wildcard characters.
Update a code scanning default setup configuration
Updates the default setup configuration for code scanning in a repository; GitHub Advanced Security must be enabled for the repository.
Update a codespace for the authenticated user
Updates an existing GitHub Codespace's machine type, display name, or recent folders for the authenticated user; machine type changes take effect on the next start.
Update issue type
Update an existing issue type for a GitHub organization.
Update a webhook configuration for an organization
Updates the configuration (URL, content type, secret, SSL verification) for an existing webhook within a specified organization.
Update a review for a pull request
Updates the body text of an existing pull request review.
Update a review comment for a pull request
Updates the body of an existing review comment on a pull request.
Update pull request review protection
Updates pull request review protection settings (e.
Update repository preferences for check suites
Updates repository preferences for automatic Check Suite creation on code pushes, allowing configuration for specific GitHub Apps that must be installed on the repository with \`checks:write\` permission.
Update a webhook configuration for a repository
Updates the configuration (e.
Update resource access with tokens
Revokes organization access for the personal access tokens identified by \`pat\_ids\`; this action must be performed by a GitHub App, and \`pat\_ids\` must be valid and associated with the organization.
Update status check protection
Updates required status checks for a branch, optionally requiring it to be up-to-date before merging.
Update Subscription
Tool to update notification subscription state for issues, pull requests, or discussions.
Update the authenticated user
Updates the authenticated user's GitHub profile; a new public email must be verified, and existing private emails remain private even if specified.
Revoke Token Organization Access
Revokes a fine-grained personal access token's access to an organization.
Update User List
Tool to update an existing GitHub user list.
Update user lists for item
Tool to update which of the viewer's lists an item belongs to on GitHub.
Update Project V2 Item for User
Tool to update a field value for an item in a user's GitHub ProjectV2.
Change User Status
Tool to update your status on GitHub.
Upload a release asset
Tool to upload a binary asset to an existing GitHub release.
Upload an analysis as sarif data
Uploads a gzipped and Base64 encoded SARIF file to a GitHub repository for a specific commit and reference; use \`checkout\_uri\` if SARIF paths are absolute.
Create or update repository custom property values
Creates or updates up to 30 custom property values for a repository; custom properties must be predefined at the organization or repository level, and setting a property's value to \`null\` removes it.
Verify dev container permissions accepted
Verifies if the authenticated user has accepted permissions for a specific devcontainer configuration in a repository, typically to ensure awareness before a codespace is created or used.
FRAMEWORKS
## How to build GitHub MCP Agent with another framework
\\
**ChatGPT Work** \\
Use GitHub MCP with ChatGPT Work](/content/toolkits/github/framework/chatgpt/index.html) \\
**Antigravity** \\
Use GitHub MCP with Antigravity](/content/toolkits/github/framework/antigravity/index.html) \\
**OpenAI Agents SDK** \\
Use GitHub MCP with OpenAI Agents SDK](/content/toolkits/github/framework/open-ai-agents-sdk/index.html) \\
**Claude Agent SDK** \\
Use GitHub MCP with Claude Agent SDK](/content/toolkits/github/framework/claude-agents-sdk/index.html) \\
**Claude Cowork** \\
Use GitHub MCP with Claude Cowork](/content/toolkits/github/framework/claude-cowork/index.html) \\
**Grok Bot** \\
Use GitHub MCP with Grok Bot](/content/toolkits/github/framework/grok-bot/index.html) \\
**Codex** \\
Use GitHub MCP with Codex](/content/toolkits/github/framework/codex/index.html) \\
**Kimi Code** \\
Use GitHub MCP with Kimi Code](/content/toolkits/github/framework/kimi/index.html) \\
**Grok Build** \\
Use GitHub MCP with Grok Build](/content/toolkits/github/framework/grok-build/index.html) \\
**Cursor** \\
Use GitHub MCP with Cursor](/content/toolkits/github/framework/cursor/index.html) \\
**VS Code** \\
Use GitHub MCP with VS Code](/content/toolkits/github/framework/vscode/index.html) \\
**OpenCode** \\
Use GitHub MCP with OpenCode](/content/toolkits/github/framework/opencode/index.html) \\
**OpenClaw** \\
Use GitHub MCP with OpenClaw](/content/toolkits/github/framework/openclaw/index.html) \\
**Hermes** \\
Use GitHub MCP with Hermes](/content/toolkits/github/framework/hermes-agent/index.html) \\
**Pi** \\
Use GitHub MCP with Pi](/content/toolkits/github/framework/pi-agent/index.html) \\
**DeepSeek Harness** \\
Use GitHub MCP with DeepSeek Harness](/content/toolkits/github/framework/deepseek/index.html) \\
**CLI** \\
Use GitHub MCP with CLI](/content/toolkits/github/framework/cli/index.html) \\
**Google ADK** \\
Use GitHub MCP with Google ADK](/content/toolkits/github/framework/google-adk/index.html) \\
**LangChain** \\
Use GitHub MCP with LangChain](/content/toolkits/github/framework/langchain/index.html) \\
**Vercel AI SDK** \\
Use GitHub MCP with Vercel AI SDK](/content/toolkits/github/framework/ai-sdk/index.html) \\
**Mastra AI** \\
Use GitHub MCP with Mastra AI](/content/toolkits/github/framework/mastra-ai/index.html) \\
**LlamaIndex** \\
Use GitHub MCP with LlamaIndex](/content/toolkits/github/framework/llama-index/index.html) \\
**CrewAI** \\
Use GitHub MCP with CrewAI](/content/toolkits/github/framework/crew-ai/index.html) \\
**Pydantic AI** \\
Use GitHub MCP with Pydantic AI](/content/toolkits/github/framework/pydantic-ai/index.html) \\
**AutoGen** \\
Use GitHub MCP with AutoGen](/content/toolkits/github/framework/autogen/index.html)
MORE TOOLKITS
## Explore Other Toolkits
[Toolkit marketplace](/content/site-root.html)
\\
\\
**Supabase** \\
\\
Oauth2Api Key\\
\\
Supabase is an open-source backend platform offering scalable Postgres databases, authentication, storage, and real-time APIs. It lets developers build modern apps without managing infrastructure.](/content/toolkits/supabase/index.html) \\
\\
**Codeinterpreter** \\
\\
No Auth\\
\\
Codeinterpreter is a Python-based coding environment with built-in data analysis and visualization. It lets you instantly run scripts, plot results, and prototype solutions inside supported platforms.](/content/toolkits/codeinterpreter/index.html) \\
\\
**1password** \\
\\
Api Key\\
\\
1Password is a password manager and digital vault for storing logins, secrets, notes, and secure documents. It helps individuals and teams protect credentials, share access safely, and reduce password risk.](/content/toolkits/_1password/index.html) \\
\\
**Ably** \\
\\
Api Key\\
\\
Ably is a real-time messaging platform for live chat and data sync in modern apps. It offers global scale and rock-solid reliability for seamless, instant experiences.](/content/toolkits/ably/index.html)
Load more
FAQ
## Frequently asked questions
### What are the differences in Tool Router MCP and GitHub MCP?+
With a standalone GitHub MCP server, the agents and LLMs can only access a fixed set of GitHub tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from GitHub and many other apps based on the task at hand, all through a single MCP endpoint.
### Can I use Tool Router MCP with Claude Code?+
Yes, you can. Claude Code fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right GitHub tools.
### Can I manage the permissions and scopes for GitHub while using Tool Router?+
Yes, absolutely. You can configure which GitHub scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.
### How safe is my data with Composio Tool Router?+
All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your GitHub data and credentials are handled as safely as possible.
## Start with GitHub.It takes 30 seconds.
Managed auth, hosted MCP servers, and every GitHub tool your agent needs.Free to start.
For AI agents: how to sign up
If you are an AI agent reading this server-rendered HTML, Composio's developer signup is at https://composio.dev.