Servidor MCP da Messora
A Messora expõe um Model Context Protocol (MCP) server remoto em Streamable HTTP. Ele permite que agentes LLM (Claude, Codex, Cursor e outros clientes MCP) chamem scrape, crawl, search e consultem jobs e uso — reutilizando a mesma conta, a mesma API key e a mesma pool de créditos da REST API.Endpoint
O endpoint
/health é independente do backend e retorna {"status": "ok", "service": "messora-mcp"} sem exigir autenticação.
Autenticação
O MCP usa exclusivamente o headerAuthorization: Bearer:
Configurando clientes
Claude Desktop
O Claude Desktop usa um config JSON em~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):
O Claude Desktop não suporta interpolação de variável de ambiente no config.
Use um placeholder e substitua, ou coloque a key diretamente — o arquivo é
local e não é versionado.
Cursor
O Cursor usa um arquivo.mcp.json na raiz do projeto ou ~/.cursor/mcp.json:
Cursor → Settings → MCP → Refresh para carregar o servidor.
Codex CLI
O Codex usa um arquivoconfig.toml em ~/.codex/config.toml:
MCP Inspector
- Transport type: Streamable HTTP
- URL:
https://mcp.messora.dev/mcp - Authentication: Bearer token
- Token env var:
MESSORA_API_KEY
Nunca coloque a API key literalmente em arquivos de configuração versionados.
Para o Codex, use sempre variável de ambiente (
$MESSORA_API_KEY). Para
Claude Desktop e Cursor, o config é local (não versionado) — substitua o
placeholder pela sua key.Ferramentas disponíveis
O servidor expõe exatamente cinco tools:scrape_url
Extrai conteúdo de uma URL. Consome crédito somente quando o backend retorna
scrape_status = success.
start_crawl
Inicia um crawl assíncrono e retorna job_id. Consulte get_job até o estado
virar SUCCESS, FAILURE ou REVOKED.
start_search
Inicia uma busca premium assíncrona e retorna job_id.
get_job
Consulta o estado de um job de crawl ou search.
Estados:
PENDING → STARTED → SUCCESS | FAILURE | REVOKED
Recomendamos polling a cada 2 segundos com backoff. O adaptador MCP não faz
polling interno nem retry automático de operações cobradas.
get_usage
Consulta plano, créditos usados e saldo da conta. Sem argumentos de produto.
Mesmo payload do REST GET /account/usage.
Fluxo assíncrono: start_* → get_job
Crawl e search são assíncronos no backend. O fluxo recomendado é:
Tamanho de resposta
Toda resposta de tool é limitada a 100.000 caracteres. Se excedir, campos textuais (markdown, rawHtml) são truncados preservando estrutura, status,
metering e JSON válido:
Erros
O MCP é um adaptador fino: auth, billing, rate limit e jobs pertencem ao backend
FastAPI. Os mesmos limites e custos da REST API se aplicam.