---
title: "Action catalog for agentstack.execute (canonical MCP action ids)"
method: GET
path: "/mcp/actions"
tags: ["MCP"]
---

# Action catalog for agentstack.execute (canonical MCP action ids)

`GET /mcp/actions`

## Request

- Base URL: `https://api.agentstack.tech` (the document declares no server; this is the origin it was published from)
- URL: `https://api.agentstack.tech/mcp/actions`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Return all available MCP tool actions grouped by domain.
This is primarily for AI/tooling discovery of valid `action` values.
Supports ``If-None-Match`` and ``?since_etag=`` against the catalog ETag.
When ``?since_etag=<stale>&delta=1`` and the revision is known, returns changed rows only.
Response JSON includes ``catalog_etag`` for clients that cannot read headers.

## Query parameters

- `schemas` string: inputSchema attachment: none (default, no JSON schemas), public, hot (descriptor pilots), or all
- `domain` string, nullable: Filter by action domain prefix
- `q` string, nullable: Substring filter on action/summary
- `effect_kind` string, nullable: Filter by effect.kind
- `required_cap` string, nullable: Filter by required_cap
- `audience` string: tenant|operator|all
- `limit` integer
- `cursor` string, nullable: Pagination offset cursor

## Response `200`

Successful Response

- unknown

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/agentstack/apis/agentstack-core-api.md) · [All operations](https://skmtc.dev/agentstack/apis/agentstack-core-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentstack/apis/agentstack-core-api/revisions/79f4a4dd8813?raw)
