Ir para o conteúdo

MCP

Dê ao seu app de IA as ferramentas do scrapa para ler páginas, pesquisar na web e usar sessões de navegador. Entre com a conta cujos créditos o app vai usar.

Conecte por HTTP

Servidor: https://api.scrapa.app/mcp. Use Streamable HTTP, não o transporte antigo HTTP+SSE. Num cliente com OAuth, adicione essa URL, entre no scrapa e autorize a conta exibida. A configuração abaixo é do Claude Code; outros clientes podem usar outro formato.

.mcp.json (Claude Code)
{
  "mcpServers": {
    "scrapa": {
      "type": "http",
      "url": "https://api.scrapa.app/mcp"
    }
  }
}

Se o cliente aceitar cabeçalhos em vez de OAuth, crie uma chave sc_ só para ele no console e configure este cabeçalho na conexão. Não coloque a chave em prompts, URLs nem arquivos de configuração compartilhados.

Authorization
Authorization: Bearer sc_your_key
Peça ao agente
Leia https://example.com

O agente devolve a página em markdown e mostra quanto a chamada custou.

Instale o plugin do scrapa

O plugin inclui a conexão MCP e as instruções de uso do scrapa. Instale no Claude Code e siga o pedido de acesso.

Claude Code
/plugin marketplace add owe-br/plugins
/plugin install scrapa@owe-br

Ler o guia de instalação do plugin

O que você autoriza

A conexão não é só de leitura. Ela pode ler e mapear sites, pesquisar na web, criar e cancelar lotes, abrir e fechar sessões de navegador e consultar o uso. Tudo acontece na sua conta e pode gastar seus créditos. Não há permissão separada por ferramenta. Antes de uma tarefa grande, peça ao agente para consultar o preço e o saldo com get_usage. Uma sessão continua aberta até expirar ou você fechar, mesmo que desconecte o cliente.

Cada conexão cria uma chave com nome na página Chaves do console. Revogue por lá para encerrar o acesso. As chamadas usam os mesmos créditos e limites da API REST. Conectar não compra nada nem muda seu plano.

Abrir Chaves no console

Agente sem navegador

Terminal
curl -X POST https://api.scrapa.app/oauth/device_authorization \
  -d client_id=scrapa-agent

Inicie o fluxo de dispositivo com client_id=scrapa-agent. Mostre verification_uri_complete e user_code à pessoa e aguarde a autorização. Consulte o endpoint de token respeitando o intervalo recebido e trate authorization_pending e slow_down. O código expira em 10 minutos. Nunca peça a senha da pessoa.

Saiba como tratamos os dados dos apps de IA

Escolha de onde as tools leem

mcp.json
"url": "https://api.scrapa.app/mcp?country=br&city=curitiba"

Coloque `country` no endereço, e um `state` ou `city` dentro dele se precisar. Toda tool que lê a web sai desse lugar, a não ser que o agente peça outro país. A busca usa só o país. Um endereço que não conseguimos ler, como `country=brasil`, dá erro quando o cliente conecta, e não a cada chamada.

As tools

Uma tool por capacidade, com a mesma validação e as mesmas negativas da chamada REST equivalente.

Carregando as tools…

Se a conexão falhar

Um 401 indica que a chave não foi enviada, é inválida ou foi revogada. Entre de novo ou troque a chave no cliente. Se a autorização por OAuth avisar que a conta atingiu o limite de chaves, revogue uma que não usa na página Chaves e conecte de novo.

Um 402 ou 429 informa o limite do plano ou a cota que impediu a chamada. Leia a mensagem antes de tentar de novo: alguns limites pedem mais créditos; outros liberam no horário informado. O MCP usa os mesmos limites do REST.

SSRF_DENIED ou AUP_DENIED indica que a URL não é permitida. Repetir a chamada não resolve. Troque a URL e leia o guia de uso aceitável. Uma página bloqueada não prova que o conteúdo não existe.

Uso aceitável

O que uma tool responde

a tool result
{
  "data": { "url": "https://example.com", "engine": "fetch", "markdown": "# Example…" },
  "meta": { "cost": 1, "creditsRemaining": 987, "requestId": "0f3c…" }
}

O mesmo envelope da chamada REST, para que um agente decidindo se gasta mais um crédito enxergue o custo e o saldo. A única diferença é o screenshot: ele vem como imagem PNG ao lado do JSON, e não em base64 dentro de `data`, para o modelo ver a página. Uma negativa volta como código, não como mensagem achatada.