Herramienta: search_files
Busca archivos y directorios en un espacio de trabajo de Dataform que coincidan con un filtro de búsqueda.
Usa esta herramienta en lugar de enumerar directorios de forma recursiva con la herramienta query_directory_contents cuando busques un archivo por nombre o extensión en un repositorio grande.
El valor del parámetro workspace debe tener el formato projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.
El valor del parámetro filter restringe los resultados. El filtrado solo se admite en el campo path (por ejemplo, path="*.sqlx" o path="definitions/model.sqlx").
En la siguiente muestra de código, se muestra cómo usar curl para llamar a la herramienta de MCP search_files.
| Solicitud de 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 }' |
Esquema de entrada
Es la configuración que contiene los parámetros de la solicitud de búsqueda de archivos.
SearchFilesRequest
| Representación JSON |
|---|
{ "workspace": string, "pageSize": integer, "pageToken": string, "filter": string } |
| Campos | |
|---|---|
workspace |
Obligatorio. Es el nombre del espacio de trabajo. |
pageSize |
Es opcional. Es la cantidad máxima de resultados de la búsqueda que se devolverán. Es posible que el servidor devuelva menos elementos de los que se solicitaron. Si no se especifica, el servidor elegirá un valor predeterminado adecuado. |
pageToken |
Es opcional. Es el token de página que se recibió de una llamada a Cuando se realiza la paginación, todos los demás parámetros proporcionados a |
filter |
Es opcional. Es un filtro opcional para la lista que se devuelve en formato de filtrado. Actualmente, el filtrado solo se admite en el campo |
Esquema de salida
Es la representación orientada al cliente de una respuesta de búsqueda de archivos.
SearchFilesResponse
| Representación JSON |
|---|
{
"searchResults": [
{
object ( |
| Campos | |
|---|---|
searchResults[] |
Lista de resultados coincidentes. |
nextPageToken |
Es opcional. Un token, que se puede enviar como |
SearchResult
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión entry. Es el contenido de la entrada. entry puede ser solo uno de los parámetros siguientes: |
|
file |
Detalles cuando el resultado de la búsqueda es un archivo. |
directory |
Son los detalles cuando el resultado de la búsqueda es un directorio. |
FileSearchResult
| Representación JSON |
|---|
{ "path": string } |
| Campos | |
|---|---|
path |
Es la ruta de acceso del sistema de archivos relativa a la raíz del espacio de trabajo. |
DirectorySearchResult
| Representación JSON |
|---|
{ "path": string } |
| Campos | |
|---|---|
path |
Es la ruta de acceso del sistema de archivos relativa a la raíz del espacio de trabajo. |
Anotaciones de herramientas
Las anotaciones de herramientas se envían a los clientes de MCP para describir el riesgo básico de una herramienta determinada. La mayoría de los clientes tratan estas sugerencias como no confiables, pero se pueden usar para decidir cuándo se le puede enviar un mensaje de confirmación a un usuario.
Junto con la cadena de título, se definen las siguientes sugerencias booleanas:
readOnlyHint: Si es verdadero, la herramienta no modifica su entorno. Valor predeterminado: false.destructiveHint: Si es verdadero, la herramienta puede realizar acciones destructivas. Si es falso, la herramienta solo puede realizar acciones aditivas. Valor predeterminado: true.idempotentHint: Si es verdadero, llamar a la herramienta de forma repetida con los mismos argumentos no tendrá ningún efecto adicional en su entorno. Valor predeterminado: false.openWorldHint: Si es verdadero, la herramienta puede interactuar con un "mundo abierto" de entidades externas. Si es falso, la herramienta solo puede interactuar con entidades internas. Por ejemplo, una herramienta de búsqueda web sería de mundo abierto, mientras que una herramienta de memoria no lo sería.
Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌