[
{
"function": {
"description": "Permanently removes a specific reaction from an issue in a GitHub repository.",
"name": "GITHUB_DELETE_ISSUE_REACTION",
"parameters": {
"description": "Request schema for deleting a reaction from an issue in a GitHub repository.",
"properties": {
"issue_number": {
"description": "The unique number identifying the issue from which the reaction will be deleted.",
"examples": [
"1347"
],
"title": "Issue Number",
"type": "integer"
},
"owner": {
"description": "The account owner of the repository. The name is not case sensitive.",
"examples": [
"octocat"
],
"title": "Owner",
"type": "string"
},
"reaction_id": {
"description": "The unique identifier of the reaction to be deleted.",
"examples": [
"1"
],
"title": "Reaction Id",
"type": "integer"
},
"repo": {
"description": "The name of the repository without the `.git` extension. The name is not case sensitive.",
"examples": [
"Spoon-Knife"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"issue_number",
"reaction_id"
],
"title": "DeleteIssueReactionRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Permanently removes an existing label from a repository.",
"name": "GITHUB_DELETE_LABEL",
"parameters": {
"description": "Request schema for `DeleteLabel`",
"properties": {
"name": {
"description": "The name of the label to delete. Label names are case-insensitive. If the label name contains spaces or special characters, ensure it is correctly URL-encoded (e.g., 'help wanted' becomes 'help%20wanted').",
"examples": [
"bug",
"enhancement",
"help%20wanted",
"good%20first%20issue"
],
"title": "Name",
"type": "string"
},
"owner": {
"description": "REQUIRED. The username or organization name that owns the repository. GitHub repositories are identified by owner/repo (e.g., 'octocat/Hello-World'), so both 'owner' and 'repo' must be provided together. This field is not case-sensitive.",
"examples": [
"octocat",
"my-organization"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "REQUIRED. The name of the repository, without the `.git` extension. Must be provided together with 'owner' to identify the repository (e.g., for 'github.com/octocat/Hello-World', repo is 'Hello-World'). This field is not case-sensitive.",
"examples": [
"Hello-World",
"my-awesome-project"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"name"
],
"title": "DeleteLabelRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes the specified milestone if it exists; this operation is idempotent, typically returning a 404 if the milestone is not found or already deleted.",
"name": "GITHUB_DELETE_MILESTONE",
"parameters": {
"description": "Request schema for `DeleteMilestone`",
"properties": {
"milestone_number": {
"description": "The unique number that identifies the milestone to be deleted.",
"title": "Milestone Number",
"type": "integer"
},
"owner": {
"description": "The username or organization name that owns the repository. This name is not case-sensitive.",
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This name is not case-sensitive. ",
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"milestone_number"
],
"title": "DeleteMilestoneRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_DELETE_ORGANIZATION",
"parameters": {
"description": "Request schema for deleting a GitHub organization.",
"properties": {
"org": {
"description": "The unique name of the organization to be deleted. This name is not case-sensitive.",
"examples": [
"my-github-org"
],
"title": "Org",
"type": "string"
}
},
"required": [
"org"
],
"title": "DeleteOrganizationRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Permanently deletes a secret from a GitHub organization, making it inaccessible to GitHub Actions workflows or other tools.",
"name": "GITHUB_DELETE_ORGANIZATION_SECRET",
"parameters": {
"description": "Request schema for `DeleteOrganizationSecret`",
"properties": {
"org": {
"description": "The name of the organization. This name is not case-sensitive.",
"examples": [
"octo-org"
],
"title": "Org",
"type": "string"
},
"secret_name": {
"description": "The name of the secret to be deleted.",
"examples": [
"CI_DEPLOY_KEY"
],
"title": "Secret Name",
"type": "string"
}
},
"required": [
"org",
"secret_name"
],
"title": "DeleteOrganizationSecretRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes a named GitHub Actions variable from a specified organization.",
"name": "GITHUB_DELETE_ORGANIZATION_VARIABLE",
"parameters": {
"description": "Request schema for `DeleteOrganizationVariable`",
"properties": {
"name": {
"description": "The name of the organization variable to delete. This parameter is not case-sensitive.",
"examples": [
"MY_VARIABLE"
],
"title": "Name",
"type": "string"
},
"org": {
"description": "The name of the organization. This parameter is not case-sensitive.",
"examples": [
"my-org-name"
],
"title": "Org",
"type": "string"
}
},
"required": [
"org",
"name"
],
"title": "DeleteOrganizationVariableRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes a specific webhook, identified by `hook_id`, from an existing organization.",
"name": "GITHUB_DELETE_ORGANIZATION_WEBHOOK",
"parameters": {
"description": "Request schema for `DeleteOrganizationWebhook`",
"properties": {
"hook_id": {
"description": "The unique identifier of the webhook. This ID can be retrieved from the `X-GitHub-Hook-ID` header in a webhook delivery or by listing organization webhooks.",
"examples": [
123456789,
987654321
],
"title": "Hook Id",
"type": "integer"
},
"org": {
"description": "The name of the organization. This field is not case-sensitive.",
"examples": [
"github",
"my-company-org"
],
"title": "Org",
"type": "string"
}
},
"required": [
"org",
"hook_id"
],
"title": "DeleteOrganizationWebhookRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Permanently deletes a specific codespace belonging to a member of the specified organization.",
"name": "GITHUB_DELETE_ORG_CODESPACE",
"parameters": {
"description": "Request schema.",
"properties": {
"codespace_name": {
"description": "Unique name of the codespace.",
"examples": [
"octocat-humorous-adventure-g45w9j96qg929j9"
],
"title": "Codespace Name",
"type": "string"
},
"org": {
"description": "The organization's name (case-insensitive).",
"examples": [
"github"
],
"title": "Org",
"type": "string"
},
"username": {
"description": "GitHub username of the user owning the codespace.",
"examples": [
"octocat"
],
"title": "Username",
"type": "string"
}
},
"required": [
"org",
"username",
"codespace_name"
],
"title": "DeleteOrgCodespaceRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes a specific package in an organization; cannot delete public packages with over 5,000 downloads.",
"name": "GITHUB_DELETE_ORG_PACKAGE",
"parameters": {
"description": "Parameters for deleting a specific package within an organization.",
"properties": {
"org": {
"description": "Name of the organization owning the package (not case-sensitive).",
"examples": [
"octo-org",
"my-company"
],
"title": "Org",
"type": "string"
},
"package_name": {
"description": "Unique name of the package to be deleted.",
"examples": [
"my-package",
"your-library-name"
],
"title": "Package Name",
"type": "string"
},
"package_type": {
"description": "Type of the package to be deleted. Packages in GitHub's Gradle registry have type `maven`. Docker images in GitHub's Container registry (`ghcr.io`) have type `container`. Use type `docker` for images previously in GitHub's Docker registry (`docker.pkg.github.com`), even if migrated to the Container registry.",
"enum": [
"npm",
"maven",
"rubygems",
"docker",
"nuget",
"container"
],
"examples": [
"npm",
"maven",
"rubygems",
"docker",
"nuget",
"container"
],
"title": "Package Type",
"type": "string"
}
},
"required": [
"package_type",
"package_name",
"org"
],
"title": "DeleteOrgPackageRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Permanently deletes a specific package owned by the authenticated user; public packages downloaded over 5,000 times cannot be deleted via this API.",
"name": "GITHUB_DELETE_PACKAGE",
"parameters": {
"description": "Request schema for deleting a package for the authenticated user.",
"properties": {
"package_name": {
"description": "The unique name of the package to delete. For npm: supports scoped packages like '@scope/name'. For maven: use format 'com.example.package'. For container/docker: use image name like 'my-app'. The name must match exactly as it appears in the GitHub Packages registry.",
"examples": [
"my-package",
"@myorg/my-package",
"com.example.myapp",
"my-container-image"
],
"title": "Package Name",
"type": "string"
},
"package_type": {
"description": "The type of package to delete. Supported types: 'npm' (Node.js packages), 'maven' (Java/Gradle packages), 'rubygems' (Ruby gems), 'docker' (legacy Docker images from docker.pkg.github.com), 'nuget' (.NET packages), 'container' (Docker images from ghcr.io). Note: GitHub Gradle packages use 'maven' type; ghcr.io images use 'container' type.",
"examples": [
"npm",
"maven",
"rubygems",
"docker",
"nuget",
"container"
],
"title": "Package Type",
"type": "string"
}
},
"required": [
"package_type",
"package_name"
],
"title": "DeletePackageRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to delete a package version using GitHub GraphQL API. Use when you need to remove a specific version of a package by its global node ID.",
"name": "GITHUB_DELETE_PACKAGE_VERSION",
"parameters": {
"description": "Request schema for deleting a package version via GraphQL",
"properties": {
"client_mutation_id": {
"description": "A unique identifier for the client performing the mutation. Used to ensure idempotency of mutations.",
"examples": [
"delete-package-version-12345",
"mutation-abc"
],
"title": "Client Mutation Id",
"type": "string"
},
"package_version_id": {
"description": "The global node ID of the package version to delete (e.g., 'MDEyOlBhY2thZ2VWZXJzaW9uMQ=='). This is the GraphQL ID, not the numeric REST API ID.",
"examples": [
"MDEyOlBhY2thZ2VWZXJzaW9uMQ==",
"PV_kwDOABCDEFGHIJK"
],
"title": "Package Version Id",
"type": "string"
}
},
"required": [
"package_version_id"
],
"title": "DeletePackageVersionRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes a specific package version within an organization; requires admin permissions for packages with over 5,000 downloads.",
"name": "GITHUB_DELETE_PACKAGE_VERSION_FOR_AN_ORGANIZATION",
"parameters": {
"description": "Request schema for `DeletePackageVersionForAnOrganization`",
"properties": {
"org": {
"description": "Organization name (case-insensitive).",
"examples": [
"github",
"my-organization"
],
"title": "Org",
"type": "string"
},
"package_name": {
"description": "Name of the package.",
"examples": [
"my-package",
"your-awesome-app"
],
"title": "Package Name",
"type": "string"
},
"package_type": {
"description": "Package ecosystem. Notes:\n- `maven`: For GitHub's Gradle registry packages.\n- `container`: For Docker images in GitHub's Container registry (ghcr.io).\n- `docker`: For images originally in GitHub's Docker registry (docker.pkg.github.com), including migrated ones.",
"enum": [
"npm",
"maven",
"rubygems",
"docker",
"nuget",
"container"
],
"examples": [
"npm",
"maven",
"rubygems",
"docker",
"nuget",
"container"
],
"title": "Package Type",
"type": "string"
},
"package_version_id": {
"description": "Unique ID of the package version to delete.",
"examples": [
12345,
98760
],
"title": "Package Version Id",
"type": "integer"
}
},
"required": [
"package_type",
"package_name",
"org",
"package_version_id"
],
"title": "DeletePackageVersionForAnOrganizationRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Permanently and irreversibly deletes a specific version of a package owned by the specified user.",
"name": "GITHUB_DELETE_PACKAGE_VERSION_FOR_A_USER",
"parameters": {
"description": "Request schema for deleting a specific version of a package owned by a user.",
"properties": {
"package_name": {
"description": "The name of the package to which the version belongs.",
"examples": [
"my-package",
"your-app-library"
],
"title": "Package Name",
"type": "string"
},
"package_type": {
"description": "The type of the package. Supported types include npm, maven, rubygems, docker, nuget, and container. Packages in GitHub's Gradle registry use the `maven` type. Docker images in GitHub's Container registry (ghcr.io) use the `container` type. The `docker` type can be used for images previously in GitHub's Docker registry (docker.pkg.github.com), even if migrated.",
"examples": [
"npm",
"maven",
"docker",
"container"
],
"title": "Package Type",
"type": "string"
},
"package_version_id": {
"description": "The unique identifier of the package version to be deleted.",
"examples": [
12345,
67890
],
"title": "Package Version Id",
"type": "integer"
},
"username": {
"description": "The GitHub username of the account that owns the package.",
"examples": [
"octocat",
"your-username"
],
"title": "Username",
"type": "string"
}
},
"required": [
"package_type",
"package_name",
"username",
"package_version_id"
],
"title": "DeletePackageVersionForAUserRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes a pending (unsubmitted) review from a pull request; this is only possible if the review has not yet been submitted.",
"name": "GITHUB_DELETE_PENDING_REVIEW",
"parameters": {
"description": "Request schema for `DeletePendingReview`",
"properties": {
"owner": {
"description": "The account owner of the repository. This name is not case-sensitive.",
"examples": [
"octocat",
"github-linguist"
],
"title": "Owner",
"type": "string"
},
"pull_number": {
"description": "The number that identifies the pull request.",
"examples": [
"1347",
"100"
],
"title": "Pull Number",
"type": "integer"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This name is not case-sensitive.",
"examples": [
"hello-world",
"octo-repo"
],
"title": "Repo",
"type": "string"
},
"review_id": {
"description": "The unique identifier of the pending review to be deleted.",
"examples": [
"80",
"42"
],
"title": "Review Id",
"type": "integer"
}
},
"required": [
"owner",
"repo",
"pull_number",
"review_id"
],
"title": "DeletePendingReviewRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes the specified GitHub project (Projects V2) using the GraphQL API. Note: This action uses GitHub's Projects V2 GraphQL API. The legacy Projects (classic) REST API was sunset on April 1, 2025 and is no longer available. The project is permanently deleted and cannot be recovered. The user must have admin permissions for the project to delete it.",
"name": "GITHUB_DELETE_PROJECT",
"parameters": {
"description": "Request schema for deleting a GitHub project.",
"properties": {
"project_id": {
"description": "The unique GraphQL node ID of the project to be deleted (e.g., 'PVT_kwDOBcMqx84ABdPx'). This is returned from project creation or listing operations.",
"examples": [
"PVT_kwDOBcMqx84ABdPx",
"PVT_kwHOABcdef123456"
],
"title": "Project Id",
"type": "string"
}
},
"required": [
"project_id"
],
"title": "DeleteProjectRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes a project card from a GitHub 'Project (classic)'; this operation is idempotent. DEPRECATION NOTICE: GitHub Classic Projects (V1) and its REST API were sunset on April 1, 2025. This action may return a 404 error on GitHub.com. For new projects, use GitHub Projects V2 which uses the GraphQL API instead. See: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/",
"name": "GITHUB_DELETE_PROJECT_CARD",
"parameters": {
"description": "Request schema for deleting a project card.",
"properties": {
"card_id": {
"description": "The unique numerical identifier of the project card to be deleted.",
"examples": [
10291637
],
"title": "Card Id",
"type": "integer"
}
},
"required": [
"card_id"
],
"title": "DeleteProjectCardRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes a project field (column) from a GitHub Projects V2 project using the GraphQL API. IMPORTANT: GitHub Classic Projects REST API was sunset on April 1, 2025. This action now uses the GitHub Projects V2 GraphQL API with the deleteProjectV2Field mutation. Note: The built-in Status field cannot be deleted as it is a core field in GitHub Projects V2. Only custom fields can be deleted.",
"name": "GITHUB_DELETE_PROJECT_COLUMN",
"parameters": {
"description": "Request schema for deleting a specific project field (column) by its ID.\n\nNote: This action uses GitHub Projects V2 GraphQL API. The Classic Projects REST API\nwas sunset on April 1, 2025.",
"properties": {
"field_id": {
"description": "The node ID of the project field to be deleted. This is a GraphQL node ID (e.g., 'PVTF_...').",
"examples": [
"PVTF_lAHODwD2Q84BNH2Pzg8NZyw"
],
"title": "Field Id",
"type": "string"
}
},
"required": [
"field_id"
],
"title": "DeleteProjectColumnRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to delete a project item for a user in GitHub Projects V2. Use when you need to remove an item from a user's project. Requires the project item's GraphQL node ID (starts with 'PVTI_'). Uses the GitHub GraphQL API deleteProjectV2Item mutation.",
"name": "GITHUB_DELETE_PROJECT_ITEM_FOR_USER",
"parameters": {
"description": "Request model for deleting a project item for a user.",
"properties": {
"item_id": {
"description": "The GraphQL node ID of the project item to delete (e.g. 'PVTI_lADOBCxhzs4A...').",
"examples": [
"PVTI_lADOBCxhzs4AcbIazgR3X1c"
],
"title": "Item Id",
"type": "string"
},
"project_number": {
"description": "The project's number.",
"examples": [
22,
1
],
"minimum": 1,
"title": "Project Number",
"type": "integer"
},
"username": {
"description": "The handle for the GitHub user account.",
"examples": [
"octocat",
"composio-dev"
],
"title": "Username",
"type": "string"
}
},
"required": [
"username",
"project_number",
"item_id"
],
"title": "DeleteProjectItemForUserRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes a specific reaction from a pull request review comment, provided the comment and reaction exist on that comment within the specified repository.",
"name": "GITHUB_DELETE_PULL_REQUEST_COMMENT_REACTION",
"parameters": {
"description": "Parameters to delete a reaction from a pull request comment.",
"properties": {
"comment_id": {
"description": "Unique ID of the pull request review comment.",
"examples": [
"42"
],
"title": "Comment Id",
"type": "integer"
},
"owner": {
"description": "Account owner (username or organization) of the repository; not case-sensitive.",
"examples": [
"octocat"
],
"title": "Owner",
"type": "string"
},
"reaction_id": {
"description": "Unique ID of the reaction to delete.",
"examples": [
"1"
],
"title": "Reaction Id",
"type": "integer"
},
"repo": {
"description": "Name of the repository, without the `.git` extension; not case-sensitive.",
"examples": [
"Spoon-Knife"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"comment_id",
"reaction_id"
],
"title": "DeletePullRequestCommentReactionRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_DELETE_PULL_REQUEST_REVIEW_PROTECTION",
"parameters": {
"description": "Request schema for `DeletePullRequestReviewProtection`",
"properties": {
"branch": {
"description": "Name of the branch to remove pull request review protection from (wildcards not supported; use GraphQL API for wildcards).",
"examples": [
"main"
],
"title": "Branch",
"type": "string"
},
"owner": {
"description": "Username or organization name of the repository owner (not case-sensitive).",
"examples": [
"octocat"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "Name of the repository, without the `.git` extension (not case-sensitive).",
"examples": [
"Hello-World"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"branch"
],
"title": "DeletePullRequestReviewProtectionRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_DELETE_REPO_CODESPACE_SECRET_BY_NAME",
"parameters": {
"description": "Request schema for `DeleteRepoCodespaceSecretByName`",
"properties": {
"owner": {
"description": "The username of the account or the name of the organization that owns the repository. This field is not case-sensitive.",
"examples": [
"octocat",
"github"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This field is not case-sensitive.",
"examples": [
"hello-world"
],
"title": "Repo",
"type": "string"
},
"secret_name": {
"description": "The name of the Codespace secret to be deleted.",
"examples": [
"MY_API_KEY"
],
"title": "Secret Name",
"type": "string"
}
},
"required": [
"owner",
"repo",
"secret_name"
],
"title": "DeleteRepoCodespaceSecretByNameRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes currently linked social media account URLs from the authenticated user's GitHub profile.",
"name": "GITHUB_DELETE_SOCIAL_ACCOUNTS_FOR_THE_AUTHENTICATED_USER",
"parameters": {
"description": "Request schema for deleting social media accounts linked to the authenticated user's GitHub profile.",
"properties": {
"account_urls": {
"description": "Absolute URLs of the social media profiles to be unlinked from the GitHub profile.",
"examples": [
[
"https://twitter.com/username",
"https://linkedin.com/in/profile"
]
],
"items": {
"type": "string"
},
"title": "Account Urls",
"type": "array"
}
},
"required": [
"account_urls"
],
"title": "DeleteSocialAccountsForTheAuthenticatedUserRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes a reaction from a team discussion comment, given the organization name, team slug, discussion number, comment number, and reaction ID.",
"name": "GITHUB_DELETE_TEAM_DISCUSSION_COMMENT_REACTION",
"parameters": {
"description": "Request model for deleting a reaction from a specific comment within a team discussion.",
"properties": {
"comment_number": {
"description": "The number that uniquely identifies the comment within the discussion.",
"examples": [
101
],
"title": "Comment Number",
"type": "integer"
},
"discussion_number": {
"description": "The number that uniquely identifies the discussion.",
"examples": [
42
],
"title": "Discussion Number",
"type": "integer"
},
"org": {
"description": "The organization name. The name is not case sensitive.",
"examples": [
"octo-org"
],
"title": "Org",
"type": "string"
},
"reaction_id": {
"description": "The unique identifier of the reaction to be deleted.",
"examples": [
1
],
"title": "Reaction Id",
"type": "integer"
},
"team_slug": {
"description": "The slug of the team name (URL-friendly version).",
"examples": [
"justice-league"
],
"title": "Team Slug",
"type": "string"
}
},
"required": [
"org",
"team_slug",
"discussion_number",
"comment_number",
"reaction_id"
],
"title": "DeleteTeamDiscussionCommentReactionRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Permanently deletes a specific reaction from a team discussion within an organization.",
"name": "GITHUB_DELETE_TEAM_DISCUSSION_REACTION",
"parameters": {
"description": "Request model for deleting a reaction from a team discussion.",
"properties": {
"discussion_number": {
"description": "The unique number identifying the specific discussion within the team.",
"examples": [
"42"
],
"title": "Discussion Number",
"type": "integer"
},
"org": {
"description": "The organization name. This name is not case sensitive.",
"examples": [
"octo-org"
],
"title": "Org",
"type": "string"
},
"reaction_id": {
"description": "The unique identifier of the reaction to be deleted.",
"examples": [
"1"
],
"title": "Reaction Id",
"type": "integer"
},
"team_slug": {
"description": "The slug of the team name, which is a URL-friendly version of the team name.",
"examples": [
"justice-league"
],
"title": "Team Slug",
"type": "string"
}
},
"required": [
"org",
"team_slug",
"discussion_number",
"reaction_id"
],
"title": "DeleteTeamDiscussionReactionRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to delete a GitHub user list using GraphQL. Use when you need to remove a user list from a GitHub account.",
"name": "GITHUB_DELETE_USER_LIST",
"parameters": {
"description": "Request parameters for deleting a GitHub user list via GraphQL.\n\nThe listId is required to identify which user list to delete.",
"properties": {
"clientMutationId": {
"description": "A unique identifier for the client performing the mutation. Used to track requests.",
"examples": [
"abc123"
],
"title": "Client Mutation Id",
"type": "string"
},
"listId": {
"description": "The ID of the user list to delete. This is a GitHub global node ID for the list.",
"examples": [
"UL_kwDOCNqc1s4AbuKJ"
],
"title": "List Id",
"type": "string"
}
},
"required": [
"listId"
],
"title": "DeleteUserListRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_DELETE_USER_PACKAGE",
"parameters": {
"description": "Defines the request parameters for deleting a package owned by a user.",
"properties": {
"package_name": {
"description": "The unique name of the package to be deleted.",
"examples": [
"my-private-package",
"internal-tool-cli"
],
"title": "Package Name",
"type": "string"
},
"package_type": {
"description": "Ecosystem of the package. Packages in GitHub's Gradle registry use `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) use `container`. The `docker` type can find images from the old Docker registry (`docker.pkg.github.com`), even if migrated.",
"examples": [
"npm",
"maven",
"rubygems",
"docker",
"nuget",
"container"
],
"title": "Package Type",
"type": "string"
},
"username": {
"description": "The GitHub username of the account that owns the package.",
"examples": [
"octocat",
"your-username"
],
"title": "Username",
"type": "string"
}
},
"required": [
"package_type",
"package_name",
"username"
],
"title": "DeleteUserPackageRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Deletes all logs for a specific workflow run in a GitHub repository, provided the repository and run exist.",
"name": "GITHUB_DELETE_WORKFLOW_RUN_LOGS",
"parameters": {
"description": "Specifies the target repository and workflow run for log deletion.",
"properties": {
"owner": {
"description": "The account owner of the repository. The name is not case sensitive.",
"examples": [
"octocat",
"actions"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository without the `.git` extension. The name is not case sensitive.",
"examples": [
"hello-world",
"runner"
],
"title": "Repo",
"type": "string"
},
"run_id": {
"description": "The unique identifier of the workflow run.",
"examples": [
"123456789",
"987654321"
],
"title": "Run Id",
"type": "integer"
}
},
"required": [
"owner",
"repo",
"run_id"
],
"title": "DeleteWorkflowRunLogsRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Disables a specific, currently active custom deployment protection rule for an existing environment within a GitHub repository.",
"name": "GITHUB_DISABLE_A_CUSTOM_PROTECTION_RULE_FOR_AN_ENVIRONMENT",
"parameters": {
"description": "Request schema for disabling a custom deployment protection rule for an environment.",
"properties": {
"environment_name": {
"description": "The name of the environment. This name must be URL encoded; for example, any slashes (`/`) in the name must be replaced with `%2F`.",
"examples": [
"production",
"staging",
"dev%2Ffeature-branch"
],
"title": "Environment Name",
"type": "string"
},
"owner": {
"description": "The account owner of the repository (e.g., a user or organization). This name is not case sensitive.",
"examples": [
"octocat",
"my-company"
],
"title": "Owner",
"type": "string"
},
"protection_rule_id": {
"description": "The unique integer identifier of the custom deployment protection rule to be disabled.",
"examples": [
"12345",
"9876"
],
"title": "Protection Rule Id",
"type": "integer"
},
"repo": {
"description": "The name of the repository (without the `.git` extension). This name is not case sensitive.",
"examples": [
"my-awesome-project",
"BackendService"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"environment_name",
"repo",
"owner",
"protection_rule_id"
],
"title": "DisableACustomProtectionRuleForAnEnvironmentRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Disables a specified workflow (by ID or filename) in a given GitHub repository, preventing new automatic triggers; any in-progress runs will continue.",
"name": "GITHUB_DISABLE_A_WORKFLOW",
"parameters": {
"description": "Request schema for disabling a specific workflow in a GitHub repository.",
"properties": {
"owner": {
"description": "The account owner of the repository (username or organization name). This field is not case-sensitive.",
"examples": [
"octocat",
"github"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This field is not case-sensitive.",
"examples": [
"Hello-World",
"Spoon-Knife"
],
"title": "Repo",
"type": "string"
},
"workflow_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "The ID of the workflow or the workflow's file name (e.g., `main.yml` or `ci.yaml`). You can obtain the workflow ID by listing workflows in a repository.",
"examples": [
1234567,
"main.yml"
],
"title": "Workflow Id"
}
},
"required": [
"owner",
"repo",
"workflow_id"
],
"title": "DisableAWorkflowRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Disables private vulnerability reporting for an existing GitHub repository, preventing direct private vulnerability reports to maintainers via GitHub's interface for this repository.",
"name": "GITHUB_DISABLE_PRIVATE_VULN_REPORTING_FOR_REPO",
"parameters": {
"description": "Request schema for `GithubDisablePrivateVulnReportingForRepo`",
"properties": {
"owner": {
"description": "The account owner of the repository (e.g., a GitHub username or organization name). This field is not case-sensitive.",
"examples": [
"octocat"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This field is not case-sensitive.",
"examples": [
"Hello-World"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"title": "GithubDisablePrivateVulnReportingForRepoRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Removes a repository from the list of selected repositories enabled for GitHub Actions in an organization. Only works when the organization's `enabled_repositories` policy is set to `selected`. Requires admin:org scope.",
"name": "GITHUB_DISABLE_REPOSITORY_ACTIONS_IN_ORG",
"parameters": {
"description": "Request schema for `DisableRepositoryActionsInOrg`",
"properties": {
"org": {
"description": "The GitHub organization name (not case-sensitive).",
"examples": [
"octo-org"
],
"title": "Org",
"type": "string"
},
"repository_id": {
"description": "The unique identifier of the repository.",
"examples": [
"1296269"
],
"title": "Repository Id",
"type": "integer"
}
},
"required": [
"org",
"repository_id"
],
"title": "DisableRepositoryActionsInOrgRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Dismisses an APPROVED or CHANGES_REQUESTED review on a pull request with a mandatory explanatory message. IMPORTANT: Only reviews in APPROVED or CHANGES_REQUESTED state can be dismissed. Reviews in COMMENTED, PENDING, or already DISMISSED state will return a 422 error. To dismiss a review on a protected branch, you must be a repository admin or be authorized to dismiss pull request reviews.",
"name": "GITHUB_DISMISS_A_REVIEW_FOR_A_PULL_REQUEST",
"parameters": {
"description": "Request schema for `DismissAReviewForAPullRequest`\n\nNote: Only reviews in APPROVED or CHANGES_REQUESTED state can be dismissed.\nReviews in COMMENTED, PENDING, or DISMISSED state cannot be dismissed.",
"properties": {
"event": {
"default": "DISMISS",
"description": "The event type for dismissing the review. Must be set to DISMISS.",
"enum": [
"DISMISS"
],
"examples": [
"DISMISS"
],
"title": "EventEnm",
"type": "string"
},
"message": {
"description": "The reason for dismissing the review. This is a required field.",
"examples": [
"Outdated comments",
"All concerns addressed by recent commits.",
"Review no longer applicable after refactoring"
],
"title": "Message",
"type": "string"
},
"owner": {
"description": "The username or organization name that owns the repository. This field is not case-sensitive.",
"examples": [
"octocat",
"my-organization"
],
"title": "Owner",
"type": "string"
},
"pull_number": {
"description": "The unique number identifying the pull request within the repository.",
"examples": [
1,
42,
101
],
"title": "Pull Number",
"type": "integer"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This field is not case-sensitive.",
"examples": [
"Spoon-Knife",
"my-awesome-repo"
],
"title": "Repo",
"type": "string"
},
"review_id": {
"description": "The unique identifier for the review to be dismissed. The review must be in APPROVED or CHANGES_REQUESTED state.",
"examples": [
12345,
67890
],
"title": "Review Id",
"type": "integer"
}
},
"required": [
"owner",
"repo",
"pull_number",
"review_id",
"message"
],
"title": "DismissAReviewForAPullRequestRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Downloads a GitHub Actions workflow artifact as a ZIP file. Returns the artifact as a downloadable file. Use GITHUB_LIST_ARTIFACTS_FOR_A_REPOSITORY or GITHUB_LIST_WORKFLOW_RUN_ARTIFACTS to get valid artifact IDs first.",
"name": "GITHUB_DOWNLOAD_AN_ARTIFACT",
"parameters": {
"description": "Request schema for `DownloadAnArtifact`",
"properties": {
"archive_format": {
"default": "zip",
"description": "Archive format for the download. GitHub API only supports 'zip'. Defaults to 'zip'.",
"examples": [
"zip"
],
"title": "Archive Format",
"type": "string"
},
"artifact_id": {
"description": "Unique numeric identifier of the artifact. Obtain from GITHUB_LIST_ARTIFACTS_FOR_A_REPOSITORY or GITHUB_LIST_WORKFLOW_RUN_ARTIFACTS actions.",
"title": "Artifact Id",
"type": "integer"
},
"owner": {
"description": "Username or organization name of the repository owner (case-insensitive).",
"title": "Owner",
"type": "string"
},
"repo": {
"description": "Repository name, without the `.git` extension (case-insensitive).",
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"artifact_id"
],
"title": "DownloadAnArtifactRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Downloads a repository's source code as a tarball (.tar.gz) archive for a specific Git reference, if the repository is accessible.",
"name": "GITHUB_DOWNLOAD_A_REPOSITORY_ARCHIVE_TAR",
"parameters": {
"description": "Request schema for `DownloadARepositoryArchiveTar`",
"properties": {
"owner": {
"description": "The account owner of the repository. The name is not case sensitive.",
"examples": [
"octocat",
"my-organization"
],
"title": "Owner",
"type": "string"
},
"ref": {
"description": "A Git reference (e.g., branch name, tag name, or commit SHA) that points to the specific version of the repository content to be downloaded as a tarball archive. For example, `main` for the main branch, `v1.0.0` for a tag, or a full commit SHA.",
"examples": [
"main",
"v1.2.3",
"0c0bf3f7872779800039124014614000356f4b03"
],
"title": "Ref",
"type": "string"
},
"repo": {
"description": "The name of the repository without the `.git` extension. The name is not case sensitive.",
"examples": [
"Spoon-Knife",
"my-awesome-project"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"ref"
],
"title": "DownloadARepositoryArchiveTarRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Downloads a repository's source code as a ZIP archive for a specific Git reference (branch, tag, or commit SHA). IMPORTANT SIZE LIMITATION: This action may fail with 'payload too large' errors for large repositories due to platform size restrictions. If you encounter size limit issues, consider these alternatives: - Use GITHUB_GET_REPOSITORY_CONTENT to fetch specific files or directories (also lists directory contents) - Clone the repository using git if you need the full codebase Best suited for: small to medium repositories, downloading specific tagged releases, or quick code inspection.",
"name": "GITHUB_DOWNLOAD_A_REPOSITORY_ARCHIVE_ZIP",
"parameters": {
"description": "Request schema for downloading a repository's archive in ZIP format.",
"properties": {
"owner": {
"description": "The username of the account that owns the repository. This is not case-sensitive.",
"examples": [
"octocat"
],
"title": "Owner",
"type": "string"
},
"ref": {
"description": "The Git reference for the archive. This can be a branch name, a tag name, or a commit SHA.",
"examples": [
"main",
"v1.0",
"0799097993916240518952411700981210018401"
],
"title": "Ref",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This is not case-sensitive.",
"examples": [
"Spoon-Knife"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"ref"
],
"title": "DownloadARepositoryArchiveZipRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_DOWNLOAD_JOB_LOGS_FOR_A_WORKFLOW_RUN",
"parameters": {
"description": "Request schema for downloading job logs for a workflow run.",
"properties": {
"job_id": {
"description": "The unique identifier of the job for which to download logs. You can obtain this from the 'List jobs for a workflow run' endpoint.",
"examples": [
54370757583,
61392620969
],
"title": "Job Id",
"type": "integer"
},
"owner": {
"description": "The account owner of the repository (e.g., user or organization). This name is not case-sensitive.",
"examples": [
"octocat",
"github"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This name is not case-sensitive. ",
"examples": [
"Spoon-Knife",
"docs"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"job_id"
],
"title": "DownloadJobLogsForAWorkflowRunRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Downloads a ZIP archive of logs for a specific workflow run attempt. Returns a downloadable ZIP file containing logs for all jobs and steps in the workflow run.",
"name": "GITHUB_DOWNLOAD_WORKFLOW_RUN_ATTEMPT_LOGS",
"parameters": {
"description": "Request schema for `DownloadWorkflowRunAttemptLogs`",
"properties": {
"attempt_number": {
"description": "The attempt number of the workflow run.",
"examples": [
1
],
"title": "Attempt Number",
"type": "integer"
},
"owner": {
"description": "The account owner of the repository. The name is not case sensitive.",
"examples": [
"octocat"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository without the `.git` extension. The name is not case sensitive. ",
"examples": [
"hello-world"
],
"title": "Repo",
"type": "string"
},
"run_id": {
"description": "The unique identifier of the workflow run.",
"examples": [
123456789
],
"title": "Run Id",
"type": "integer"
}
},
"required": [
"owner",
"repo",
"run_id",
"attempt_number"
],
"title": "DownloadWorkflowRunAttemptLogsRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Downloads logs for a specific GitHub Actions workflow run as a ZIP archive containing log files for each job in the workflow.",
"name": "GITHUB_DOWNLOAD_WORKFLOW_RUN_LOGS",
"parameters": {
"description": "Parameters to identify and download logs for a specific GitHub Actions workflow run.",
"properties": {
"owner": {
"description": "The account owner of the repository (e.g., 'octocat'). This name is not case-sensitive.",
"examples": [
"octocat",
"github"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository (e.g., 'Spoon-Knife') without the `.git` extension. This name is not case-sensitive.",
"examples": [
"Hello-World",
"octocat.github.io"
],
"title": "Repo",
"type": "string"
},
"run_id": {
"description": "The unique identifier of the workflow run (e.g., 12345).",
"examples": [
1616202549,
3043364204
],
"title": "Run Id",
"type": "integer"
}
},
"required": [
"owner",
"repo",
"run_id"
],
"title": "DownloadWorkflowRunLogsRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Reactivates a currently disabled GitHub Actions workflow within a repository using its workflow ID or filename.",
"name": "GITHUB_ENABLE_A_WORKFLOW",
"parameters": {
"description": "Request schema to enable a GitHub Actions workflow.",
"properties": {
"owner": {
"description": "The username or organization name that owns the repository. This value is not case-sensitive.",
"examples": [
"octocat",
"my-organization"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This value is not case-sensitive.",
"examples": [
"hello-world",
"my-awesome-project"
],
"title": "Repo",
"type": "string"
},
"workflow_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "The ID of the workflow to be enabled. You can provide either the numeric workflow ID (e.g., 30433642) or the workflow filename (e.g., 'ci.yaml', 'data.yml').",
"examples": [
"1234567",
"7654321",
"main.yaml",
"ci.yml"
],
"title": "Workflow Id"
}
},
"required": [
"owner",
"repo",
"workflow_id"
],
"title": "EnableAWorkflowRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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'.",
"name": "GITHUB_ENABLE_GITHUB_ACTIONS_IN_SELECTED_REPOSITORIES",
"parameters": {
"description": "Request to set the specific repositories that can use GitHub Actions within an organization.",
"properties": {
"org": {
"description": "Name of the GitHub organization (case-insensitive).",
"examples": [
"my-github-org",
"octo-org"
],
"title": "Org",
"type": "string"
},
"selected_repository_ids": {
"description": "List of unique repository IDs for which GitHub Actions will be enabled. This list completely replaces the current selection of repositories.",
"examples": [
[
1296269,
1296270
],
[
98765,
123456
],
[
42
]
],
"items": {
"type": "integer"
},
"title": "Selected Repository Ids",
"type": "array"
}
},
"required": [
"org",
"selected_repository_ids"
],
"title": "EnableGithubActionsInSelectedRepositoriesRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Enables private vulnerability reporting for a repository, allowing security researchers to privately submit vulnerability reports to maintainers.",
"name": "GITHUB_ENABLE_PRIVATE_VULN_REPORTING_FOR_REPO",
"parameters": {
"description": "Request schema for enabling private vulnerability reporting for a repository.",
"properties": {
"owner": {
"description": "The account owner of the repository. This is typically the username or organization name and is not case-sensitive.",
"examples": [
"octocat",
"github"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This field is not case-sensitive.",
"examples": [
"Hello-World",
"Spoon-Knife"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"title": "GithubEnablePrivateVulnReportingForRepoRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Adds a repository to the list of selected repositories enabled for GitHub Actions in an organization. Requires the organization's 'enabled_repositories' policy to be set to 'selected'.",
"name": "GITHUB_ENABLE_REPO_FOR_GITHUB_ACTIONS",
"parameters": {
"description": "Specifies the target organization and repository for enabling GitHub Actions.",
"properties": {
"org": {
"description": "The name of the GitHub organization. This name is not case-sensitive.",
"examples": [
"my-github-org",
"acme-corp"
],
"title": "Org",
"type": "string"
},
"repository_id": {
"description": "The unique numerical identifier of the GitHub repository.",
"examples": [
123456789,
987654321
],
"title": "Repository Id",
"type": "integer"
}
},
"required": [
"org",
"repository_id"
],
"title": "EnableRepoForGithubActionsRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_ENCRYPT_AND_UPDATE_DEV_SECRET",
"parameters": {
"description": "Request schema for creating or updating a development environment secret with an encrypted value.",
"properties": {
"encrypted_value": {
"description": "Value for your secret, already encrypted using the public key retrieved from the GitHub API's 'Get a repository public key for Codespaces' endpoint (`GET /repos/{owner}/{repo}/codespaces/secrets/public-key`). Use this if you have pre-encrypted the value yourself.",
"examples": [
"c2VjcmV0X2VuY3J5cHRlZF92YWx1ZQ=="
],
"title": "Encrypted Value",
"type": "string"
},
"key_id": {
"description": "ID of the public key (retrieved from the GitHub API's 'Get a repository public key for Codespaces' endpoint: `GET /repos/{owner}/{repo}/codespaces/secrets/public-key`) used to encrypt the secret's value. If not provided, it will be fetched automatically.",
"examples": [
"1234567890abcdef"
],
"title": "Key Id",
"type": "string"
},
"owner": {
"description": "The account owner of the repository. This name is not case-sensitive.",
"examples": [
"octocat"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository without the `.git` extension. This name is not case-sensitive.",
"examples": [
"hello-world"
],
"title": "Repo",
"type": "string"
},
"secret_name": {
"description": "The name of the development environment secret.",
"examples": [
"MY_API_TOKEN"
],
"title": "Secret Name",
"type": "string"
},
"secret_value": {
"description": "The plaintext value for your secret. This will be automatically encrypted using the repository's Codespaces public key before being sent to GitHub. If you already have an encrypted value, use the encrypted_value parameter instead.",
"examples": [
"my-secret-api-key-12345"
],
"title": "Secret Value",
"type": "string"
}
},
"required": [
"owner",
"repo",
"secret_name"
],
"title": "EncryptAndUpdateDevSecretRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Creates or updates an organization's GitHub Codespaces secret using an encrypted value and its corresponding public key ID.",
"name": "GITHUB_ENCRYPT_ORG_DEV_ENV_SECRET",
"parameters": {
"description": "Request schema for creating or updating an organization's development environment secret with an encrypted value.",
"properties": {
"encrypted_value": {
"description": "Encrypted secret value, using the public key from 'Get an organization public key' (GET /orgs/{org}/codespaces/secrets/public-key). Use this if you have pre-encrypted the value yourself. If not provided and secret_value is given, encryption will be done automatically.",
"title": "Encrypted Value",
"type": "string"
},
"key_id": {
"description": "ID of the public key (from GET /orgs/{org}/codespaces/secrets/public-key) used to encrypt the secret's value. If not provided, it will be fetched automatically when encrypting.",
"title": "Key Id",
"type": "string"
},
"org": {
"description": "The GitHub organization name (case-insensitive).",
"examples": [
"my-organization"
],
"title": "Org",
"type": "string"
},
"secret_name": {
"description": "Name of the secret to create or update.",
"examples": [
"MY_API_KEY"
],
"title": "Secret Name",
"type": "string"
},
"secret_value": {
"description": "The plaintext value for your secret. This will be automatically encrypted using the organization's Codespaces public key before being sent to GitHub. If you already have an encrypted value, use the encrypted_value parameter instead.",
"examples": [
"my-secret-api-key-12345"
],
"title": "Secret Value",
"type": "string"
},
"selected_repository_ids": {
"description": "Repository IDs that can access the secret; required if visibility is 'selected'.",
"examples": [
[
12345,
67890
]
],
"items": {
"type": "integer"
},
"title": "Selected Repository Ids",
"type": "array"
},
"visibility": {
"description": "Visibility of the secret. 'selected' requires `selected_repository_ids`.",
"enum": [
"all",
"private",
"selected"
],
"title": "Visibility",
"type": "string"
}
},
"required": [
"org",
"secret_name",
"visibility"
],
"title": "EncryptOrgDevEnvSecretRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Triggers an export of a user's specified codespace, automatically stopping it if active, and returns its export status and download URL.",
"name": "GITHUB_EXPORT_A_CODESPACE_FOR_THE_AUTHENTICATED_USER",
"parameters": {
"description": "Request schema for `ExportACodespaceForTheAuthenticatedUser`",
"properties": {
"codespace_name": {
"description": "Unique name of the codespace to be exported.",
"examples": [
"monalisa-octo-cat-g45w7p9p7vh8qrq"
],
"title": "Codespace Name",
"type": "string"
}
},
"required": [
"codespace_name"
],
"title": "ExportACodespaceForTheAuthenticatedUserRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_EXPORT_SBOM_FOR_REPO",
"parameters": {
"description": "Request schema for `ExportSbomForRepo`",
"properties": {
"owner": {
"description": "The username or organization name that owns the repository. This field is not case-sensitive.",
"examples": [
"octocat",
"my-organization"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This field is not case-sensitive. ",
"examples": [
"hello-world",
"my-awesome-project"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"title": "ExportSbomForRepoRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Primary tool to find and search pull requests. Supports filtering by repository, author, state, labels, and merge status, and returns structured PR data for reliable use in workflows. GitHub search results are capped at ~1000 total items; narrow filters when totals approach this limit. `created_since`/`updated_since` filter on creation/update timestamps, not `merged_at`; apply merge-date filtering client-side.",
"name": "GITHUB_FIND_PULL_REQUESTS",
"parameters": {
"description": "Request schema for finding pull requests with AI-friendly parameters.",
"properties": {
"assignee": {
"description": "Filter by PR assignee username. Use '@me' for current user. Must be a valid GitHub username (alphanumeric characters and hyphens only, cannot start or end with hyphen). No dots or other special characters allowed.",
"examples": [
"octocat",
"@me"
],
"title": "Assignee",
"type": "string"
},
"author": {
"description": "Filter by PR author username. Must be a valid GitHub username (alphanumeric characters and hyphens only, cannot start or end with hyphen). No dots or other special characters allowed.",
"examples": [
"octocat",
"defunkt"
],
"title": "Author",
"type": "string"
},
"base_branch": {
"description": "Filter by base branch name.",
"examples": [
"main",
"master",
"develop",
"staging"
],
"title": "Base Branch",
"type": "string"
},
"created_since": {
"description": "Filter PRs created after this date (ISO 8601 format). Provide as UTC ISO 8601 timestamp to avoid off-by-one-day errors at range boundaries. Does not filter on `merged_at`.",
"examples": [
"2024-01-01",
"2024-01-01T00:00:00Z"
],
"title": "Created Since",
"type": "string"
},
"for_authenticated_user": {
"default": false,
"description": "Include private repositories accessible to the authenticated user in search results. When True without repo/owner, searches PRs involving you (author, assignee, mentions, commenter) across all accessible repos. When False without repo/owner, restricts to public repos only. When repo/owner is specified, this flag has no effect on scope. Set to True when searching private repositories; False searches all of GitHub and produces large noisy result sets.",
"examples": [
true,
false
],
"title": "For Authenticated User",
"type": "boolean"
},
"head_branch": {
"description": "Filter by head branch name.",
"examples": [
"feature/auth",
"bugfix/login",
"hotfix/critical"
],
"title": "Head Branch",
"type": "string"
},
"is_merged": {
"description": "Filter by merge status. True for merged PRs, False for unmerged, None for all.",
"examples": [
true,
false
],
"title": "Is Merged",
"type": "boolean"
},
"label": {
"description": "Filter by label name.",
"examples": [
"bug",
"enhancement",
"documentation",
"good first issue"
],
"title": "Label",
"type": "string"
},
"language": {
"description": "Filter by programming language.",
"examples": [
"python",
"javascript",
"typescript",
"go"
],
"title": "Language",
"type": "string"
},
"mentions": {
"description": "Filter by username mentioned in PR. Must be a valid GitHub username (alphanumeric characters and hyphens only, cannot start or end with hyphen). No dots or other special characters allowed.",
"examples": [
"octocat",
"@me"
],
"title": "Mentions",
"type": "string"
},
"order": {
"default": "desc",
"description": "Sort order (ascending or descending).",
"enum": [
"desc",
"asc"
],
"examples": [
"desc",
"asc"
],
"title": "Order",
"type": "string"
},
"owner": {
"description": "Filter by repository owner (user or organization). Can be used alone to search all repositories for an owner, or combined with repo parameter to specify owner and repo separately. When both owner and repo are provided, the search is scoped to 'owner/repo'. When omitted along with repo, search scope is determined by for_authenticated_user flag. The owner must exist and repositories must be accessible with your token.",
"examples": [
"facebook",
"microsoft",
"octocat"
],
"title": "Owner",
"type": "string"
},
"page": {
"default": 1,
"description": "Page number of results to fetch.",
"examples": [
1,
2,
3
],
"title": "Page",
"type": "integer"
},
"per_page": {
"default": 20,
"description": "Number of results per page (maximum 100). GitHub caps total search results at ~1000 items; iterate `page` until results fewer than `per_page` are returned, and add `repo`, `label`, or date filters when totals approach 1000.",
"examples": [
10,
20,
50
],
"title": "Per Page",
"type": "integer"
},
"query": {
"description": "Optional search query for PR title, description, or commit messages. Supports GitHub search syntax including label filters (e.g., 'label:bug'), logical operators (AND, OR, NOT), and text search. If not provided, PRs will be listed based on other filter parameters. Type qualifiers (type:pr, is:pr, is:issue, type:issue) are automatically normalized. When using logical operators with qualifiers like labels, the query is automatically grouped for proper parsing. When omitting query, ensure at least one structured filter parameter is provided; passing no query and no filters may cause validation errors. Prefer dedicated parameters (`label`, `state`, `author`) over embedding qualifiers in the query string. Exact title matching is not supported; post-filter on title client-side if needed.",
"examples": [
"bug fix",
"feature auth",
"label:bug",
"label:bug OR label:enhancement",
"refactor api",
null
],
"title": "Query",
"type": "string"
},
"raw_response": {
"default": false,
"description": "Return full API response if true, optimized response for AI agents if false.",
"examples": [
true,
false
],
"title": "Raw Response",
"type": "boolean"
},
"repo": {
"description": "Filter by specific repository. Can be provided in 'owner/repo' format (e.g., 'facebook/react'), or as just the repo name when used with the owner parameter. When owner and repo are both provided and have the same value, they are combined as 'owner/repo'. When omitted along with owner, search scope is determined by for_authenticated_user flag. The repository must exist and be accessible with your token. Prefer 'owner/repo' format; bare repo name without the `owner` parameter causes invalid repository format errors.",
"examples": [
"facebook/react",
"microsoft/vscode",
"octocat/Hello-World",
"react"
],
"title": "Repo",
"type": "string"
},
"sort": {
"default": "updated",
"description": "Field to sort results by. Set explicitly to 'updated' with `order=desc` when recency matters; default behavior may return best-match relevance ordering instead.",
"enum": [
"comments",
"reactions",
"interactions",
"created",
"updated"
],
"examples": [
"updated",
"created",
"comments"
],
"title": "Sort",
"type": "string"
},
"state": {
"default": "open",
"description": "Filter by PR state: 'open', 'closed', or 'all'.",
"examples": [
"open",
"closed",
"all"
],
"title": "State",
"type": "string"
},
"updated_since": {
"description": "Filter PRs updated after this date (ISO 8601 format).",
"examples": [
"2024-01-01",
"2024-01-01T00:00:00Z"
],
"title": "Updated Since",
"type": "string"
}
},
"title": "FindPullRequestsRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "AI-optimized repository search with smart filtering by language, stars, topics, and ownership. Builds intelligent search queries and returns clean, actionable repository data. Check `incomplete_results` in the response — when true, results are non-exhaustive. Search endpoints are rate-limited to ~30 requests/minute (vs. 5000/hour for general REST); apply backoff on 403/429. Total results are capped at ~1000 per query regardless of pagination.",
"name": "GITHUB_FIND_REPOSITORIES",
"parameters": {
"description": "Request schema for finding repositories.",
"properties": {
"archived": {
"description": "Filter by archived status. None means include both.",
"examples": [
true,
false
],
"title": "Archived",
"type": "boolean"
},
"for_authenticated_user": {
"default": false,
"description": "Search only in repositories accessible to the authenticated user (including private repos). Requires token scopes `repo`/`read:org`; sparse results compared to GitHub UI typically indicate insufficient token scopes.",
"examples": [
true,
false
],
"title": "For Authenticated User",
"type": "boolean"
},
"fork_filter": {
"default": "exclude",
"description": "How to handle forks: 'include' (include forks), 'exclude' (exclude forks), 'only' (only forks).",
"examples": [
"include",
"exclude",
"only"
],
"title": "Fork Filter",
"type": "string"
},
"language": {
"description": "Filter by programming language.",
"examples": [
"python",
"javascript",
"typescript",
"go"
],
"title": "Language",
"type": "string"
},
"max_stars": {
"description": "Maximum number of stars the repository should have.",
"examples": [
50,
500,
5000
],
"title": "Max Stars",
"type": "integer"
},
"min_forks": {
"description": "Minimum number of forks the repository should have.",
"examples": [
5,
50,
100
],
"title": "Min Forks",
"type": "integer"
},
"min_stars": {
"description": "Minimum number of stars the repository should have.",
"examples": [
10,
100,
1000
],
"title": "Min Stars",
"type": "integer"
},
"order": {
"default": "desc",
"description": "Sort order (ascending or descending).",
"enum": [
"desc",
"asc"
],
"examples": [
"desc",
"asc"
],
"title": "Order",
"type": "string"
},
"owner": {
"description": "Filter by specific user or organization. Do NOT use this parameter if your 'query' already contains 'user:', 'org:', or 'repo:' qualifiers - they will conflict. Use either 'owner' parameter OR search qualifiers in 'query', not both.",
"examples": [
"facebook",
"microsoft",
"torvalds"
],
"title": "Owner",
"type": "string"
},
"page": {
"default": 1,
"description": "Page number of results to fetch.",
"examples": [
1,
2,
3
],
"title": "Page",
"type": "integer"
},
"per_page": {
"default": 20,
"description": "Number of results per page (maximum 100). GitHub caps total results at ~1000 per query; for exhaustive searches, split by `language`, `topic`, `min_stars`/`max_stars`, or `owner`.",
"examples": [
10,
20,
50
],
"title": "Per Page",
"type": "integer"
},
"query": {
"description": "Search query for repository name, description, or README content. Accepts both 'query' and 'q' as parameter names. Supports OR operator for alternatives (e.g., 'bug OR error'). Multi-word phrases in OR expressions are automatically quoted. GitHub limits OR expressions to 6 terms maximum; queries exceeding this limit are truncated. If using GitHub qualifiers like 'repo:', 'user:', or 'org:', they must be properly formatted (e.g., 'repo:owner/name', 'user:username', 'org:orgname'). Note: 'owner:' is not a valid GitHub qualifier; if used, it will be automatically transformed to 'user:'. Must be non-empty; blank strings trigger a 'Search query cannot be empty' validation error.",
"examples": [
"react typescript",
"machine learning python",
"web scraper",
"bug OR error OR issue",
"repo:facebook/react",
"user:torvalds",
"org:microsoft node"
],
"title": "Query",
"type": "string"
},
"raw_response": {
"default": false,
"description": "Return full API response if true, optimized response for AI agents if false.",
"examples": [
true,
false
],
"title": "Raw Response",
"type": "boolean"
},
"sort": {
"default": "stars",
"description": "Field to sort results by.",
"enum": [
"stars",
"forks",
"help-wanted-issues",
"updated"
],
"examples": [
"stars",
"forks",
"updated"
],
"title": "Sort",
"type": "string"
},
"topic": {
"description": "Filter by repository topic/tag.",
"examples": [
"web",
"api",
"machine-learning",
"frontend"
],
"title": "Topic",
"type": "string"
}
},
"required": [
"query"
],
"title": "FindRepositoriesRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to follow a GitHub organization using GraphQL. Use when you need to make the authenticated user follow an organization.",
"name": "GITHUB_FOLLOW_ORGANIZATION_GRAPHQL",
"parameters": {
"description": "Request parameters for following an organization via GitHub GraphQL.\n\nThis mutation allows the authenticated user to follow an organization.",
"properties": {
"clientMutationId": {
"description": "A unique identifier for the client performing the mutation. Used to track requests.",
"examples": [
"abc123",
"mutation-001"
],
"title": "Client Mutation Id",
"type": "string"
},
"organizationId": {
"description": "The global GraphQL node ID of the organization to follow. Must be a valid organization node ID.",
"examples": [
"MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"O_kgDOABCD12"
],
"title": "Organization Id",
"type": "string"
}
},
"required": [
"organizationId"
],
"title": "FollowOrganizationGraphqlRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Allows the authenticated user to follow the GitHub user specified by `username`; this action is idempotent and the user cannot follow themselves.",
"name": "GITHUB_FOLLOW_USER",
"parameters": {
"description": "Specifies the GitHub user to follow.",
"properties": {
"username": {
"description": "The GitHub username (handle) of the user to be followed by the authenticated user.",
"examples": [
"octocat",
"torvalds"
],
"title": "Username",
"type": "string"
}
},
"required": [
"username"
],
"title": "FollowUserRequest",
"type": "object"
}
},
"type": "function"
}
]