> 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.

# Obter substituição de configuração da ferramenta MCP

GET https://api.elevenlabs.io/v1/convai/mcp-servers/{mcp_server_id}/tool-configs/{tool_name}

Recupere substituições de configuração para uma ferramenta MCP específica.

Reference: https://elevenlabs.io/docs/api-reference/mcp/tool-configuration/get

## 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)

## Request

### Path parameters

- `mcp_server_id` (string, required) — ID do servidor MCP.
- `tool_name` (string, required) — Nome da ferramenta MCP para a qual recuperar as substituições de configuração.

## Response

### 200

Resposta bem-sucedida

- `tool_name` (string, required) — O nome da ferramenta MCP
- `pre_tool_speech` (enum, optional, nullable, default: auto) — Se definido, substitui a configuração pre_tool_speech do servidor para esta ferramenta.
  - Allowed values: `auto`, `force`, `off`
- `interruption_mode` (enum, optional, nullable, default: allow) — Se definido, substitui a configuração interruption_mode do servidor para esta ferramenta.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `tool_call_sound` (McpToolConfigOverrideOutputToolCallSound, optional, nullable) — Substitui a configuração tool_call_sound do servidor para esta ferramenta. Um nome de som reproduz esse som; 'off' substitui por nenhum som (silêncio); null significa não substituir (herdar o padrão do servidor).
- `tool_call_sound_behavior` (enum, optional, nullable, default: auto) — Se definido, substitui a configuração tool_call_sound_behavior do servidor para esta ferramenta.
  - Allowed values: `auto`, `always`
- `execution_mode` (enum, optional, nullable, default: immediate) — Se definido, substitui a configuração execution_mode do servidor para esta ferramenta.
  - Allowed values: `immediate`, `post_tool_speech`, `async`
- `response_timeout_secs` (integer, optional, nullable) — Se definido, substitui o tempo limite de resposta do servidor para esta ferramenta MCP (segundos).
- `assignments` (list of DynamicVariableAssignment, optional) — Atribuições de variáveis dinâmicas para esta ferramenta MCP
- `input_overrides` (map from string to McpToolConfigOverrideOutputInputOverrides, optional, nullable) — Mapeamento do caminho JSON para a configuração de substituição de entrada
- `response_mocks` (list of ToolResponseMockConfig-Output, optional, nullable) — Respostas simuladas com condições de parâmetros opcionais. Avaliadas de cima para baixo; a primeira correspondência prevalece.
- `force_pre_tool_speech` (boolean, optional, nullable, deprecated) — DESCONTINUADO: use `pre_tool_speech`. Se definido, substitui a configuração force_pre_tool_speech do servidor para esta ferramenta.
- `disable_interruptions` (boolean, optional, nullable, deprecated) — DESCONTINUADO: use `interruption_mode`. Se definido, substitui a configuração disable_interruptions do servidor para esta ferramenta.

## Errors

### 404 Not Found Error

Substituição de configuração da ferramenta não encontrada

- `any`

### 422 Unprocessable Entity Error

Erro de validação

- `detail` (list of ValidationError, optional)

## Types

### McpToolConfigOverrideOutputToolCallSound

Substitui a configuração tool_call_sound do servidor para esta ferramenta. Um nome de som reproduz esse som; 'off' substitui por nenhum som (silêncio); null significa não substituir (herdar o padrão do servidor).

### DynamicVariableAssignment

Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas.

- `dynamic_variable` (string, required) — O nome da variável dinâmica à qual atribuir o valor extraído
- `value_path` (string, required) — Caminho em notação de ponto para extrair o valor da origem, por exemplo, 'user.name' ou 'data.0.id'.
- `source` ("response", optional, default: response) — A origem da qual extrair o valor. No momento, apenas 'response' é compatível.
- `sanitize` (boolean, optional, default: false) — Se for true, o valor desta atribuição será removido da resposta da ferramenta antes de ser enviado ao LLM e à transcrição, mas ainda será processado para atribuição de variável.
- `preserve_native_type` (boolean, optional, default: false) — Se for true, valores não escalares (listas, objetos) extraídos da resposta da ferramenta serão armazenados em seu tipo nativo, em vez de serem convertidos em strings JSON. Ative esta opção para usar arrays extraídos diretamente como variáveis dinâmicas de lista.

### McpToolConfigOverrideOutputInputOverrides

- `source`: `constant` (ConstantSchemaOverride)
  - `constant_value` (WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue, required, nullable) — O valor constante a ser usado
- `source`: `dynamic_variable` (DynamicVariableSchemaOverride)
  - `dynamic_variable` (string, required) — O nome da variável dinâmica a ser usada
- `source`: `llm` (LLMSchemaOverride)
  - `prompt` (string, optional, nullable) — Substituição do prompt para o LLM. Se não for fornecida, será usada a descrição do esquema original.
- `source`: `omit` (OmitSchemaOverride)

### ToolResponseMockConfig-Output

- `mock_result` (string, required) — O valor retornado que o LLM vê quando este mock está ativo.
- `parameter_conditions` (list of UnitTestToolCallParameter, optional) — Se a lista estiver vazia, o mock sempre será ativado.
- `is_error` (boolean, optional, default: false) — Se for true, o resultado do mock será apresentado ao LLM como um erro da ferramenta, em vez de um resultado bem-sucedido.

### ValidationError

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

### WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue

O valor constante a ser usado

### UnitTestToolCallParameter

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

### ValidationErrorLocItems

### UnitTestToolCallParameterEval

- `type`: `anything` (MatchAnythingParameterEvaluationStrategy)
- `type`: `exact` (ExactParameterEvaluationStrategy)
  - `expected_value` (string, required) — O valor exato da string ao qual o parâmetro deve corresponder.
- `type`: `llm` (LLMParameterEvaluationStrategy)
  - `description` (string, required) — Uma descrição da estratégia de avaliação a ser usada no teste.
- `type`: `regex` (RegexParameterEvaluationStrategy)
  - `pattern` (string, required) — Um padrão regex para comparar com a resposta do agente.

## Examples

**Response**

```json
{
  "tool_name": "string",
  "pre_tool_speech": "auto",
  "interruption_mode": "allow",
  "tool_call_sound": "typing",
  "tool_call_sound_behavior": "auto",
  "execution_mode": "immediate",
  "response_timeout_secs": 1,
  "assignments": [
    {
      "dynamic_variable": "string",
      "value_path": "string",
      "source": "response",
      "sanitize": false,
      "preserve_native_type": false
    }
  ],
  "input_overrides": {},
  "response_mocks": [
    {
      "mock_result": "string",
      "parameter_conditions": [
        {
          "eval": {
            "description": "string",
            "type": "string"
          },
          "path": "string"
        }
      ],
      "is_error": false
    }
  ],
  "force_pre_tool_speech": true,
  "disable_interruptions": true
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/mcp-servers/mcp_server_id/tool-configs/tool_name"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/mcp-servers/mcp_server_id/tool-configs/tool_name';
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/mcp_server_id/tool-configs/tool_name"

	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/mcp_server_id/tool-configs/tool_name")

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/mcp_server_id/tool-configs/tool_name")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

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

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

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/mcp-servers/mcp_server_id/tool-configs/tool_name");
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/mcp_server_id/tool-configs/tool_name")! 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()
```