---
title: "List Mcp Server Tools"
method: GET
path: "/v1/convai/mcp-servers/{mcp_server_id}/tools"
tags: ["Agents Platform"]
---

# List Mcp Server Tools

`GET /v1/convai/mcp-servers/{mcp_server_id}/tools`

Retrieve all tools available for a specific MCP server configuration.

## Path parameters

- `mcp_server_id` string, required — ID of the MCP Server.

## Query parameters

- `environment` string — Environment whose values are used when the MCP server URL, headers, or auth connection reference environment variables. Mirrors the environment a conversation would run in; defaults to production.

## Headers

- `xi-api-key` string, nullable — Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.

## Response `200`

Successful Response

- ListMCPToolsResponseModel — Response model for testing tools available on an MCP server.
  - `success` boolean, required — Indicates if the operation was successful.
  - `tools` Tool[], required — A list of tools available on the MCP server.
    - `name` string, required
    - `title` string, nullable
    - `description` string, nullable
    - `inputSchema` object, required
    - `execution` ToolExecution — Execution-related properties for a tool (2025-11-25 only).
      - `taskSupport` 'forbidden' | 'optional' | 'required', nullable
    - `outputSchema` object, nullable
    - `icons` Icon[], nullable
      - `src` string, required
      - `mimeType` string, nullable
      - `sizes` string[], nullable
      - `theme` 'light' | 'dark', nullable
    - `annotations` ToolAnnotations — Additional properties describing a Tool to clients. NOTE: all properties in ToolAnnotations are **hints**. They are not guaranteed to provide a faithful description of tool behavior (including descriptive properties like `title`). Clients should never make tool use decisions based on ToolAnnotations received from untrusted servers.
      - `title` string, nullable
      - `readOnlyHint` boolean, nullable
      - `destructiveHint` boolean, nullable
      - `idempotentHint` boolean, nullable
      - `openWorldHint` boolean, nullable
    - `_meta` object, nullable
  - `tool_approval_statuses` MCPToolApprovalStatus[] — Derived approval states for currently discovered tools. Populated only for persisted MCP servers using per-tool approval; otherwise empty.
    - `tool_id` string, required — Canonical MCP tool identifier in the form mcp:<server_id>:<tool_name>
    - `state` 'up_to_date' | 'needs_review' | 'not_approved', required — Whether a discovered MCP tool has an approval and whether it still matches.
    - `approval_policy` 'auto_approved' | 'requires_approval' — Defines the tool-level approval policy.
    - `approved_definition` MCPApprovedToolDefinition — Snapshot of the MCP tool definition that was approved.
      - `description` string — The MCP server-provided tool description at approval time
      - `input_schema` object — The MCP server-provided JSON input schema at approval time
  - `error_message` string, nullable — Error message if the operation was not successful.

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-22** `6fb9be1a19f5` — 1 info
  - added the optional property `tool_approval_statuses` to the response with the `200` status
- **2026-09-04** `b1797a1d5e80` — 1 info
  - added the optional property `tools/items/icons/anyOf[subschema #1]/items/theme` to the response with the `200` status

[Change history](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/changes/v1/convai/mcp-servers/:mcp_server_id/tools/get.md)

---

[API](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation.md) · [All operations](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/llms.txt) · [OpenAPI document](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/revisions/4a6716242c9e?raw)
