Endpoints
Servidor MCP
| Ambiente | URL |
|---|---|
| Produção | https://mcp.kadu.ia.br |
| Staging | https://mcp.staging.kadu.ia.br |
A URL do servidor é a raiz do host — é esse endereço inteiro que você cola num cliente MCP. Ela é também o resource identifier OAuth (a audience do token), e é por isso que não carrega caminho nenhum.
Rotas servidas
| Método | Caminho | Para quê |
|---|---|---|
POST | / | Uma mensagem JSON-RPC por requisição. Toda a superfície de tools, resources e prompts. |
GET | /.well-known/oauth-protected-resource | Metadata do recurso protegido (RFC 9728). Pública, sem autenticação. |
GET | / | 405 (depois da autenticação) — este servidor é stateless e não abre stream servidor→cliente. |
DELETE | / | 204 (depois da autenticação) — não há sessão para encerrar. |
No host MCP, qualquer outro caminho responde 404 em JSON, com qualquer
método:
{ "error": { "code": "NOT_FOUND", "message": "Not found." } }
Documentação, console e API
| URL | |
|---|---|
| Documentação | https://docs.kadu.ia.br |
| Agent Console (produção) | https://app.kadu.ia.br — é para lá que aponta o link de aprovação |
| Agent Console (staging) | https://app.staging.kadu.ia.br |
| API v1 (produção) | https://api.kadu.ia.br/v1 |
| API v1 (staging) | https://api.staging.kadu.ia.br/v1 |
Cada ambiente tem a sua audience: um token emitido para o MCP de staging não vale no de produção, e vice-versa. Não reutilize o token entre ambientes.
:::info Host separado, de propósito O servidor MCP tem host próprio em vez de um caminho no host da API ou do console. São três razões: o documento de descoberta OAuth precisa morar na raiz do host; nenhum cookie de sessão do console é enviado para esta origem, o que elimina por construção uma classe inteira de problemas de confused deputy; e o token do MCP tem audience própria, que não se confunde com a da API. :::
Desenvolvimento local
Em desenvolvimento o endpoint responde em /mcp no host do app
(http://localhost:3030/mcp), e o documento de descoberta em
/.well-known/oauth-protected-resource. Fora do desenvolvimento, o /mcp só
responde quando a requisição chega pela borda do host MCP; pelo host do console
ou da API, a resposta é 404.