MCP Tools Reference: ces.googleapis.com

Strumento: run_evaluation

Esegue una valutazione per un'app CES

Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP run_evaluation.

Richiesta curl
curl --location 'https://ces.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "run_evaluation",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schema di input

Messaggio di richiesta per McpService.RunEvaluation.

RunEvaluationRequest

Rappresentazione JSON
{
  "app": string,
  "evaluations": [
    string
  ],
  "evaluationDataset": string,
  "displayName": string,
  "appVersion": string
}
Campi
app

string

Il nome della risorsa dell'app per cui eseguire la valutazione. Formato: projects/{project}/locations/{location}/apps/{app}

evaluations[]

string

L'elenco degli ID di valutazione da eseguire.

evaluationDataset

string

L'ID del set di dati di valutazione da utilizzare per l'esecuzione.

displayName

string

Il nome visualizzato dell'esecuzione della valutazione.

appVersion

string

La versione dell'app da utilizzare per l'esecuzione della valutazione.

Schema di output

Questa risorsa rappresenta un'operazione a lunga esecuzione che è il risultato di una chiamata API di rete.

Operazione

Rappresentazione JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
Campi
name

string

Il nome assegnato dal server, che è univoco solo all'interno dello stesso servizio che lo restituisce originariamente. Se utilizzi la mappatura HTTP predefinita, name deve essere un nome risorsa che termina con operations/{unique_id}.

metadata

object

Metadati specifici del servizio associati all'operazione. In genere contengono informazioni sullo stato di avanzamento e metadati comuni come l'ora di creazione. Alcuni servizi potrebbero non fornire questi metadati. Qualsiasi metodo che restituisce un'operazione a lunga esecuzione deve documentare il tipo di metadati, se presenti.

Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@type" contenente un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Se il valore è false, significa che l'operazione è ancora in corso. Se è true, l'operazione viene completata ed è disponibile error o response.

Campo unione result. Il risultato dell'operazione, che può essere un error o una response valida. Se done == false, né errorresponse vengono impostati. Se done == true, è possibile impostare esattamente uno tra error e response. Alcuni servizi potrebbero non fornire il risultato. result può essere solo uno dei seguenti tipi:
error

object (Status)

Il risultato di errore dell'operazione in caso di errore o annullamento.

response

object

La risposta normale e con esito positivo dell'operazione. Se il metodo originale non restituisce dati in caso di esito positivo, ad esempio Delete, la risposta è google.protobuf.Empty. Se il metodo originale è Get/Create/Update standard, la risposta deve essere la risorsa. Per gli altri metodi, la risposta deve avere il tipo XxxResponse, dove Xxx è il nome del metodo originale. Ad esempio, se il nome del metodo originale è TakeSnapshot(), il tipo di risposta dedotto è TakeSnapshotResponse.

Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@type" contenente un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }.

Qualsiasi

Rappresentazione JSON
{
  "typeUrl": string,
  "value": string
}
Campi
typeUrl

string

Identifica il tipo del messaggio Protobuf serializzato con un riferimento URI composto da un prefisso che termina con una barra e il nome del tipo completo.

Esempio: type.googleapis.com/google.protobuf.StringValue

Questa stringa deve contenere almeno un carattere / e il contenuto dopo l'ultimo / deve essere il nome completo del tipo in formato canonico, senza un punto iniziale. Non scrivere uno schema su questi riferimenti URI in modo che i client non tentino di contattarli.

Il prefisso è arbitrario e le implementazioni di Protobuf dovrebbero semplicemente rimuovere tutto fino all'ultima / inclusa per identificare il tipo. type.googleapis.com/ è un prefisso predefinito comune richiesto da alcune implementazioni legacy. Questo prefisso non indica l'origine del tipo e non è previsto che gli URI che lo contengono rispondano a eventuali richieste.

Tutte le stringhe dell'URL del tipo devono essere riferimenti URI validi con la limitazione aggiuntiva (per il formato di testo) che il contenuto del riferimento deve essere costituito solo da caratteri alfanumerici, escape con codifica percentuale e caratteri nel seguente insieme (senza includere i backtick esterni): /-.~_!$&()*+,;=. Nonostante consentiamo le codifiche percentuali, le implementazioni non devono decodificarle per evitare confusione con i parser esistenti. Ad esempio, type.googleapis.com%2FFoo deve essere rifiutato.

Nella progettazione originale di Any, è stata presa in considerazione la possibilità di avviare un servizio di risoluzione dei tipi in questi URL dei tipi, ma Protobuf non ne ha mai implementato uno e considera problematico e un potenziale problema di sicurezza contattare questi URL. Non tentare di contattare gli URL dei tipi.

value

string (bytes format)

Contiene una serializzazione Protobuf del tipo descritto da type_url.

Una stringa con codifica in base64.

Stato

Rappresentazione JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Campi
code

integer

Il codice di stato, che deve essere un valore enum di google.rpc.Code.

message

string

Un messaggio di errore rivolto agli sviluppatori, che deve essere in inglese. Qualsiasi messaggio di errore rivolto agli utenti deve essere localizzato e inviato nel campo google.rpc.Status.details o localizzato dal client.

details[]

object

Un elenco di messaggi contenenti i dettagli dell'errore. Esiste un insieme comune di tipi di messaggi da utilizzare per le API.

Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@type" contenente un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }.

Annotazioni dello strumento

Le annotazioni dello strumento vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare una richiesta di conferma a un utente.

Oltre alla stringa del titolo, i seguenti suggerimenti booleani sono definiti come segue:

  • readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.
  • destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.
  • idempotentHint: se è true, la chiamata ripetuta dello strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.
  • openWorldHint: se è true, lo strumento può interagire con un "open world" di entità esterne. Se è false, lo strumento può interagire solo con le entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria non lo sarebbe.

Suggerimento distruttivo: ❌ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ❌ | Suggerimento open world: ❌