[
{
"function": {
"description": "Retrieves a specific deployment status by its ID for a given deployment within a GitHub repository.",
"name": "GITHUB_GET_DEPLOYMENT_STATUS",
"parameters": {
"description": "Request schema for `GetDeploymentStatus`",
"properties": {
"deployment_id": {
"description": "The unique identifier of the deployment.",
"examples": [
"1",
"42"
],
"title": "Deployment Id",
"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": [
"Spoon-Knife"
],
"title": "Repo",
"type": "string"
},
"status_id": {
"description": "The unique identifier of the deployment status.",
"examples": [
"10",
"253"
],
"title": "Status Id",
"type": "integer"
}
},
"required": [
"owner",
"repo",
"deployment_id",
"status_id"
],
"title": "GetDeploymentStatusRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves detailed information about a specific export of a codespace.",
"name": "GITHUB_GET_DETAILS_ABOUT_A_CODESPACE_EXPORT",
"parameters": {
"description": "Request schema for `GetDetailsAboutACodespaceExport`",
"properties": {
"codespace_name": {
"description": "The unique name of the codespace.",
"examples": [
"monalisa-glorious-space-engine-vx96rp797j92r7x"
],
"title": "Codespace Name",
"type": "string"
},
"export_id": {
"description": "The ID of the export operation. Currently, only 'latest' is supported, which refers to the most recent export for the specified codespace.",
"examples": [
"latest"
],
"title": "Export Id",
"type": "string"
}
},
"required": [
"codespace_name",
"export_id"
],
"title": "GetDetailsAboutACodespaceExportRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Fetches a specific discussion by its number from a team within an organization. This is a read-only action that retrieves discussion details including title, body, author information, comment count, and reactions. The authenticated user must be a member of the organization to access team discussions.",
"name": "GITHUB_GET_DISCUSSION",
"parameters": {
"description": "Request schema for retrieving a specific discussion within a team.",
"properties": {
"discussion_number": {
"description": "The discussion's unique number within the team.",
"examples": [
1,
42,
123
],
"title": "Discussion Number",
"type": "integer"
},
"org": {
"description": "The organization's name (case-insensitive).",
"examples": [
"octo-org"
],
"title": "Org",
"type": "string"
},
"team_slug": {
"description": "The team's slug (URL-friendly name).",
"examples": [
"justice-league",
"engineering-team"
],
"title": "Team Slug",
"type": "string"
}
},
"required": [
"org",
"team_slug",
"discussion_number"
],
"title": "GetDiscussionRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Fetches a specific comment from a team discussion within a specific organization.",
"name": "GITHUB_GET_DISCUSSION_COMMENT",
"parameters": {
"description": "Request schema for `GetDiscussionComment`",
"properties": {
"comment_number": {
"description": "The unique number identifying the comment within the discussion.",
"examples": [
101
],
"title": "Comment Number",
"type": "integer"
},
"discussion_number": {
"description": "The unique number identifying the discussion.",
"examples": [
42
],
"title": "Discussion Number",
"type": "integer"
},
"org": {
"description": "The name of the organization. This field is not case-sensitive.",
"examples": [
"github"
],
"title": "Org",
"type": "string"
},
"team_slug": {
"description": "The slug of the team name. This is the team name converted to lowercase, with spaces and special characters replaced by hyphens. For example, 'Developer Tools Team' becomes 'developer-tools-team'.",
"examples": [
"justice-league",
"developers"
],
"title": "Team Slug",
"type": "string"
}
},
"required": [
"org",
"team_slug",
"discussion_number",
"comment_number"
],
"title": "GetDiscussionCommentRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Lists all emojis available for use on GitHub, including custom and Unicode emojis.",
"name": "GITHUB_GET_EMOJIS",
"parameters": {
"description": "Request schema for the `GetEmojis` action. This action does not require any parameters.",
"properties": {},
"title": "GetEmojisRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to look up a pending enterprise unaffiliated member invitation by invitee and enterprise. Use when you need to check the status of a specific invitation.",
"name": "GITHUB_GET_ENTERPRISE_MEMBER_INVITATION",
"parameters": {
"description": "Request parameters for looking up a pending enterprise member invitation.",
"properties": {
"enterprise_slug": {
"description": "The slug of the enterprise the user was invited to join. Enterprise slugs are used to identify enterprises in GitHub URLs (e.g., 'acme-corp').",
"examples": [
"acme-corp",
"my-enterprise"
],
"title": "Enterprise Slug",
"type": "string"
},
"user_login": {
"description": "The login (username) of the user invited to join the enterprise. This is the GitHub username of the invitee.",
"examples": [
"octocat",
"monalisa"
],
"title": "User Login",
"type": "string"
}
},
"required": [
"enterprise_slug",
"user_login"
],
"title": "GetEnterpriseMemberInvitationRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Fetches a list of available GitHub feed URLs for the authenticated user.",
"name": "GITHUB_GET_FEEDS",
"parameters": {
"description": "Request schema for the `GetFeeds` action. This action does not require any request parameters.",
"properties": {},
"title": "GetFeedsRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Fetches a specific GitHub gist by its `gist_id`, returning comprehensive details if the gist exists.",
"name": "GITHUB_GET_GIST",
"parameters": {
"description": "Request schema for `GetGist`",
"properties": {
"gist_id": {
"description": "The unique hexadecimal string identifier of the gist, found in its URL.",
"examples": [
"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0",
"gist_id_example"
],
"title": "Gist Id",
"type": "string"
}
},
"required": [
"gist_id"
],
"title": "GetGistRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves a specific Gist comment by its ID and the Gist's ID.",
"name": "GITHUB_GET_GIST_COMMENT",
"parameters": {
"description": "Request to retrieve a specific comment on a Gist.",
"properties": {
"comment_id": {
"description": "The unique numeric identifier of the comment. Obtain this from listing gist comments or from the comment URL.",
"examples": [
12345
],
"title": "Comment Id",
"type": "integer"
},
"gist_id": {
"description": "The unique alphanumeric identifier of the Gist (found in the Gist URL after gist.github.com/username/).",
"examples": [
"aa5a315d61ae9438b18d"
],
"title": "Gist Id",
"type": "string"
}
},
"required": [
"gist_id",
"comment_id"
],
"title": "GetGistCommentRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves a specific revision of a gist.",
"name": "GITHUB_GET_GIST_REVISION",
"parameters": {
"description": "Request schema for `GetGistRevision`",
"properties": {
"gist_id": {
"description": "The unique identifier of the gist.",
"examples": [
"aa5a315d61ae9438b18d"
],
"title": "Gist Id",
"type": "string"
},
"sha": {
"description": "The SHA (Secure Hash Algorithm) identifier of a specific gist revision. This is a 40-character hexadecimal string.",
"examples": [
"039209f0822a1e45614df232d979608b00b4e287"
],
"title": "Sha",
"type": "string"
}
},
"required": [
"gist_id",
"sha"
],
"title": "GetGistRevisionRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves total GitHub Actions cache usage statistics for an organization, including active cache count and size across all repositories.",
"name": "GITHUB_GET_GITHUB_ACTIONS_CACHE_USAGE_FOR_AN_ORGANIZATION",
"parameters": {
"description": "Request schema for retrieving the GitHub Actions cache usage for a specific organization.",
"properties": {
"org": {
"description": "Name of the organization (case-insensitive).",
"examples": [
"octo-org"
],
"title": "Org",
"type": "string"
}
},
"required": [
"org"
],
"title": "GetGithubActionsCacheUsageForAnOrganizationRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves the total count of active GitHub Actions caches and their combined size in bytes for a specified repository.",
"name": "GITHUB_GET_GITHUB_ACTIONS_CACHE_USAGE_FOR_A_REPOSITORY",
"parameters": {
"description": "Request schema for `GetGithubActionsCacheUsageForARepository`",
"properties": {
"owner": {
"description": "The username or organization name that owns the repository. 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": "GetGithubActionsCacheUsageForARepositoryRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Gets the GitHub Actions permissions for a specified organization, detailing repository enablement and allowed actions policies.",
"name": "GITHUB_GET_GITHUB_ACTIONS_PERMISSIONS_FOR_AN_ORGANIZATION",
"parameters": {
"description": "Request to retrieve GitHub Actions permissions for an organization.",
"properties": {
"org": {
"description": "The name of the GitHub organization. This field is not case-sensitive.",
"examples": [
"github",
"my-company-org"
],
"title": "Org",
"type": "string"
}
},
"required": [
"org"
],
"title": "GetGithubActionsPermissionsForAnOrganizationRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Gets the GitHub Actions permissions policy for a repository, including its enabled status and the scope of allowed actions.",
"name": "GITHUB_GET_GITHUB_ACTIONS_PERMISSIONS_FOR_A_REPOSITORY",
"parameters": {
"description": "Input schema for GetGithubActionsPermissionsForARepository.",
"properties": {
"owner": {
"description": "The username of the account that owns the repository. This is not case-sensitive.",
"examples": [
"octocat",
"github"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This is not case-sensitive.",
"examples": [
"Spoon-Knife",
"docs"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"title": "GetGithubActionsPermissionsForARepositoryRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to get billing premium request usage report for a GitHub user. Use when you need to retrieve usage data for premium features like Copilot or AI models.",
"name": "GITHUB_GET_GITHUB_BILLING_PREMIUM_REQUEST_USAGE_REPORT_USER",
"parameters": {
"description": "Request to get billing premium request usage report for a user.",
"properties": {
"day": {
"description": "If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used.",
"examples": [
1,
15,
31
],
"maximum": 31,
"minimum": 1,
"title": "Day",
"type": "integer"
},
"model": {
"description": "The model name to query usage for. The name is not case sensitive.",
"examples": [
"gpt-4",
"claude-3",
"gemini-pro"
],
"title": "Model",
"type": "string"
},
"month": {
"description": "If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. Default value is the current month. If no year is specified the default `year` is used.",
"examples": [
1,
6,
12
],
"maximum": 12,
"minimum": 1,
"title": "Month",
"type": "integer"
},
"product": {
"description": "The product name to query usage for. The name is not case sensitive.",
"examples": [
"copilot",
"models",
"actions"
],
"title": "Product",
"type": "string"
},
"username": {
"description": "The handle for the GitHub user account.",
"examples": [
"octocat",
"composio-dev",
"torvalds"
],
"title": "Username",
"type": "string"
},
"year": {
"description": "If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year.",
"examples": [
2025,
2024,
2023
],
"title": "Year",
"type": "integer"
}
},
"required": [
"username"
],
"title": "GetGithubBillingPremiumRequestUsageReportUserRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to retrieve billing usage summary for a GitHub user account. Use when tracking usage costs, monitoring billing details, or generating usage reports for a specific user. Note: This endpoint only returns data for the past 24 months and is currently in public preview.",
"name": "GITHUB_GET_GITHUB_BILLING_USAGE_SUMMARY_FOR_USER",
"parameters": {
"description": "Request schema for retrieving billing usage summary for a GitHub user.",
"properties": {
"day": {
"description": "If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.",
"examples": [
1,
15,
31
],
"maximum": 31,
"minimum": 1,
"title": "Day",
"type": "integer"
},
"month": {
"description": "If specified, only return results for a single month. The value of month is an integer between 1 and 12. Default value is the current month. If no year is specified the default year is used.",
"examples": [
1,
6,
12
],
"maximum": 12,
"minimum": 1,
"title": "Month",
"type": "integer"
},
"product": {
"description": "The product name to query usage for. The name is not case sensitive.",
"examples": [
"actions",
"packages",
"copilot"
],
"title": "Product",
"type": "string"
},
"repository": {
"description": "The repository name to query for usage in the format owner/repository.",
"examples": [
"octocat/Hello-World",
"composio-dev/composio"
],
"title": "Repository",
"type": "string"
},
"sku": {
"description": "The SKU to query for usage.",
"examples": [
"actions-compute",
"copilot-business"
],
"title": "Sku",
"type": "string"
},
"username": {
"description": "The handle for the GitHub user account.",
"examples": [
"octocat",
"composio-dev"
],
"title": "Username",
"type": "string"
},
"year": {
"description": "If specified, only return results for a single year. The value of year is an integer with four digits representing a year (e.g., 2025). Default value is the current year.",
"examples": [
2024,
2025,
2026
],
"title": "Year",
"type": "integer"
}
},
"required": [
"username"
],
"title": "GetGithubBillingUsageSummaryForUserRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Fetches GitHub's publicly available metadata, useful for configuring network security policies or IP allow-listing.",
"name": "GITHUB_GET_GITHUB_META_INFORMATION",
"parameters": {
"description": "Request schema for `GetGithubMetaInformation`; does not require any request parameters.",
"properties": {},
"title": "GetGithubMetaInformationRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves detailed information about a specific GitHub Pages build for a repository, which must have GitHub Pages enabled.",
"name": "GITHUB_GET_GITHUB_PAGES_BUILD",
"parameters": {
"description": "Request schema for `GetGithubPagesBuild`",
"properties": {
"build_id": {
"description": "The unique identifier of the GitHub Pages build to retrieve.",
"examples": [
12345,
98765
],
"title": "Build Id",
"type": "integer"
},
"owner": {
"description": "The username or organization name 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": [
"Spoon-Knife",
"linguist"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"build_id"
],
"title": "GetGithubPagesBuildRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves a specific .gitignore template from GitHub by its name, which must be an existing template in GitHub's collection.",
"name": "GITHUB_GET_GITIGNORE_TEMPLATE",
"parameters": {
"description": "Request schema for `GetGitignoreTemplate`",
"properties": {
"name": {
"description": "The name of the .gitignore template to retrieve (e.g., 'Python', 'Node'). This is case-sensitive.",
"examples": [
"Python",
"Java",
"Node",
"Go",
"Rails"
],
"title": "Name",
"type": "string"
}
},
"required": [
"name"
],
"title": "GetGitignoreTemplateRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieve a global GitHub security advisory by its GHSA identifier. Use this to get detailed information about vulnerabilities including severity, affected packages, CVSS scores, and references.",
"name": "GITHUB_GET_GLOBAL_SECURITY_ADVISORY",
"parameters": {
"description": "Request parameters for retrieving a global GitHub security advisory.",
"properties": {
"ghsa_id": {
"description": "The GHSA (GitHub Security Advisory) identifier of the advisory.",
"examples": [
"GHSA-24rp-q3w6-vc56",
"GHSA-abcd-1234-wxyz"
],
"title": "Ghsa Id",
"type": "string"
}
},
"required": [
"ghsa_id"
],
"title": "GetGlobalSecurityAdvisoryRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to fetch any GitHub object by its global node ID. Use when you have a node_id and need to retrieve the corresponding object details.",
"name": "GITHUB_GET_GRAPHQL_NODE",
"parameters": {
"description": "Request parameters for fetching a GitHub GraphQL node by its global ID.\n\nid: The global node ID of the object to fetch (e.g., User, Repository, Issue).\nfragment: Optional GraphQL fragment to specify which fields to retrieve from the returned object.",
"properties": {
"fragment": {
"description": "Optional GraphQL fragment to specify which fields to retrieve from the returned node. Use GraphQL inline fragment syntax (e.g., '... on User { login name }'). If omitted, only the 'id' field will be returned.",
"examples": [
"... on User { login name bio }",
"... on Repository { name owner { login } }",
"... on Issue { title state number }"
],
"title": "Fragment",
"type": "string"
},
"id": {
"description": "The global node ID of the object to fetch. This is the GraphQL global identifier (node_id) returned by GitHub's API, not the numeric ID.",
"examples": [
"U_kgDOCNqc1g",
"MDQ6VXNlcjE=",
"R_kgDOGw8pTA"
],
"title": "Id",
"type": "string"
}
},
"required": [
"id"
],
"title": "GetGraphqlNodeRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to retrieve the authenticated client's GitHub GraphQL API rate limit information. Use when you need to check remaining quota, current usage, or reset time for GraphQL requests.",
"name": "GITHUB_GET_GRAPHQL_RATE_LIMIT",
"parameters": {
"description": "Request parameters for fetching GitHub GraphQL API rate limit information.",
"properties": {
"dry_run": {
"default": false,
"description": "If true, calculate the cost for the query without evaluating it. Use this to estimate query costs without consuming actual quota.",
"examples": [
false,
true
],
"title": "Dry Run",
"type": "boolean"
}
},
"title": "GetGraphqlRateLimitRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_GET_INFORMATION_ABOUT_A_SARIF_UPLOAD",
"parameters": {
"description": "Request schema for getting information about a SARIF upload.",
"properties": {
"owner": {
"description": "Username of the account that owns the repository (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"
},
"sarif_id": {
"description": "Unique identifier of the SARIF upload, returned when a SARIF file is successfully uploaded.",
"examples": [
"fb2cce85-340f-4d93-9498-26018bddd7eb"
],
"title": "Sarif Id",
"type": "string"
}
},
"required": [
"owner",
"repo",
"sarif_id"
],
"title": "GetInformationAboutASarifUploadRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_GET_INTERACTION_RESTRICTIONS_FOR_AN_ORGANIZATION",
"parameters": {
"description": "Request schema for `GetInteractionRestrictionsForAnOrganization`",
"properties": {
"org": {
"description": "The name of the organization. This name is not case-sensitive.",
"examples": [
"github"
],
"title": "Org",
"type": "string"
}
},
"required": [
"org"
],
"title": "GetInteractionRestrictionsForAnOrganizationRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_GET_INTERACTION_RESTRICTIONS_FOR_A_REPOSITORY",
"parameters": {
"description": "Request schema for retrieving interaction restrictions for a repository.",
"properties": {
"owner": {
"description": "The username of the account that owns the repository. This is case-insensitive.",
"examples": [
"octocat"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This is case-insensitive.",
"examples": [
"Spoon-Knife"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"title": "GetInteractionRestrictionsForARepositoryRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves currently active interaction restrictions for the authenticated user's public repositories.",
"name": "GITHUB_GET_INTERACTION_RESTRICTIONS_FOR_PUBLIC_REPOS",
"parameters": {
"description": "Request schema for `GetInteractionRestrictionsForPublicRepos`. This action does not require any request parameters.",
"properties": {},
"title": "GetInteractionRestrictionsForPublicReposRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves a specific label by its name from a specified GitHub repository.",
"name": "GITHUB_GET_LABEL",
"parameters": {
"description": "Request schema for retrieving a specific label from a repository by its name.",
"properties": {
"name": {
"description": "The name of the label to retrieve. GitHub's API treats label names as case-insensitive for this operation.",
"examples": [
"bug",
"enhancement",
"good first issue"
],
"title": "Name",
"type": "string"
},
"owner": {
"description": "The account owner of the repository (e.g., a username or organization name). The name is not case-sensitive.",
"examples": [
"octocat",
"kubernetes"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. The name is not case-sensitive.",
"examples": [
"Spoon-Knife",
"documentation"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"name"
],
"title": "GetLabelRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Lists files larger than 100MB identified during a previous source import for the specified repository. NOTE: This endpoint has been deprecated by GitHub as of April 12, 2024, and is no longer available. The Source Imports REST API has been retired due to very low usage levels. Please use the GitHub Importer tool at https://github.com/new/import for repository imports.",
"name": "GITHUB_GET_LARGE_FILES",
"parameters": {
"description": "Request schema for `GetLargeFiles`",
"properties": {
"owner": {
"description": "The username or organization name 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": [
"Spoon-Knife",
"docs"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"title": "GetLargeFilesRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_GET_LATEST_PAGES_BUILD",
"parameters": {
"description": "Request schema for `GetLatestPagesBuild`",
"properties": {
"owner": {
"description": "The username of the account or the name of the organization that owns the repository. 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"
],
"title": "GetLatestPagesBuildRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Call this action to retrieve comprehensive details for a specific software license recognized by GitHub, using its unique license key.",
"name": "GITHUB_GET_LICENSE",
"parameters": {
"description": "Request schema for `GetLicense`",
"properties": {
"license": {
"description": "The unique identifier (key) of the license. This is typically the SPDX license identifier (e.g., 'mit', 'apache-2.0').",
"examples": [
"mit",
"apache-2.0",
"gpl-3.0"
],
"title": "License",
"type": "string"
}
},
"required": [
"license"
],
"title": "GetLicenseRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to look up an open source license by its SPDX ID using GitHub's GraphQL API. Use when you need to fetch license details for compliance tracking or repository setup.",
"name": "GITHUB_GET_LICENSE_GRAPH_QL",
"parameters": {
"description": "Request parameters for looking up an open source license using GraphQL.",
"properties": {
"key": {
"description": "The license's downcased SPDX ID. Common keys include 'mit', 'apache-2.0', 'gpl-3.0', 'bsd-3-clause', 'lgpl-3.0', 'mpl-2.0', 'agpl-3.0', 'unlicense', 'isc', 'bsd-2-clause'.",
"examples": [
"mit",
"apache-2.0",
"gpl-3.0",
"bsd-3-clause"
],
"title": "Key",
"type": "string"
}
},
"required": [
"key"
],
"title": "GetLicenseGraphQLRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Fetches an ASCII art representation of GitHub's Octocat, suitable for text-based displays.",
"name": "GITHUB_GET_OCTOCAT",
"parameters": {
"description": "Specifies an optional custom message for Octocat's speech bubble in the ASCII art.",
"properties": {
"s": {
"description": "Custom message for Octocat's speech bubble. If omitted or empty, a random 'Zen of GitHub' message will be displayed instead.",
"examples": [
"Hello, Octocat!",
"GitHub is awesome!",
"Keep on coding!"
],
"title": "S",
"type": "string"
}
},
"title": "GetOctocatRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_GET_OIDC_SUBJECT_CLAIM_TEMPLATE",
"parameters": {
"description": "Request schema for `GetOidcSubjectClaimTemplate`",
"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": "GetOidcSubjectClaimTemplateRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Gets the list of allowed actions and reusable workflows for an organization when the 'allowed_actions' policy is set to 'selected'.",
"name": "GITHUB_GET_ORG_ALLOWED_ACTIONS",
"parameters": {
"description": "Request schema for retrieving the settings for allowed actions and reusable workflows in an organization.",
"properties": {
"org": {
"description": "The unique identifier or name of the organization. This field is not case sensitive.",
"examples": [
"my-organization",
"github"
],
"title": "Org",
"type": "string"
}
},
"required": [
"org"
],
"title": "GetAllowedActionsAndReusableWorkflowsForAnOrganizationRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to retrieve an organization's audit log events for security and compliance investigations. Use when tracking organizational changes, security audits, or compliance monitoring. Requires organization owner permissions and read:audit_log scope.",
"name": "GITHUB_GET_ORGANIZATION_AUDIT_LOG",
"parameters": {
"description": "Request schema for retrieving organization audit log events.",
"properties": {
"after": {
"description": "A cursor for pagination. Returns events after this cursor. Use the cursor from the response to fetch the next page.",
"examples": [
"MTYzMjg1NjQwMDAwMA=="
],
"title": "After",
"type": "string"
},
"before": {
"description": "A cursor for pagination. Returns events before this cursor. Use the cursor from the response to fetch the previous page.",
"examples": [
"MTYzMjg1NjQwMDAwMA=="
],
"title": "Before",
"type": "string"
},
"include": {
"description": "The event types to include. Can be 'web' (web interface events), 'git' (Git events), or 'all'. Defaults to 'web'.",
"examples": [
"web",
"git",
"all"
],
"title": "Include",
"type": "string"
},
"order": {
"description": "The order of audit log events. Can be 'asc' (ascending, oldest first) or 'desc' (descending, newest first). Defaults to 'desc'.",
"examples": [
"desc",
"asc"
],
"title": "Order",
"type": "string"
},
"org": {
"description": "The organization name. The name is not case sensitive.",
"examples": [
"github",
"octocat-org"
],
"title": "Org",
"type": "string"
},
"per_page": {
"description": "The number of results per page (max 100). Defaults to 30.",
"examples": [
30,
50,
100
],
"maximum": 100,
"minimum": 1,
"title": "Per Page",
"type": "integer"
},
"phrase": {
"description": "A search phrase to filter audit log events. For example, 'action:org' for organization-related events, or 'actor:octocat' for events by a specific user.",
"examples": [
"action:org",
"actor:octocat",
"repo:my-org/my-repo"
],
"title": "Phrase",
"type": "string"
}
},
"required": [
"org"
],
"title": "GetOrganizationAuditLogRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves the definition (schema) of a specific, existing custom property for an organization.",
"name": "GITHUB_GET_ORGANIZATION_CUSTOM_PROPERTY",
"parameters": {
"description": "Request to retrieve a specific custom property definition for an organization.",
"properties": {
"custom_property_name": {
"description": "Name of the custom property to retrieve (case-sensitive).",
"examples": [
"environment",
"team-ownership",
"project_status"
],
"title": "Custom Property Name",
"type": "string"
},
"org": {
"description": "Organization's login name (not case-sensitive).",
"examples": [
"octo-org",
"my-company"
],
"title": "Org",
"type": "string"
}
},
"required": [
"org",
"custom_property_name"
],
"title": "GetOrganizationCustomPropertyRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Tool to get an item from an organization-owned GitHub Projects V2 project. Use when you need to retrieve details about a specific project item including its content, fields, timestamps, and creator information.",
"name": "GITHUB_GET_ORGANIZATION_PROJECT_ITEM",
"parameters": {
"description": "Request schema for getting an organization project item.",
"properties": {
"fields": {
"description": "Limit results to specific fields, by their IDs. If not specified, the title field will be returned. Format: fields[]=123&fields[]=456 or fields=123,456,789",
"examples": [
"123,456,789",
"field1,field2,field3"
],
"title": "Fields",
"type": "string"
},
"item_id": {
"description": "The unique identifier of the project item.",
"examples": [
67089720,
12345678
],
"title": "Item Id",
"type": "integer"
},
"org": {
"description": "The organization name. The name is not case sensitive.",
"examples": [
"github",
"composio",
"microsoft"
],
"title": "Org",
"type": "string"
},
"project_number": {
"description": "The project's number.",
"examples": [
1,
5,
10
],
"title": "Project Number",
"type": "integer"
}
},
"required": [
"org",
"project_number",
"item_id"
],
"title": "GetOrganizationProjectItemRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves an organization's public key, which must be used to encrypt secret values before they are configured for Codespaces.",
"name": "GITHUB_GET_ORGANIZATION_PUBLIC_KEY",
"parameters": {
"description": "Request schema for retrieving an organization's public key for encrypting Codespaces secrets.",
"properties": {
"org": {
"description": "The name of the GitHub organization. This field is not case-sensitive.",
"examples": [
"MyAwesomeOrg",
"github"
],
"title": "Org",
"type": "string"
}
},
"required": [
"org"
],
"title": "GetOrganizationPublicKeyRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves the public key for an existing GitHub organization, required for encrypting Dependabot secrets. Requires admin:org scope.",
"name": "GITHUB_GET_ORGANIZATION_PUBLIC_KEY_FOR_DEPENDABOT",
"parameters": {
"description": "Request model for fetching the public key used to encrypt Dependabot secrets for an organization.",
"properties": {
"org": {
"description": "The name of the GitHub organization. Requires admin:org scope (must be an organization admin). This field is not case-sensitive.",
"examples": [
"github",
"microsoft"
],
"title": "Org",
"type": "string"
}
},
"required": [
"org"
],
"title": "GetOrganizationPublicKeyForDependabotRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves metadata for a specific secret available to an organization's GitHub Codespaces without exposing its encrypted value.",
"name": "GITHUB_GET_ORG_DEV_ENVIRONMENT_SECRET_SAFELY",
"parameters": {
"description": "Request schema for retrieving metadata for an organization's Codespaces secret.",
"properties": {
"org": {
"description": "The organization name (login). The name is not case-sensitive.",
"examples": [
"my-organization"
],
"title": "Org",
"type": "string"
},
"secret_name": {
"description": "The name of the development environment secret to retrieve.",
"examples": [
"MY_API_KEY"
],
"title": "Secret Name",
"type": "string"
}
},
"required": [
"org",
"secret_name"
],
"title": "GetOrgDevEnvironmentSecretSafelyRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "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.",
"name": "GITHUB_GET_ORG_OIDC_SUBJECT_CLAIM_TEMPLATE",
"parameters": {
"description": "Request schema for retrieving the OpenID Connect (OIDC) subject claim customization template for a GitHub organization.",
"properties": {
"org": {
"description": "The name of the GitHub organization (case-insensitive). This is the organization's login/username, not a numeric ID.",
"examples": [
"github",
"my-actions-org"
],
"title": "Org",
"type": "string"
}
},
"required": [
"org"
],
"title": "GetOrgOidcSubjectClaimTemplateRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves the DNS health check status (e.g., CNAME/A records, HTTPS) for a GitHub Pages site; the check may be pending (HTTP 202) on initial calls or after site changes.",
"name": "GITHUB_GET_PAGES_DNS_HEALTH_CHECK",
"parameters": {
"description": "Request schema for `GetPagesDnsHealthCheck`",
"properties": {
"owner": {
"description": "The username or organization name 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": [
"Spoon-Knife",
"docs"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"title": "GetPagesDnsHealthCheckRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves information for a GitHub Pages site, which must be enabled for the repository.",
"name": "GITHUB_GET_PAGES_SITE",
"parameters": {
"description": "Request schema for retrieving information about a GitHub Pages site.",
"properties": {
"owner": {
"description": "The username or organization name 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": [
"Spoon-Knife",
"docs"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"title": "GetPagesSiteRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves page view statistics for a repository over the last 14 days, including total views, unique visitors, and a daily or weekly breakdown.",
"name": "GITHUB_GET_PAGE_VIEWS",
"parameters": {
"description": "Request schema for retrieving repository page view statistics.",
"properties": {
"owner": {
"description": "The username of the account that owns the repository. This field is case-insensitive.",
"examples": [
"octocat"
],
"title": "Owner",
"type": "string"
},
"per": {
"default": "day",
"description": "The time unit for which to aggregate page views.",
"enum": [
"day",
"week"
],
"examples": [
"day",
"week"
],
"title": "Per",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This field is case-insensitive.",
"examples": [
"Spoon-Knife"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"title": "GetPageViewsRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves pending deployment environments for a specific workflow run that are awaiting approval due to protection rules.",
"name": "GITHUB_GET_PENDING_DEPLOYMENTS_FOR_A_WORKFLOW_RUN",
"parameters": {
"description": "Request model for retrieving pending deployments for a specific workflow run.",
"properties": {
"owner": {
"description": "Account owner of the repository (user or organization); not case-sensitive.",
"examples": [
"octocat",
"my-organization"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "Name of the repository, without the `.git` extension; not case-sensitive.",
"examples": [
"Spoon-Knife",
"my-awesome-project"
],
"title": "Repo",
"type": "string"
},
"run_id": {
"description": "Unique numerical identifier of the workflow run.",
"examples": [
"12345",
"67890"
],
"title": "Run Id",
"type": "integer"
}
},
"required": [
"owner",
"repo",
"run_id"
],
"title": "GetPendingDeploymentsForAWorkflowRunRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves permission information for a GitHub project (classic) collaborator. Returns the permission level and full user object for a collaborator on a GitHub project (classic). The permission returned can be admin, write, read, or none.",
"name": "GITHUB_GET_PROJECT_PERMISSION_FOR_A_USER",
"parameters": {
"description": "Request schema for retrieving a user's permission level for a specific GitHub project (V2).",
"properties": {
"project_id": {
"description": "The unique identifier (number) of the project.",
"examples": [
1,
5,
42
],
"title": "Project Id",
"type": "integer"
},
"username": {
"description": "The GitHub username of the project owner or the user whose permission is being checked.",
"examples": [
"octocat"
],
"title": "Username",
"type": "string"
}
},
"required": [
"project_id",
"username"
],
"title": "GetProjectPermissionForAUserRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves a repository's public key for encrypting GitHub Codespaces secrets; requires `repo` scope or equivalent read access to codespaces secrets for private repositories.",
"name": "GITHUB_GET_PUBLIC_KEY_FOR_SECRET_ENCRYPTION",
"parameters": {
"description": "Parameters to get a repository's public key for encrypting Codespaces secrets.",
"properties": {
"owner": {
"description": "Username or organization name of the repository owner (not case-sensitive).",
"examples": [
"octocat",
"my-organization"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "Repository name, without the `.git` extension (not case-sensitive).",
"examples": [
"Spoon-Knife",
"my-awesome-project"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"title": "GetPublicKeyForSecretEncryptionRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves the authenticated user's public key for encrypting GitHub Codespaces secrets. The returned key must be used with libsodium sealed box encryption before creating or updating secrets via the API.",
"name": "GITHUB_GET_PUBLIC_KEY_FOR_THE_AUTHENTICATED_USER",
"parameters": {
"description": "Request schema for retrieving the authenticated user's public key for encrypting GitHub Codespaces secrets. No parameters are required.",
"properties": {},
"title": "GetPublicKeyForTheAuthenticatedUserRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves the pull request review protection settings for a specific branch in a GitHub repository, if such protection is configured.",
"name": "GITHUB_GET_PULL_REQUEST_REVIEW_PROTECTION",
"parameters": {
"description": "Request schema for retrieving pull request review protection settings for a branch.",
"properties": {
"branch": {
"description": "The name of the branch. Wildcard characters are not allowed. To use wildcard characters in branch names, refer to the GitHub GraphQL API.",
"examples": [
"main",
"develop"
],
"title": "Branch",
"type": "string"
},
"owner": {
"description": "The account owner of the repository. This name is not case-sensitive. For example, in 'octocat/Hello-World', 'octocat' is the owner.",
"examples": [
"octocat"
],
"title": "Owner",
"type": "string"
},
"repo": {
"description": "The name of the repository, without the `.git` extension. This name is not case-sensitive. For example, in 'octocat/Hello-World', 'Hello-World' is the repository name.",
"examples": [
"Hello-World"
],
"title": "Repo",
"type": "string"
}
},
"required": [
"owner",
"repo",
"branch"
],
"title": "GetPullRequestReviewProtectionRequest",
"type": "object"
}
},
"type": "function"
},
{
"function": {
"description": "Retrieves the authenticated user's current GitHub API rate limit status, including usage and limits across different resource categories.",
"name": "GITHUB_GET_RATE_LIMIT_STATUS_FOR_THE_AUTHENTICATED_USER",
"parameters": {
"description": "Request schema to retrieve the GitHub API rate limit status for the authenticated user.",
"properties": {},
"title": "GetRateLimitStatusForTheAuthenticatedUserRequest",
"type": "object"
}
},
"type": "function"
}
]