MCP Tools Reference: dataform.googleapis.com

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

string

Obrigatório. O nome do espaço de trabalho.

pageSize

integer

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

string

Opcional. Token de página recebido de uma chamada SearchFilesRequest anterior. Forneça isso para recuperar a página subsequente.

Ao paginar, todos os outros parâmetros fornecidos para SearchFilesRequest, exceto page_size, precisam corresponder à chamada que forneceu o token da página.

filter

string

Opcional. Filtro opcional para a lista retornada no formato de filtragem. No momento, a filtragem só é compatível com o campo path. Consulte https://google.aip.dev/160 para mais detalhes.

Esquema de saída

Representação voltada ao cliente de uma resposta de pesquisa de arquivos.

SearchFilesResponse

Representação JSON
{
  "searchResults": [
    {
      object (SearchResult)
    }
  ],
  "nextPageToken": string
}
Campos
searchResults[]

object (SearchResult)

Lista de resultados correspondentes.

nextPageToken

string

Opcional. Um token, que pode ser enviado como page_token para recuperar a próxima página. Se esse campo for omitido, não haverá páginas subsequentes.

SearchResult

Representação JSON
{

  // Union field entry can be only one of the following:
  "file": {
    object (FileSearchResult)
  },
  "directory": {
    object (DirectorySearchResult)
  }
  // End of list of possible types for union field entry.
}
Campos
Campo de união entry. O conteúdo da entrada. entry pode ser apenas de um dos tipos a seguir:
file

object (FileSearchResult)

Detalhes quando o resultado da pesquisa é um arquivo.

directory

object (DirectorySearchResult)

Detalhes quando o resultado da pesquisa é um diretório.

FileSearchResult

Representação JSON
{
  "path": string
}
Campos
path

string

Caminho do sistema de arquivos relativo à raiz do espaço de trabalho.

DirectorySearchResult

Representação JSON
{
  "path": string
}
Campos
path

string

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: ❌