Strumento: search_files
Trova file e directory in un workspace Dataform che corrispondono a un filtro di ricerca.
Utilizza questo strumento anziché elencare in modo ricorsivo le directory con lo strumento query_directory_contents quando individui un file per nome o estensione in un repository di grandi dimensioni.
Il valore parametro workspace deve essere nel formato projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.
Il valore parametro filter limita i risultati. Il filtro è supportato solo per il campo path (ad esempio, path="*.sqlx" o path="definitions/model.sqlx").
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP search_files.
| Richiesta curl |
|---|
curl --location 'https://dataform.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_files", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
Configurazione contenente i parametri della richiesta di ricerca dei file.
SearchFilesRequest
| Rappresentazione JSON |
|---|
{ "workspace": string, "pageSize": integer, "pageToken": string, "filter": string } |
| Campi | |
|---|---|
workspace |
Obbligatorio. Il nome del workspace. |
pageSize |
Facoltativo. Il numero massimo di risultati di ricerca da restituire. Il server potrebbe restituire meno elementi di quelli richiesti. Se non specificato, il server sceglierà un valore predefinito appropriato. |
pageToken |
Facoltativo. Token di pagina ricevuto da una precedente chiamata Durante la paginazione, tutti gli altri parametri forniti a |
filter |
Facoltativo. Filtro facoltativo per l'elenco restituito nel formato di filtro. Al momento, il filtro è supportato solo per il campo |
Schema di output
Rappresentazione rivolta al cliente di una risposta alla ricerca di file.
SearchFilesResponse
| Rappresentazione JSON |
|---|
{
"searchResults": [
{
object ( |
| Campi | |
|---|---|
searchResults[] |
Elenco dei risultati corrispondenti. |
nextPageToken |
Facoltativo. Un token, che può essere inviato come |
SearchResult
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione entry. I contenuti della voce. entry può essere solo uno dei seguenti tipi: |
|
file |
Dettagli quando il risultato di ricerca è un file. |
directory |
Dettagli quando il risultato di ricerca è una directory. |
FileSearchResult
| Rappresentazione JSON |
|---|
{ "path": string } |
| Campi | |
|---|---|
path |
Percorso del file system relativo alla radice dello spazio di lavoro. |
DirectorySearchResult
| Rappresentazione JSON |
|---|
{ "path": string } |
| Campi | |
|---|---|
path |
Percorso del file system relativo alla radice dello spazio di lavoro. |
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 a un utente una richiesta di conferma.
Oltre alla stringa del titolo, sono definiti i seguenti suggerimenti booleani:
readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se il valore è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.idempotentHint: se è true, chiamare ripetutamente lo 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 no.
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ✅ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌