---
title: "List Tools"
method: GET
path: "/v1/agents/sessions/tools"
tags: ["Agent Sessions"]
---

# List Tools

`GET /v1/agents/sessions/tools`

List all available agent tools.

Use this endpoint to discover available tools before creating a session.

Tool Categories:
- search: Tools for searching data (execute_retriever)
- read: Tools for reading resources (list_*, get_*)
- create: Tools for creating resources (create_*) - requires confirmation
- update: Tools for updating resources (update_*) - requires confirmation
- delete: Tools for deleting resources (delete_*) - requires confirmation
- upload: Tools for file uploads (upload_object)

Note: Write operations (create, update, delete) require user confirmation
via the /confirmations endpoint before execution.

Args:
    request: FastAPI request with tenant context
    category: Optional filter by tool category

Returns:
    ListToolsResponse with available tools

Example:
    ```bash
    # List all tools
    curl -X GET http://localhost:8000/v1/agents/tools \
      -H "Authorization: Bearer {api_key}" \
      -H "X-Namespace: {namespace_id}"

    # List only search tools
    curl -X GET "http://localhost:8000/v1/agents/tools?category=search" \
      -H "Authorization: Bearer {api_key}" \
      -H "X-Namespace: {namespace_id}"
    ```

## Query parameters

- `category` string, nullable — Filter by tool category

## Response `200`

Successful Response

- ListToolsResponse — Response for listing available agent tools. Use this endpoint to discover available tools before creating a session. Pass tool names to available_tools in AgentConfig when creating a session. Attributes: results: List of available tools with descriptions total: Total number of tools available categories: Unique tool categories Example: ```python response = ListToolsResponse( results=[ ToolInfo(name="smart_search", description="...", category="search"), ToolInfo(name="list_collections", description="...", category="read"), ], total=25, categories=["search", "read", "create"] ) ```
  - `results` ToolInfo[], required — Available tools
    - `name` string, required — Tool name
    - `description` string, required — Tool description
    - `category` string, required — Tool category
    - `parameters` object — Parameter definitions
    - `required_params` string[] — Required parameters
    - `requires_confirmation` boolean — Whether the tool requires user confirmation
  - `total` integer, required — Total number of tools
  - `categories` string[], required — Unique tool categories

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

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