> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Listar servidores MCP

GET https://api.elevenlabs.io/v1/convai/mcp-servers

Obtiene todas las configuraciones de servidores MCP disponibles en el espacio de trabajo.

Reference: https://elevenlabs.io/docs/eleven-agents/api-reference/mcp/list

## Servers

- `https://api.elevenlabs.io` (Production, default)
- `https://api.us.elevenlabs.io` (Production US)
- `https://api.eu.residency.elevenlabs.io` (Production EU)
- `https://api.in.residency.elevenlabs.io` (Production India)
- `https://api.sg.residency.elevenlabs.io` (Production Singapore)

## Response

### 200

Respuesta correcta.

- `mcp_servers` (list of McpServerResponseModel, required)

## Errors

### 422 Mcp Servers List Request Unprocessable Entity Error

Error de validación

- `detail` (list of ValidationError, optional)

## Types

### McpServerResponseModel

Modelo de respuesta que representa una configuración de servidor MCP.

- `id` (string, required)
- `config` (McpServerConfigOutput, required)
- `metadata` (McpServerMetadataResponseModel, required) — Los metadatos del servidor MCP
- `access_info` (ResourceAccessInfo, optional) — La información de acceso del servidor MCP.
- `dependent_agents` (list of McpServerResponseModelDependentAgentsItem, optional) — Lista de agentes que dependen de este servidor MCP.

### ValidationError

- `loc` (list of ValidationErrorLocItem, required)
- `msg` (string, required)
- `type` (string, required)

### McpServerConfigOutput

- `url` (McpServerConfigOutputUrl, required) — La URL del servidor MCP. Si contiene un secreto, guárdala como secreto del espacio de trabajo; de lo contrario, guárdala como una cadena de texto sin formato. Debe usar https.
- `name` (string, required)
- `approval_policy` (enum, optional, default: require_approval_all) — Define la política de aprobación a nivel de servidor MCP para la ejecución de herramientas.
  - Allowed values: `auto_approve_all`, `require_approval_all`, `require_approval_per_tool`
- `tool_approval_hashes` (list of McpToolApprovalHash, optional) — Lista de hashes de aprobación de herramientas para la aprobación por herramienta cuando approval_policy es REQUIRE_APPROVAL_PER_TOOL
- `transport` (enum, optional, default: SSE) — El tipo de transporte utilizado para conectarse al servidor MCP
  - Allowed values: `SSE`, `STREAMABLE_HTTP`
- `secret_token` (McpServerConfigOutputSecretToken, optional) — El token secreto (cabecera Authorization) almacenado como secreto del espacio de trabajo o secreto integrado
- `request_headers` (map from string to McpServerConfigOutputRequestHeadersValue, optional) — Las cabeceras incluidas en la solicitud
- `request_meta` (map from string to McpServerConfigOutputRequestMetaValue, optional) — Entradas enviadas en el campo `_meta` de MCP de las solicitudes tools/call. Los valores pueden ser escalares JSON o referencias a un secreto del espacio de trabajo, una variable dinámica o una variable de entorno que se resuelve en cada llamada.
- `auth_connection` (McpServerConfigOutputAuthConnection, optional) — Conexión de autenticación opcional que se usará para autenticarse con este servidor MCP
- `description` (string, optional, default: )
- `pre_tool_speech` (enum, optional, default: auto) — Controla si el agente habla antes de llamar a esta herramienta. 'auto' (predeterminado) decide según la latencia reciente de la herramienta, 'force' siempre hace que el agente hable y 'off' lo desactiva por completo independientemente de la latencia. Se aplica a todas las herramientas de este servidor MCP, salvo que se anule para alguna herramienta.
  - Allowed values: `auto`, `force`, `off`
- `interruption_mode` (enum, optional, default: allow) — Controla si el usuario puede interrumpir al agente durante esta llamada a la herramienta. 'allow' (predeterminado) permite al usuario interrumpir en cualquier momento, 'disable_during_tool' suprime las interrupciones solo mientras se ejecuta la herramienta y 'disable_during_tool_and_turn' las suprime mientras se ejecuta la herramienta y durante la respuesta posterior del agente. Se aplica a todas las herramientas de este servidor MCP, salvo que se anule para alguna herramienta.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `tool_call_sound` (enum, optional) — Tipo de sonido de llamada a herramienta predefinido que se reproduce durante la ejecución para todas las herramientas de este servidor MCP
  - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `tool_call_sound_behavior` (enum, optional, default: auto) — Determina cuándo debe reproducirse el sonido de llamada de la herramienta para todas las herramientas de este servidor MCP.
  - Allowed values: `auto`, `always`
- `execution_mode` (enum, optional, default: immediate) — Determina cuándo y cómo se ejecutan todas las herramientas de este servidor MCP: 'immediate' ejecuta la herramienta de inmediato cuando la solicita el LLM, 'post_tool_speech' espera a que el agente termine de hablar antes de ejecutarla y 'async' ejecuta la herramienta en segundo plano sin bloquear; es la mejor opción para operaciones de larga duración.
  - Allowed values: `immediate`, `post_tool_speech`, `async`
- `response_timeout_secs` (integer, optional, default: 30) — El tiempo máximo en segundos que se espera a que finalice cada llamada a la herramienta MCP. Debe estar entre 5 y 300 segundos, ambos incluidos.
- `tool_config_overrides` (list of McpToolConfigOverrideOutput, optional) — Lista de anulaciones de configuración por herramienta que reemplazan los valores predeterminados del servidor para herramientas específicas
- `disable_compression` (boolean, optional, default: false) — Indica si se debe desactivar la compresión HTTP para este servidor MCP. Actívala si el servidor no admite respuestas comprimidas.
- `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — OBSOLETO: usa `pre_tool_speech` en su lugar. Si es true, todas las herramientas de este servidor MCP requerirán locución antes de su ejecución.
- `disable_interruptions` (boolean, optional, default: false, deprecated) — OBSOLETO: usa `interruption_mode` en su lugar. Si es true, el usuario no podrá interrumpir al agente mientras se ejecute cualquier herramienta de este servidor MCP.

### McpServerMetadataResponseModel

- `created_at` (integer, required)
- `owner_user_id` (string, optional)

### ResourceAccessInfo

- `is_creator` (boolean, required) — Indica si el usuario que realiza la solicitud es el creador del agente
- `creator_name` (string, required) — Nombre del creador del agente
- `creator_email` (string, required) — Correo electrónico del creador del agente
- `role` (enum, required) — El rol del usuario que realiza la solicitud
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `anonymous_access_level_override` (enum, optional) — El nivel de acceso para usuarios anónimos. Si es None, el recurso no se comparte públicamente.
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `access_source` (enum, optional) — Por qué el usuario solicitante tiene acceso a este recurso. 'creator' = quien realiza la llamada es el propietario. 'explicit' = quien realiza la llamada (o uno de sus grupos del espacio de trabajo) figura en role_to_group_ids, además del grupo general de todos del espacio de trabajo. 'workspace_default' = el grupo general de todos del espacio de trabajo figura en role_to_group_ids (todos los miembros no anónimos del espacio de trabajo, incluidos los administradores, ven este recurso). 'workspace_admin' = quien realiza la llamada es administrador del espacio de trabajo y el puesto de administrador es la *única* vía de acceso; reservado para documentos que nadie más puede ver. Permite que la interfaz revele por qué un usuario que omite los permisos de administrador ve un documento que no se compartió explícitamente con él.
  - Allowed values: `creator`, `explicit`, `workspace_admin`, `workspace_default`

### McpServerResponseModelDependentAgentsItem

- `type`: `available`
  - `access_level` (enum, required)
    - Allowed values: `admin`, `editor`, `commenter`, `viewer`
  - `created_at_unix_secs` (integer, required)
  - `id` (string, required)
  - `name` (string, required)
  - `referenced_resource_ids` (list of string, optional) — Si el agente es una dependencia transitiva, contiene los ID de los recursos de los que depende directamente el agente.
- `type`: `unknown`
  - `id` (string, required)
  - `referenced_resource_ids` (list of string, optional) — Si el agente es una dependencia transitiva, contiene los ID de los recursos de los que depende directamente el agente.

### ValidationErrorLocItem

### McpServerConfigOutputUrl

La URL del servidor MCP. Si contiene un secreto, guárdala como secreto del espacio de trabajo; de lo contrario, guárdala como una cadena de texto sin formato. Debe usar https.

### McpToolApprovalHash

Modelo para almacenar hashes de aprobación de herramientas para la aprobación por herramienta.

- `tool_name` (string, required) — El nombre de la herramienta MCP
- `tool_hash` (string, required) — Hash SHA256 de los parámetros y la descripción de la herramienta
- `approval_policy` (enum, optional, default: requires_approval) — La política de aprobación de esta herramienta.
  - Allowed values: `auto_approved`, `requires_approval`

### McpServerConfigOutputSecretToken

El token secreto (cabecera Authorization) almacenado como secreto del espacio de trabajo o secreto integrado

### McpServerConfigOutputRequestHeadersValue

### McpServerConfigOutputRequestMetaValue

### McpServerConfigOutputAuthConnection

Conexión de autenticación opcional que se usará para autenticarse con este servidor MCP

### McpToolConfigOverrideOutput

- `tool_name` (string, required) — El nombre de la herramienta MCP
- `pre_tool_speech` (enum, optional, default: auto) — Si se establece, anula la configuración pre_tool_speech del servidor para esta herramienta.
  - Allowed values: `auto`, `force`, `off`
- `interruption_mode` (enum, optional, default: allow) — Si se establece, anula la configuración interruption_mode del servidor para esta herramienta.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `tool_call_sound` (McpToolConfigOverrideOutputToolCallSound, optional) — Anula la configuración tool_call_sound del servidor para esta herramienta. Un nombre de sonido reproduce ese sonido; 'off' anula el sonido por silencio; null significa no anularla (heredar el valor predeterminado del servidor).
- `tool_call_sound_behavior` (enum, optional, default: auto) — Si se establece, anula la configuración tool_call_sound_behavior del servidor para esta herramienta.
  - Allowed values: `auto`, `always`
- `execution_mode` (enum, optional, default: immediate) — Si se establece, anula la configuración execution_mode del servidor para esta herramienta.
  - Allowed values: `immediate`, `post_tool_speech`, `async`
- `response_timeout_secs` (integer, optional) — Si se establece, anula el tiempo de espera de respuesta del servidor para esta herramienta MCP (en segundos).
- `assignments` (list of DynamicVariableAssignment, optional) — Asignaciones de variables dinámicas para esta herramienta MCP
- `input_overrides` (map from string to McpToolConfigOverrideOutputInputOverridesValue, optional) — Asignación de ruta JSON a configuración de anulación de entrada
- `response_mocks` (list of ToolResponseMockConfigOutput, optional) — Respuestas simuladas con condiciones de parámetros opcionales. Se evalúan de arriba abajo; prevalece la primera coincidencia.
- `force_pre_tool_speech` (boolean, optional, deprecated) — OBSOLETO: usa `pre_tool_speech` en su lugar. Si se establece, sustituye la configuración force_pre_tool_speech del servidor para esta herramienta.
- `disable_interruptions` (boolean, optional, deprecated) — OBSOLETO: usa `interruption_mode` en su lugar. Si se establece, sustituye la configuración disable_interruptions del servidor para esta herramienta.

### ConvAiSecretLocator

Se usa para hacer referencia a un secreto del almacén de secretos del agente.

- `secret_id` (string, required)

### ConvAiUserSecretDbModel

Modelo de secretos específico del usuario que no se comparte con otros usuarios de un espacio de trabajo.

- `name` (string, required)
- `encrypted_value` (string, required)
- `nonce` (string, required)
- `id` (string, required)

### ConvAiDynamicVariable

Se usa para hacer referencia a una variable dinámica.

- `variable_name` (string, required)

### ConvAiEnvVarLocator

Se usa para hacer referencia a una variable de entorno mediante su etiqueta.

- `env_var_label` (string, required)

### AuthConnectionLocator

Se usa para hacer referencia a una conexión de autenticación del almacén de conexiones de autenticación del espacio de trabajo.

- `auth_connection_id` (string, required)

### EnvironmentAuthConnectionLocator

Hace referencia mediante una etiqueta a una variable de entorno de tipo 'auth_connection'. En tiempo de ejecución, se resuelve en la conexión de autenticación del entorno actual, y recurre al entorno predeterminado si es necesario.

- `env_var_label` (string, required)

### McpToolConfigOverrideOutputToolCallSound

Anula la configuración tool_call_sound del servidor para esta herramienta. Un nombre de sonido reproduce ese sonido; 'off' anula el sonido por silencio; null significa no anularla (heredar el valor predeterminado del servidor).

### DynamicVariableAssignment

Configuración para extraer valores de las respuestas de herramientas y asignarlos a variables dinámicas.

- `dynamic_variable` (string, required) — El nombre de la variable dinámica a la que se asignará el valor extraído
- `value_path` (string, required) — Ruta de notación por puntos para extraer el valor de la fuente (por ejemplo, 'user.name' o 'data.0.id')
- `source` ("response", optional) — La fuente de la que extraer el valor. Actualmente solo se admite 'response'.
- `sanitize` (boolean, optional, default: false) — Si es true, el valor de esta asignación se eliminará de la respuesta de la herramienta antes de enviarla al LLM y a la transcripción, pero se seguirá procesando para la asignación de variables.
- `preserve_native_type` (boolean, optional, default: false) — Si es true, los valores no escalares (listas, objetos) extraídos de la respuesta de la herramienta se almacenan con su tipo nativo en lugar de convertirse en cadenas JSON. Activa esta opción para usar directamente los arrays extraídos como variables dinámicas de lista.

### McpToolConfigOverrideOutputInputOverridesValue

- `source`: `constant`
  - `constant_value` (ConstantSchemaOverrideConstantValue, optional) — El valor constante que se usará
- `source`: `dynamic_variable`
  - `dynamic_variable` (string, required) — El nombre de la variable dinámica que se debe usar
- `source`: `llm`
  - `prompt` (string, optional) — Sustitución del prompt para el LLM. Si no se proporciona, se utiliza la descripción del esquema original.
- `source`: `omit`

### ToolResponseMockConfigOutput

- `mock_result` (string, required) — El valor de retorno que ve el LLM cuando esta simulación está activa.
- `parameter_conditions` (list of UnitTestToolCallParameter, optional) — Si la lista está vacía, el mock se activará siempre.
- `is_error` (boolean, optional, default: false) — Si es true, el resultado del mock se presenta al LLM como un error de herramienta en lugar de como un resultado correcto.

### ConstantSchemaOverrideConstantValue

El valor constante que se usará

### UnitTestToolCallParameter

- `eval` (UnitTestToolCallParameterEval, required)
- `path` (string, required)

### UnitTestToolCallParameterEval

- `type`: `anything`
- `type`: `exact`
  - `expected_value` (string, required) — El valor de cadena exacto con el que debe coincidir el parámetro.
- `type`: `llm`
  - `description` (string, required) — Una descripción de la estrategia de evaluación que se utilizará para la prueba.
- `type`: `regex`
  - `pattern` (string, required) — Un patrón regex con el que comparar la respuesta del agente.

## Examples

**Response**

```json
{
  "mcp_servers": [
    {
      "id": "id",
      "config": {
        "url": "url",
        "name": "name",
        "tool_config_overrides": [
          {
            "tool_name": "tool_name",
            "assignments": [
              {
                "dynamic_variable": "user_name",
                "value_path": "user.name",
                "source": "response",
                "sanitize": false,
                "preserve_native_type": false
              }
            ]
          }
        ]
      },
      "metadata": {
        "created_at": 1
      },
      "access_info": {
        "is_creator": true,
        "creator_name": "John Doe",
        "creator_email": "john.doe@example.com",
        "role": "admin",
        "access_source": "creator"
      },
      "dependent_agents": [
        {
          "type": "available",
          "access_level": "admin",
          "created_at_unix_secs": 1,
          "id": "id",
          "name": "name"
        }
      ]
    }
  ]
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/mcp-servers"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/mcp-servers';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/convai/mcp-servers"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.elevenlabs.io/v1/convai/mcp-servers")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.elevenlabs.io/v1/convai/mcp-servers")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.elevenlabs.io/v1/convai/mcp-servers');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/mcp-servers");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/mcp-servers")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```