---
title: "List agent tools"
method: GET
path: "/api/v1/agents/{agent}/agent_tools"
---

# List agent tools

`GET /api/v1/agents/{agent}/agent_tools`

Returns all tools for the authenticated app, optionally filtered by agent
or tool kind. Both explicitly created tools and tools derived from connected
integrations (installation-sourced tools) are included in the response.

Installation-sourced tools appear with `source: "installation"` and
`status: "active"`. They are synthesized at request time from connected
integrations and do not have a persistent tool ID of the `atl_...` form;
their `id` is a composite of the installation ID and server tool type.

Use the `agent` filter to retrieve tools for a specific agent. Supplying an
`agent` ID that does not belong to the authenticated app returns 404.
Requires app scope.

## Path parameters

- `agent` string, required

## Query parameters

- `kind` string

## Response `200`

Successful response

- AgentToolListResponse — Paginated list response containing the tools attached to an agent.
  - `data` AgentTool[], required — Array of agent tool objects returned for the current request.
    - `agent` string — ID of the agent this tool belongs to (`agi_...`).
    - `app` string — ID of the application that owns this tool (`dap_...`).
    - `async` boolean — `true` when the tool executes asynchronously and returns a task handle rather than an immediate result.
    - `builtin_tool_config` object — Provider-specific configuration for the built-in tool. Present only when `kind` is `"builtin"`. Shape varies by `builtin_tool_key`.
    - `builtin_tool_key` string — Registry key identifying the built-in tool implementation. Present only when `kind` is `"builtin"`.
    - `config` string — ID of the config record (`cfg_...`) containing this tool's full configuration. `null` for inline-only tools.
    - `created_at` string, date-time — When the tool was created (ISO 8601).
    - `description` string — Description of what the tool does, passed to the LLM as part of the tool definition. Resolved from the built-in registry for `kind: "builtin"` tools.
    - `handler_type` string — Execution handler type. One of `"http"`, `"script"`, or `"builtin"`.
    - `id` string, required — Tool ID (`atl_...`).
    - `instruction` string — Optional system-level instruction appended to the agent prompt when this tool is active.
    - `kind` string — Tool kind. One of `"builtin"`, `"custom"`, or `"mcp"`.
    - `last_applied_template_config` string — ID of the AgentToolTemplate config (`cfg_...`) this tool was last provisioned or updated from. `null` for manually created tools.
    - `lookup_key` string — Stable, user-defined identifier for this tool within the agent. Unique per agent.
    - `metadata` object — Arbitrary key-value metadata attached to the tool. Not interpreted by the platform.
    - `name` string — Human-readable name of the tool as exposed to the LLM. Resolved from the built-in registry for `kind: "builtin"` tools.
    - `name_prefix` string — Per-instance namespace prepended to LLM-facing tool names for built-in tools that support multiple instances per agent. `null` when not applicable.
    - `parameters` object — JSON Schema object describing the tool's input parameters as presented to the LLM.
    - `parameters_config` string — ID of the config record (`cfg_...`) storing the tool's parameter schema. `null` when parameters are defined inline.
    - `status` string — Current status of the tool. One of `"active"` or `"disabled"`.
    - `updated_at` string, date-time — When the tool was last modified (ISO 8601).

## Other responses

- `401` — Unauthorized
- `403` — Forbidden - app scope required
- `404` — Agent not found

---

[API](https://skmtc.net/archastro/apis/archastro-platform-api.md) · [All operations](https://skmtc.net/archastro/apis/archastro-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/archastro/archastro-platform-api/versions/a8772b442f86/schema)
