# Agentes e MCP

Dê a um agente um token com o qual ele não consegue gastar demais e conecte-o via MCP.

## Dê ao agente um token só dele

Em **API & agents**, crie um token para o agente só com o necessário:

- Escopos **read** e **rent** (não **manage** nem **billing**).
- Um **limite de gastos** em dólares, uma **duração máxima de aluguel** em horas e uma **data de validade**.

O token aparece uma única vez. Guarde-o no cofre de segredos do agente, nunca em um prompt nem em um repositório. Um token com limite precisa definir um horário de desligamento em todo aluguel, e um aluguel que passaria do limite é recusado.

## Conecte-se pelo MCP

O endpoint MCP é `$ARRAKIS_URL/mcp`, com o token do agente. Ele usa o HTTP com streaming do MCP, com respostas em JSON simples.

Claude Code:

```sh
claude mcp add --transport http arrakis $ARRAKIS_URL/mcp --header "Authorization: Bearer ark_..."
```

Cursor (`mcp.json`):

```json
{
  "mcpServers": {
    "arrakis": {
      "url": "$ARRAKIS_URL/mcp",
      "headers": { "Authorization": "Bearer ark_..." }
    }
  }
}
```

## Ferramentas

| Ferramenta | O que faz |
|---|---|
| `search_gpus` | Encontra máquinas, as melhores primeiro: o que a GPU pode fazer, o preço e a confiabilidade do host. Recomenda uma e diz por quê. Filtros: tipo de GPU, mínimo e máximo de GPUs, memória, preço máximo por GPU-hora, país. |
| `get_market_summary` | Preços e disponibilidade em tempo real por família de GPU. |
| `get_balance` | O que o saldo pode pagar. |
| `rent_gpu` | Aluga uma máquina e a retorna com o comando SSH. Inicializa um `template_id` ou qualquer `image` pública. Gera cobrança. |
| `deploy_model` | Serve um modelo do Hugging Face com vLLM, SGLang ou llama.cpp em uma máquina dimensionada para ele e retorna o endpoint e a chave de API ([Implantar um modelo](/pt/docs/models)). Gera cobrança. |
| `list_images` | As imagens do Arrakis e as que você salvou, para usar em `template_id`. |
| `list_instances` | Suas máquinas. |
| `get_instance` | Uma máquina, atualizada, com qualquer aviso do host dela. |
| `get_events` | O que aconteceu com suas máquinas: prontas, encerradas e por quê (se o host as encerrou ou não) e os avisos dos hosts delas. Todo resultado de ferramenta também traz os alertas do último dia. |
| `terminate_instance` | Desliga e remove uma máquina. |
| `schedule_removal` | Define quando uma máquina se remove sozinha. |
| `get_partner_earnings` | Parceiros: seus códigos e seu link, os clientes que você trouxe, o que você ganhou e se o programa de parceiros está aberto. |
| `join_partner_program` | Inscreve a conta no programa de parceiros, se o titular dela concordar ([/partners](/pt/partners)). |

## Repetir nunca aluga duas vezes

Dê a cada aluguel planejado uma `idempotency_key` estável. Repetir com a mesma chave retorna a mesma máquina em vez de gerar uma segunda cobrança. Pelo MCP, uma chamada sem chave que repete a mesma máquina, o mesmo nome e as mesmas horas em até 10 minutos também retorna a primeira máquina.

## Um bom primeiro prompt

> Alugue uma B200 por 3 horas, rode python eval.py, traga os resultados e depois pare a máquina.

Mais: [toda a documentação](/pt/docs.md) · [OpenAPI](/openapi.json) · [llms.txt](/pt/llms.txt)
