Servidor MCP
Servidor Model Context Protocol (MCP) da Minha CNH — expõe os dados de CNH como tools nativas para agentes de IA e chatbots. Endpoint, modelo assíncrono e visão geral.
O servidor MCP é o produto irmão da API REST: expõe os mesmos dados de CNH da Minha CNH via Model Context Protocol, para que agentes de IA e chatbots consumam relatórios como tools nativas — sem escrever um cliente HTTP manual contra os endpoints REST.
São soluções complementares sobre a mesma base: use a API REST para integrações server-to-server tradicionais (backends, ETLs, filas); use o MCP quando um agente de IA (ou um cliente desktop como Claude Desktop) precisa descobrir e chamar as ferramentas sozinho. Ambos compartilham a mesma autenticação, o mesmo billing pós-pago e os mesmos rate limits.
Endpoint
POST https://minhacnh.doutormultas.com.br/api/mcpTransporte Streamable HTTP, stateless: cada requisição é uma mensagem JSON-RPC 2.0 completa,
com o Bearer token no header Authorization. Não há mcp-session-id, SSE ou estado entre chamadas.
Como conectar
Há duas formas de conectar, detalhadas em Conectar:
- API key da organização (server-to-server) — o backend/agente da sua organização usa a mesma
chave
cnh_live_da API REST. - OAuth por usuário — para clientes de IA desktop (Claude Desktop, Claude Cowork, ChatGPT) que esperam o fluxo moderno de conector MCP.
As dez ferramentas disponíveis (paridade total com a API REST) estão catalogadas em Ferramentas.
Modelo assíncrono
A geração do relatório leva alguns minutos. request_report não bloqueia esperando o resultado —
escolha uma das três formas de recebê-lo:
- Polling — chame
get_reportperiodicamente com oreportIdatéstatusvirarDELIVEREDouERROR. - Espera bounded — chame
wait_for_reportcom oreportId; ela faz o polling internamente e retorna assim que o relatório terminar (ou uma respostaPROCESSINGse otimeoutSecondsacabar antes), poupando o loop manual de polling num agente síncrono. - Webhook — configure a URL de webhook em Configurações → API e receba o evento
report.delivered(oureport.failed) assim que o pipeline terminar. Ver Webhooks.
Para integrações fire-and-forget, o webhook é a forma recomendada — evita polling desnecessário.