Pular para o conteúdo

Endpoint MCP

POST/mcpdesde M4token da instância ou admin

Quando usar

Endpoint MCP (streamable HTTP, *stateless*: sem Mcp-Session-Id, cada requisição é autenticada de novo) com o mesmo Authorization: Bearer da API. Com token de instância, as ferramentas operam só naquela instância. O corpo é uma mensagem JSON-RPC do protocolo MCP (initialize, tools/list, tools/call...); o cliente precisa aceitar application/json e text/event-stream.

Num listen_addr de loopback, pedidos com Host que não é loopback são recusados (proteção contra DNS rebinding), exceto o host de public_url, para um proxy reverso na mesma máquina. Clientes na nuvem (ChatGPT, OpenAI) precisam do servidor publicado com TLS. Para clientes locais que iniciam um processo, use litezap mcp (stdio).

Autenticação

Aceita o token da instância (só a própria instância) ou o token admin. Um token de outra instância recebe 403 forbidden (ou 404 not_found em webhooks de outra instância).

Exemplo

Janela do terminal
curl -s -X POST "$LITEZAP_URL/mcp" \
-H "Authorization: Bearer $LITEZAP_TOKEN" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Nos exemplos, LITEZAP_URL é a URL base (ex.: http://localhost:8787) e o token vem deLITEZAP_TOKEN (instância) ou LITEZAP_ADMIN_TOKEN.

Resposta

200 Resposta JSON-RPC (a lista de ferramentas, no exemplo).

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{
"name": "list_instances",
"description": "..."
},
{
"name": "send_message",
"description": "..."
}
]
}
}

Erros

CódigoHTTPRetentávelO que fazer
unauthorized401nãoEnvie Authorization: Bearer <token> válido.
forbidden403nãoUse o token certo (admin, ou o da própria instância).

Todo erro usa o envelope {"error":{"code","message","retryable"}}. Tabela completa em Erros.

Equivalente na Z-API: MCP Server. Veja Migrar da Z-API.