Ferramenta: search_files
Encontrar arquivos e diretórios em um espaço de trabalho do Dataform que correspondem a um filtro de pesquisa.
Use essa ferramenta em vez de listar diretórios de forma recursiva com a ferramenta query_directory_contents ao localizar um arquivo por nome ou extensão em um repositório grande.
O valor de parâmetro workspace precisa estar no formato projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.
O valor do parâmetro filter restringe os resultados. A filtragem só é compatível com o campo path (por exemplo, path="*.sqlx" ou path="definitions/model.sqlx").
O exemplo de código a seguir mostra como usar curl para chamar a ferramenta MCP search_files.
| Solicitação 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
Configuração que contém parâmetros de solicitação de pesquisa de arquivos.
SearchFilesRequest
| Representação JSON |
|---|
{ "workspace": string, "pageSize": integer, "pageToken": string, "filter": string } |
| Campos | |
|---|---|
workspace |
Obrigatório. O nome do espaço de trabalho. |
pageSize |
Opcional. Número máximo de resultados da pesquisa a serem retornados. O servidor pode retornar menos itens do que o solicitado. Se não for especificado, o servidor escolherá um padrão apropriado. |
pageToken |
Opcional. Token de página recebido de uma chamada Ao paginar, todos os outros parâmetros fornecidos para |
filter |
Opcional. Filtro opcional para a lista retornada no formato de filtragem. No momento, a filtragem só é compatível com o campo |
Esquema de saída
Representação voltada ao cliente de uma resposta de pesquisa de arquivos.
SearchFilesResponse
| Representação JSON |
|---|
{
"searchResults": [
{
object ( |
| Campos | |
|---|---|
searchResults[] |
Lista de resultados correspondentes. |
nextPageToken |
Opcional. Um token, que pode ser enviado como |
SearchResult
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união entry. O conteúdo da entrada. entry pode ser apenas de um dos tipos a seguir: |
|
file |
Detalhes quando o resultado da pesquisa é um arquivo. |
directory |
Detalhes quando o resultado da pesquisa é um diretório. |
FileSearchResult
| Representação JSON |
|---|
{ "path": string } |
| Campos | |
|---|---|
path |
Caminho do sistema de arquivos relativo à raiz do espaço de trabalho. |
DirectorySearchResult
| Representação JSON |
|---|
{ "path": string } |
| Campos | |
|---|---|
path |
Caminho do sistema de arquivos relativo à raiz do espaço de trabalho. |
Anotações de ferramentas
As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando um pedido de confirmação pode ser enviado a um usuário.
Além da string de título, as seguintes dicas booleanas são definidas da seguinte maneira:
readOnlyHint: se for "true", a ferramenta não vai modificar o ambiente. Padrão: false.destructiveHint: se for "true", a ferramenta poderá realizar ações destrutivas. Se for "false", a ferramenta só poderá realizar ações aditivas. Padrão: verdadeiro.idempotentHint: se for "true", chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente dela. Padrão: false.openWorldHint: se for "true", a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for "false", a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.
Dica destrutiva: ❌ | Dica idempotente: ✅ | Dica somente leitura: ✅ | Dica de mundo aberto: ❌