---
title: "List available automation tools for a repository"
method: GET
path: "/agents/repos/{owner}/{repo}/automations/available-tools"
tags: ["agent-automations"]
---

# List available automation tools for a repository

`GET /agents/repos/{owner}/{repo}/automations/available-tools`

## Request

- Base URL: `https://api.github.com`
- URL: `https://api.github.com/agents/repos/{owner}/{repo}/automations/available-tools`
- Auth: none declared

> [!NOTE]
> This endpoint is in public preview and is subject to change.

Lists available tools for automations in a repository, including both
GitHub-provided tools and tools provided by custom MCP servers.

GitHub-provided tools are returned in named groups, with a name and
description provided for each tool.

MCP entries describe configured tool selection, not live discovery or runtime
availability. An explicit allowlist is returned in `tools`, with each `id` in
`<server-name>/<tool-name>` format, for example `sentry/list_issues`. An allowlist of
`["*"]` is returned as `supports_wildcard: true` with an empty `tools` array. Server URLs,
authentication headers, environment variables, and credentials are never returned.

For MCP tools, a list of configured MCP servers is provided, along with
the tools allowlisted for each server. Where `supports_wildcard` is true,
any tool that exists on the server can be used.

GitHub App installation access tokens can list available automation tools.
The installation must belong to the repository owner and the token must have
"Agent tasks" repository permissions (read).

To call this endpoint, OAuth app tokens and personal access tokens (classic) need:

* the `repo` scope for private or internal repositories
* the `repo` scope or `public_repo` scope for public repositories

**Fine-grained access tokens for "List available automation tools for a repository"**

This endpoint works with the following fine-grained token types:

* [GitHub App user access tokens](https://docs.github.com/enterprise-cloud@latest/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)
* [GitHub App installation access tokens](https://docs.github.com/enterprise-cloud@latest/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app)
* [Fine-grained personal access tokens](https://docs.github.com/enterprise-cloud@latest/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)

The fine-grained token must have the following permission set:

* "Agent tasks" repository permissions (read)

## Path parameters

- `owner` string, required
- `repo` string, required

## Response `200`

Repository automation tool catalog retrieved successfully

- object: Tools available to the authenticated caller for configuring automations in a repository.
  - `tool_groups` object[], required: Caller-filtered built-in automation tool groups.
    - `id` string, required: The unique identifier of the group.
    - `title` string, required: The human-readable name of the group.
    - `tools` object[], required: The tools currently available in this group.
      - `id` string, required: The unique identifier of the tool accepted when creating or updating an automation.
      - `title` string, required: The human-readable name of the tool.
      - `description` string, required: A short description of what the tool does.
      - `scope` 'read' | 'write': The tool's behavior level. `read` tools only retrieve data. `write` tools can change data. This is not a GitHub token permission.
  - `mcp_servers` object[], required: Configured repository MCP servers, sorted by name. Empty when repository MCP is disabled or unconfigured.
    - `name` string, required: The server name from the repository MCP configuration.
    - `tools` object[], required: Explicitly configured tools with server-qualified IDs, in configuration order. Empty when the server's allowlist is ["*"].
      - `id` string, required: The tool identifier in <server-name>/<tool-name> format, for example sentry/list_issues.
    - `supports_wildcard` boolean, required: Whether the effective repository configuration permits selecting all tools on this server using ["*"], including future tools. Mutually exclusive with a non-empty tools list.

## Other responses

- `401`: Authentication required
- `404`: Repository not found, inaccessible, or automations unavailable

## Changes

- **2026-10-27** `2bbf5140540d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/github/apis/enterprise-cloud/changes/agents/repos/:owner/:repo/automations/available-tools/get.md)

---

[API](https://skmtc.dev/github/apis/enterprise-cloud.md) - [All operations](https://skmtc.dev/github/apis/enterprise-cloud/llms.txt) - [OpenAPI document](https://skmtc.dev/github/apis/enterprise-cloud/revisions/3b55ce443f5c?raw)
