---
title: "Single tool or MCP action describe (alias-aware)"
method: GET
path: "/mcp/tools/{tool_name}"
tags: ["MCP"]
---

# Single tool or MCP action describe (alias-aware)

`GET /mcp/tools/{tool_name}`

## 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/tools/{tool_name}`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Canonical MCP actions use discovery.describe wire; execute tool uses fat schemas when density=full.

## Path parameters

- `tool_name` string, required

## Query parameters

- `density` string, nullable: slim|default|full|summary — same as GET /mcp/actions/{name} for MCP actions
- `descriptor` string, nullable: Alias for density (discovery.describe descriptor=)
- `detail` string, nullable: Alias for descriptor/density (discovery.describe detail=)
- `expand` string, nullable: Comma-separated describe expand panels (schema, instruction, …)
- `action_params` string, nullable: JSON object — slice for effect/preflight on describe

## Response `200`

Successful Response

- object

## 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/8ecf3406e74a?raw)
