> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.basement.chat/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.basement.chat/_mcp/server.

# Ferramentas

O Gateway tem um só conjunto de ferramentas. Um agente chama as ferramentas pelo MCP. Um programa chama as mesmas ferramentas pelos SDKs ou pela API HTTP, onde cada ferramenta é uma operação.

A coluna **Precisa de** diz o que o nível de acesso da chave tem que permitir. Veja [Chaves e níveis de acesso](/pt-br/concepts/keys-and-access-levels).

## Identidade

| Ferramenta | O que faz                                                                     | Precisa de     |
| ---------- | ----------------------------------------------------------------------------- | -------------- |
| `whoami`   | Responde a organização, o nome e o prefixo da chave, os escopos e a validade. | Qualquer chave |

## Documentos

| Ferramenta            | O que faz                                                           | Precisa de          |
| --------------------- | ------------------------------------------------------------------- | ------------------- |
| `list_docs`           | Lista os documentos: ID, título, versão.                            | Documentos          |
| `read_doc`            | Lê o markdown de um documento. O Basement registra a versão lida.   | Documentos          |
| `list_doc_versions`   | Lista as versões de um documento, da mais nova para a mais antiga.  | Documentos          |
| `create_doc`          | Cria um documento.                                                  | Documentos, escrita |
| `update_doc`          | Substitui o corpo de um documento. Cria uma nova versão.            | Documentos, escrita |
| `edit_doc`            | Substitui um trecho do texto de um documento. Cria uma nova versão. | Documentos, escrita |
| `rename_doc`          | Renomeia um documento.                                              | Documentos, escrita |
| `delete_doc`          | Exclui um documento.                                                | Documentos, escrita |
| `restore_doc_version` | Restaura uma versão anterior.                                       | Documentos, escrita |
| `share_doc`           | Liga ou desliga o link público de um documento.                     | Documentos, escrita |

## Arquivos, skills e pastas

| Ferramenta             | O que faz                                                                                                   | Precisa de          |
| ---------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------- |
| `list_files`           | Lista os arquivos nas pastas que a chave pode usar.                                                         | Documentos          |
| `read_file`            | Lê os dados de um arquivo e um link para baixar. Em um arquivo de texto pequeno, também o texto.            | Documentos          |
| `list_skills`          | Lista as skills nas pastas que a chave pode usar.                                                           | Documentos          |
| `list_folders`         | Lista as pastas que a chave pode usar, e o acesso dela a cada uma.                                          | Documentos          |
| `write_file`           | Envia um arquivo de até 5 MB, ou uma nova versão de um arquivo.                                             | Documentos, escrita |
| `edit_file`            | Substitui um trecho de um arquivo de texto.                                                                 | Documentos, escrita |
| `write_skill`          | Cria uma skill, ou uma nova versão de uma skill.                                                            | Documentos, escrita |
| `edit_skill`           | Substitui um trecho de uma skill.                                                                           | Documentos, escrita |
| `create_folder`        | Cria uma pasta privada.                                                                                     | Documentos, escrita |
| `share_folder`         | Pede para compartilhar uma pasta. O Basement envia um código por e-mail para a pessoa que conectou a chave. | Documentos, escrita |
| `confirm_folder_share` | Aplica o compartilhamento com esse código.                                                                  | Documentos, escrita |

## Busca e texto

| Ferramenta   | O que faz                                                                             | Precisa de |
| ------------ | ------------------------------------------------------------------------------------- | ---------- |
| `search`     | Encontra documentos, arquivos e skills. Responde até 25 itens.                        | Documentos |
| `find_text`  | Encontra uma frase em um documento ou arquivo de texto. Responde as linhas que batem. | Documentos |
| `read_lines` | Lê um intervalo de linhas de um documento ou arquivo de texto.                        | Documentos |

## Tarefas

| Ferramenta    | O que faz                                                                   | Precisa de       |
| ------------- | --------------------------------------------------------------------------- | ---------------- |
| `list_tasks`  | Lista as tarefas, por padrão as abertas.                                    | Tarefas          |
| `create_task` | Cria uma tarefa.                                                            | Tarefas, escrita |
| `update_task` | Muda a situação, o título ou o prazo de uma tarefa, ou troca o responsável. | Tarefas, escrita |

## Serviços conectados

| Ferramenta                | O que faz                                                                     | Precisa de                                                            |
| ------------------------- | ----------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `list_connected_services` | Lista os serviços e as conexões que a chave pode usar.                        | Um serviço                                                            |
| `list_service_tools`      | Lista as ferramentas de um serviço, cada uma marcada como leitura ou escrita. | Esse serviço                                                          |
| `execute_service_tool`    | Executa uma ferramenta de um serviço.                                         | Esse serviço. Uma ferramenta de escrita precisa de leitura e escrita. |

As ferramentas de cada serviço vêm do próprio serviço. Chame `list_service_tools` para ver quais são, com os argumentos. Veja [Serviços conectados](/pt-br/concepts/connected-services).

## Nomes nos SDKs

Nos SDKs, cada ferramenta é um método. A tabela mostra alguns; a [Referência da API](/pt-br/api-reference) lista todos.

| Ferramenta             | TypeScript                                           | Python                                                    |
| ---------------------- | ---------------------------------------------------- | --------------------------------------------------------- |
| `whoami`               | `basement.whoami()`                                  | `basement.whoami()`                                       |
| `list_docs`            | `basement.docs.list()`                               | `basement.docs.list()`                                    |
| `read_doc`             | `basement.docs.read({ docId })`                      | `basement.docs.read(doc_id=...)`                          |
| `search`               | `basement.search({ query })`                         | `basement.search(query=...)`                              |
| `find_text`            | `basement.text.find({ docId, query })`               | `basement.text.find(doc_id=..., query=...)`               |
| `create_task`          | `basement.tasks.create({ title })`                   | `basement.tasks.create(title=...)`                        |
| `execute_service_tool` | `basement.services.execute({ toolSlug, arguments })` | `basement.services.execute(tool_slug=..., arguments=...)` |