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

# Recupera override della configurazione dello strumento MCP

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

Recupera le sostituzioni di configurazione per uno specifico strumento MCP.

Reference: https://elevenlabs.io/docs/eleven-agents/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 del server MCP.
- `tool_name` (string, required) — Nome dello strumento MCP per cui recuperare le sostituzioni della configurazione.

## Response

### 200

Risposta riuscita

- `tool_name` (string, required) — Il nome dello strumento MCP
- `pre_tool_speech` (enum, optional, default: auto) — Se impostato, sostituisce l'impostazione pre_tool_speech del server per questo strumento.
  - Allowed values: `auto`, `force`, `off`
- `interruption_mode` (enum, optional, default: allow) — Se impostato, sostituisce l'impostazione interruption_mode del server per questo strumento.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `tool_call_sound` (McpToolConfigOverrideOutputToolCallSound, optional) — Sostituisce l'impostazione tool_call_sound del server per questo strumento. Un nome di suono riproduce il suono corrispondente; 'off' imposta l'assenza di suono (silenzio); null indica di non sostituire l'impostazione (viene ereditato il valore predefinito del server).
- `tool_call_sound_behavior` (enum, optional, default: auto) — Se impostato, sostituisce l'impostazione tool_call_sound_behavior del server per questo strumento.
  - Allowed values: `auto`, `always`
- `execution_mode` (enum, optional, default: immediate) — Se impostato, sostituisce l'impostazione execution_mode del server per questo strumento.
  - Allowed values: `immediate`, `post_tool_speech`, `async`
- `response_timeout_secs` (integer, optional) — Se impostato, sostituisce il timeout di risposta del server per questo strumento MCP, in secondi.
- `assignments` (list of DynamicVariableAssignment, optional) — Assegnazioni di variabili dinamiche per questo strumento MCP
- `input_overrides` (map from string to McpToolConfigOverrideOutputInputOverridesValue, optional) — Mappatura del path JSON alla configurazione di override dell'input
- `response_mocks` (list of ToolResponseMockConfigOutput, optional) — Risposte mock con condizioni opzionali sui parametri. Vengono valutate dall'alto verso il basso; viene scelta la prima corrispondenza.
- `force_pre_tool_speech` (boolean, optional, deprecated) — DEPRECATO: usa invece `pre_tool_speech`. Se impostato, sostituisce l'impostazione force_pre_tool_speech del server per questo strumento.
- `disable_interruptions` (boolean, optional, deprecated) — DEPRECATO: usa invece `interruption_mode`. Se impostato, sostituisce l'impostazione disable_interruptions del server per questo strumento.

## Errors

### 404 Tool Configs Get Request Not Found Error

Override della configurazione dello strumento non trovato

- `any`

### 422 Tool Configs Get Request Unprocessable Entity Error

Errore di convalida

- `detail` (list of ValidationError, optional)

## Types

### McpToolConfigOverrideOutputToolCallSound

Sostituisce l'impostazione tool_call_sound del server per questo strumento. Un nome di suono riproduce il suono corrispondente; 'off' imposta l'assenza di suono (silenzio); null indica di non sostituire l'impostazione (viene ereditato il valore predefinito del server).

### DynamicVariableAssignment

Configurazione per estrarre valori dalle risposte degli strumenti e assegnarli alle variabili dinamiche.

- `dynamic_variable` (string, required) — Il nome della variabile dinamica a cui assegnare il valore estratto
- `value_path` (string, required) — Path in notazione puntata per estrarre il valore dalla sorgente (ad esempio, 'user.name' o 'data.0.id')
- `source` ("response", optional) — La sorgente da cui estrarre il valore. Al momento è supportato solo 'response'.
- `sanitize` (boolean, optional, default: false) — Se true, il valore di questa assegnazione verrà rimosso dalla risposta dello strumento prima dell'invio all'LLM e alla trascrizione, ma verrà comunque elaborato per l'assegnazione delle variabili.
- `preserve_native_type` (boolean, optional, default: false) — Se true, i valori non scalari, come elenchi e oggetti, estratti dalla risposta dello strumento vengono archiviati nel loro tipo nativo anziché essere convertiti in stringhe JSON. Abilita questa opzione per usare direttamente gli array estratti come variabili dinamiche di elenco.

### McpToolConfigOverrideOutputInputOverridesValue

- `source`: `constant`
  - `constant_value` (ConstantSchemaOverrideConstantValue, optional) — Il valore costante da usare
- `source`: `dynamic_variable`
  - `dynamic_variable` (string, required) — Il nome della variabile dinamica da usare
- `source`: `llm`
  - `prompt` (string, optional) — Sostituzione del prompt per l'LLM. Se non fornita, viene utilizzata la descrizione originale dello schema.
- `source`: `omit`

### ToolResponseMockConfigOutput

- `mock_result` (string, required) — Il valore restituito che l'LLM vede quando questo mock è attivo.
- `parameter_conditions` (list of UnitTestToolCallParameter, optional) — Se l'elenco è vuoto, il mock si attiverà sempre.
- `is_error` (boolean, optional, default: false) — Se true, il risultato mock viene presentato all'LLM come errore dello strumento anziché come risultato riuscito.

### ValidationError

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

### ConstantSchemaOverrideConstantValue

Il valore costante da usare

### UnitTestToolCallParameter

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

### ValidationErrorLocItem

### UnitTestToolCallParameterEval

- `type`: `anything`
- `type`: `exact`
  - `expected_value` (string, required) — Il valore stringa esatto a cui il parametro deve corrispondere.
- `type`: `llm`
  - `description` (string, required) — Una descrizione della strategia di valutazione da usare per il test.
- `type`: `regex`
  - `pattern` (string, required) — Un pattern regex rispetto al quale confrontare la risposta dell'agente.

## Examples

**Response**

```json
{
  "tool_name": "tool_name",
  "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": "user_name",
      "value_path": "user.name",
      "source": "response",
      "sanitize": false,
      "preserve_native_type": false
    }
  ],
  "input_overrides": {
    "key": {
      "source": "constant",
      "constant_value": "constant_value"
    }
  },
  "response_mocks": [
    {
      "mock_result": "mock_result",
      "parameter_conditions": [
        {
          "eval": {
            "type": "anything"
          },
          "path": "path"
        }
      ],
      "is_error": true
    }
  ],
  "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()
```