API & MCP
MCP, para agentes de IA
O Model Context Protocol deixa um agente de IA (Claude, ChatGPT via conectores, ou o seu próprio) usar a ionluz como ferramenta. Aponte o cliente MCP para https://app.ionluz.com.br/api/mcp com a sua chave e o agente ganha cinco ferramentas prontas, sem você escrever integração alguma. A chave de teste também conecta: o agente explora tudo em modo simulação antes de a conta virar assinante.
Configuração (clientes com MCP remoto/HTTP)
{
"mcpServers": {
"ionluz": {
"url": "https://app.ionluz.com.br/api/mcp",
"headers": { "Authorization": "Bearer ilz_sua_chave" }
}
}
}Ferramentas expostas
// tools/list devolve:
[
{ "name": "quote_solar", "description": "Gera um orçamento de energia solar a partir do consumo..." },
{ "name": "check_coverage", "description": "Lista quais faixas (kW de saída de inversor) × fase o integrador atende..." },
{ "name": "list_kits", "description": "Lista os kits disponíveis para a conta, com kWp, módulos e se são precificáveis..." },
{ "name": "get_proposal", "description": "Recupera uma proposta já gravada desta conta pelo id..." },
{ "name": "coverage_status", "description": "Diz o que falta configurar para a API responder cotações..." }
]quote_solar, cota a partir do consumo. Por padrão simula; passepersist: truepara gravar a proposta e receber os links. Ao gravar,consent: trueé obrigatório (consentimento LGPD do titular, sem ele a ferramenta devolve o erroconsentimento-obrigatorio).idempotencyKey(argumento opcional dequote_solar, só compersist), mesma garantia daIdempotency-Keydo REST: repetir a mesma chave com os mesmos argumentos devolve a mesma proposta(idempotent: truenostructuredContent), sem duplicar o lead; duas chamadas simultâneas nunca criam duas. As chaves são independentes das do REST. SemidempotencyKey, não há deduplicação, retries podem duplicar.check_coverage, lista as faixas atendidas, para o agente cotar só o que existe.list_kits, lista os kits disponíveis para a conta, com potência em kWp, número de módulos, fases compatíveis e se o kit é precificável. Aceita os filtrosfase,somentePrecificaveisesomenteMeus. Preço de custo fica de fora, é dado interno da conta.get_proposal, recupera uma proposta já gravada desta conta peloid, com origem, data, kWp, valor, dados do cliente e links assinados. Chave viva apenas.coverage_status, diz em linguagem clara o que falta configurar para a API responder: plano, chave, régua de cobertura por fase e formação de preço. É a ferramenta a chamar quandoquote_solardevolverfaixa-nao-atendidaousem-preco-configurado.
Com a chave de teste,
quote_solar ignora persist e devolve a simulação avisando disso no texto, get_proposal responde chave-de-teste e as demais funcionam normalmente. O initialize já anuncia que a conexão é de teste, e as 50 chamadas do dia contam por tools/call, o handshake é livre.O transporte é Streamable HTTP (JSON-RPC 2.0). A negociação (initialize), a listagem (tools/list) e a execução (tools/call) seguem o protocolo padrão, qualquer cliente MCP compatível conecta. Falhas internas chegam como erro JSON-RPC estruturado (-32603, erro-interno) ou como resultado de ferramenta com isError, nunca um 500 sem envelope.
A mesma lógica e o mesmo preço da API REST valem no MCP: o agente devolve exatamente o que o seu
/v1/quote devolveria, e consome os mesmos limites (ver Limites e headers).API v1 · ionluz, orçamentos solares. Dúvidas? Cite o
requestId ao escrever para suporte@ionluz.com.br.