# Conectando seu agente

Tudo que a CLI faz, o seu agente também faz. Há três maneiras, da mais simples
para a mais independente. Em todas, o agente age **com o seu usuário**: ele
enxerga só os seus sites e cada ação fica registrada no seu nome.

> Em qualquer caso, instale a CLI e faça `rapadura login` uma vez
> ([Começando](comecando.md)). É esse login que o agente reaproveita.

## 1. Deixe o agente usar a CLI

Se o seu agente roda comandos no seu computador (Claude Code, Codex CLI,
Cursor em modo agente), basta a CLI estar instalada e logada. Peça em
português mesmo:

> Publique a pasta `./dist` como o hotsite `meetup-sobral` no rapadura, crie
> se não existir, e me diga o endereço.

O agente vai rodar algo como `rapadura publish ./dist --site meetup-sobral --create --json`
e ler o recibo. Para ensiná-lo de uma vez, aponte para o arquivo de
habilidade: <https://agents.rapadura.net/skill.md>. No Claude Code, por
exemplo, salve o conteúdo em `.claude/skills/rapadura/SKILL.md` no projeto.

## 2. Ferramentas MCP locais (recomendado)

A própria CLI é um servidor MCP. Registre uma vez e o agente passa a ter as
ferramentas `publish_site`, `list_sites`, `rollback_site` e companhia, com
upload direto das pastas do seu disco.

**Claude Code**

```sh
claude mcp add rapadura -- rapadura mcp
```

**Cursor** (em `~/.cursor/mcp.json` ou no `.cursor/mcp.json` do projeto)

```json
{ "mcpServers": { "rapadura": { "command": "rapadura", "args": ["mcp"] } } }
```

**Codex CLI** (em `~/.codex/config.toml`)

```toml
[mcp_servers.rapadura]
command = "rapadura"
args = ["mcp"]
```

**Claude Desktop** (em `claude_desktop_config.json`)

```json
{ "mcpServers": { "rapadura": { "command": "rapadura", "args": ["mcp"] } } }
```

Se o agente reclamar que não achou o comando, use o caminho completo
(`~/.local/bin/rapadura`).

## 3. MCP hospedado (sem instalar nada)

Para agentes que rodam fora do seu computador, o gateway oferece MCP por HTTP
em `https://agents.rapadura.net/mcp`, autenticado com o seu token. O token é o
mesmo que o `rapadura login` grava; se precisar de um para outro lugar, faça
login lá ou peça ao administrador.

**Claude Code**

```sh
claude mcp add --transport http rapadura https://agents.rapadura.net/mcp \
  --header "Authorization: Bearer SEU_TOKEN"
```

Nessa modalidade o gateway não lê o seu disco: o `publish_site` recebe os
arquivos inline (`files: [{path, content}]`). Serve bem para o agente que
escreve o HTML na hora.

Conectores do **claude.ai** (que exigem OAuth) ainda não são suportados; está
no plano.

## O que as ferramentas fazem

| ferramenta | para quê |
|---|---|
| `whoami` | quem está logado, papel, escopos |
| `list_zones` | domínios disponíveis, nomes reservados, limites |
| `list_sites`, `show_site` | seus hotsites e o estado de cada um |
| `create_site` | reserva um endereço sem publicar nada |
| `publish_site` | publica uma pasta (local) ou arquivos inline (hospedado); `create=true` cria antes |
| `list_versions`, `rollback_site` | histórico e volta de versão |
| `delete_site` | tira do ar; o agente deve confirmar com você antes |
| `site_logs` | últimas linhas do log de acesso |

Toda escrita devolve um **recibo** lido de volta do servidor: endereço,
versão, o que mudou e avisos. Peça ao agente para te dizer o endereço e a
versão, não só "pronto".
