InsumerAPI
Autenticação de carteira para agentes de IA: envie uma carteira blockchain e condições, receba um sim ou não assinado em 37 chains, nunca o saldo. Hospedado em https://api.insumermodel.com/mcp (sem chave, 10 ferramentas) ou execute localmente com npx -y mcp-server-insumer (27 ferramentas).
Servidor MCP hospedado
npx add-mcp 'https://api.insumermodel.com/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
mcp-server-insumer
Servidor MCP para InsumerAPI: infraestrutura de acesso baseado em condições. Envie uma carteira e condições, receba um booleano assinado em 37 blockchains. Sem exposição de saldos, sem exigência de identidade. Cada resultado é assinado e verificável offline contra as chaves publicadas, e em blockchains EVM uma prova Merkle opcional permite que o verificador confira o saldo contra o cabeçalho do bloco sem confiar na API.
Permite que agentes de IA (Claude Desktop, Cursor, Windsurf e qualquer cliente compatível com MCP) adicionem acesso baseado em condições a qualquer fluxo de trabalho: verifique condições on-chain, descubra comerciantes, gere códigos de desconto assinados e integre novos comerciantes.
Em produção: AsterPay, uma plataforma de pagamentos regulamentada, usa atestações da InsumerAPI em suas verificações de confiança de comércio agêntico ERC-8183 em produção. Estudo de caso.
Também disponível como: LangChain (26 ferramentas, PyPI) | ElizaOS (10 ações, npm) | OpenAI GPT (GPT Store) | insumer-verify (verificação no lado do cliente, npm)
Guia completo da API de Verificação de Agentes de IA: cobre todas as 37 blockchains, perfis de confiança, protocolos de comércio e verificação de assinaturas.
Início Rápido
Claude Desktop
Adicione ao seu claude_desktop_config.json:
{
"mcpServers": {
"insumer": {
"command": "npx",
"args": ["-y", "mcp-server-insumer"],
"env": {
"INSUMER_API_KEY": "insr_live_..."
}
}
}
}
Cursor / Windsurf
Adicione às suas configurações MCP:
{
"insumer": {
"command": "npx",
"args": ["-y", "mcp-server-insumer"],
"env": {
"INSUMER_API_KEY": "insr_live_..."
}
}
}
Obtenha uma chave: sem cadastro, sem painel, sem senha
Três caminhos, todos fornecem uma chave insr_live_... funcional em segundos com 100 leituras/dia e 10 créditos de verificação. Uma chave gratuita por e-mail.
Opção A: deixe seu agente fazer isso. Inicie o servidor sem chave. Seu agente de IA pode chamar a ferramenta insumer_setup com seu e-mail para gerar uma chave gratuita instantaneamente. Adicione-a à sua configuração e reinicie.
Opção B: terminal.
curl -s -X POST https://api.insumermodel.com/v1/keys/create \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "appName": "MCP Server", "tier": "free"}'
Opção C: navegador. Digite seu e-mail em insumermodel.com e a chave aparecerá inline.
Defina-a como INSUMER_API_KEY na sua configuração.
Já tem uma chave? Gerencie o uso, faça recargas ou faça upgrade em insumermodel.com/developers/account/.
Opção D: pague por chamada com x402 (sem chave alguma)
Em vez de uma chave, defina INSUMER_PAYMENT_KEY como uma carteira Base descartável financiada com alguns dólares em USDC. Chamadas medidas (insumer_attest, insumer_wallet_trust, insumer_batch_wallet_trust) são então pagas inline via x402: o servidor solicita um preço, assina uma autorização USDC EIP-3009 na Base e tenta novamente. Sem cadastro, sem créditos, sem painel.
{
"mcpServers": {
"insumer": {
"command": "npx",
"args": ["-y", "mcp-server-insumer"],
"env": { "INSUMER_PAYMENT_KEY": "0x<throwaway-wallet-private-key>" }
}
}
}
- Apenas USDC na Base; a carteira precisa de USDC mas não de ETH (a liquidação é sem gás).
- Cada chamada gasta alguns centavos (atestação $0,05, confiança $0,15). Use uma carteira descartável dedicada financiada com um valor pequeno, nunca uma carteira com fundos significativos.
- Cada cotação é verificada antes de a carteira assinar. O servidor paga apenas o endereço de recebimento da própria InsumerAPI (
0xAd982CB19aCCa2923Df8F687C0614a7700255a23), apenas em USDC na Base, e nunca mais que o limite: $3,00 por chamada por padrão, o preço da maior chamada atual (um lote de confiança de 10 carteiras com provas Merkle). Qualquer outra coisa é recusada e nada é assinado. DefinaINSUMER_MAX_PAYMENT_USDCpara alterar o limite, por exemplo,"0.25"se você apenas atestar. A chamada mais barata custa $0,05, então um limite abaixo disso recusa todas as chamadas pagas (o servidor avisa na inicialização). Um valor malformado desativa o pagamento por chamada em vez de recorrer ao padrão. - Se tanto
INSUMER_API_KEYquantoINSUMER_PAYMENT_KEYestiverem definidos, a chave (créditos) é usada.
Endpoint hospedado (sem instalação)
O mesmo servidor roda em https://api.insumermodel.com/mcp via MCP streamable HTTP, para clientes que se conectam por URL: plugins ChatGPT e conectores de modo desenvolvedor, conectores personalizados do claude.ai e plataformas de agentes hospedadas que não podem executar um pacote npm. Cole a URL; não há nada para configurar.
Ele é compartilhado e anônimo, então atende às dez ferramentas que fazem sentido sem identidade do chamador (HOSTED_TOOLS: chaves de assinatura, atestação, modelos de conformidade, confiança de carteira e confiança em lote, diretórios de comerciantes e tokens, verificação gratuita de desconto, validação de código), e as ferramentas medidas compartilham uma cota diária gratuita. Além disso, uma chamada é recusada com um ponteiro para cá. Para sua própria cota, gerenciamento de chaves e créditos ou as ferramentas de comerciante, execute o pacote localmente com sua chave como acima.
Para hospedar o servidor você mesmo, compile-o e execute node build/http.js com INSUMER_API_KEY definido (PORT, INSUMER_HOSTED_TOOLS e INSUMER_DAILY_CAP são opcionais), ou incorpore-o: createInsumerServer(options) da raiz do pacote retorna um servidor configurado para qualquer transporte.
O Que Você Recebe de Volta
Quando seu agente chama insumer_attest, você recebe uma atestação assinada com ECDSA:
{
"ok": true,
"data": {
"attestation": {
"id": "ATST-A7C3E1B2D4F56789",
"pass": true,
"results": [
{
"condition": 0,
"met": true,
"label": "USDC >= 1000 on Ethereum",
"type": "token_balance",
"chainId": 1,
"evaluatedCondition": {
"chainId": 1,
"contractAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"operator": "gte",
"threshold": "1000",
"type": "token_balance"
},
"conditionHash": "0x8a3b...",
"blockNumber": "0x1799043",
"blockTimestamp": "2026-03-26T20:04:23.000Z"
}
],
"passCount": 1,
"failCount": 0,
"attestedAt": "2026-02-28T12:34:57.000Z",
"expiresAt": "2026-02-28T13:04:57.000Z"
},
"sig": "NgA7BO8SAildiTrgIQY2UyXsBrySZknkP85pT2Zqv8Hq0KsCsB8DRFVMkXgnXtCXrbb726Is6k4LyyBYU+f/Pw==",
"kid": "insumer-attest-v2",
"pqSig": "<base64 ML-DSA-65 signature>",
"pqKid": "insumer-attest-pq1"
},
"meta": {
"version": "1.0",
"timestamp": "2026-02-28T12:34:57.000Z",
"creditsRemaining": 99,
"creditsCharged": 1
}
}
O sig é uma assinatura ECDSA P-256 (base64, P1363 r||s, 88 caracteres). O kid identifica a chave e seleciona os bytes assinados: insumer-attest-v2 assina "insumer.attestation.v2\n" + canonical_json({v: 2, id, pass, results, attestedAt}) (chaves ordenadas em todos os níveis); insumer-attest-v1 assina o JSON.stringify puro de {id, pass, results, attestedAt} em ordem de inserção. Desde 2026-09-01, toda resposta de atestação e confiança também carrega um acompanhante pós-quântico, pqSig e pqKid (ML-DSA-65 sobre a tag de domínio pós-quântico mais a mesma pré-imagem clássica que o kid seleciona), adicionados ao lado de sig e kid sem alterá-los. O conditionHash é um SHA-256 da lógica exata de condição que foi avaliada.
Sem saldos. Sem valores. Apenas um verdadeiro/falso criptograficamente assinado.
Para condições XRPL, os resultados incluem ledgerIndex, ledgerHash (hash de ledger validado) e trustLineState: { frozen: boolean } em vez de blockNumber/blockTimestamp. Condições nativas de XRP incluem ledgerIndex e ledgerHash, mas não trustLineState. Linhas de confiança congeladas causam met: false.
Autenticação de Carteira (JWT)
Adicione format: "jwt" aos parâmetros da ferramenta insumer_attest para receber a atestação como um token bearer JWT padrão:
{
"wallet": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"conditions": [ ... ],
"format": "jwt"
}
A resposta inclui um campo adicional jwt contendo um JWT assinado com ES256 e, ao lado dele, um irmão pqJwt (um JWS compacto com alg ML-DSA-65 carregando as mesmas declarações, assinado sob insumer-attest-pq1). O token jwt é verificável por qualquer biblioteca JWT padrão via endpoint JWKS em GET /v1/jwks, o que o torna compatível com Kong, Nginx, Cloudflare Access, AWS API Gateway e outros middlewares que aceitam tokens bearer JWT.
Verifique a Resposta
Seu agente recebe a atestação. Seu aplicativo deve verificá-la. Instale insumer-verify (também no PyPI para Python: pip install insumer-verify, mesmas verificações, mesmos 27 vetores de teste publicados):
npm install insumer-verify
import { verifyAttestation } from "insumer-verify";
// attestationResponse = the full API envelope {ok, data: {attestation, sig, kid, pqSig, pqKid}, meta}
// Do NOT pass attestationResponse.data; the function expects the outer envelope
const result = await verifyAttestation(attestationResponse, {
jwksUrl: "https://insumermodel.com/.well-known/jwks.json",
maxAge: 120, // reject if block data is older than 2 minutes
});
if (result.valid) {
// Signature verified, condition hashes match, not expired
const pass = attestationResponse.data.attestation.pass;
console.log(`Attestation ${pass ? "passed" : "failed"} all conditions`);
} else {
console.log("Verification failed:", result.checks);
}
Isso relata cinco veredictos independentes: assinatura ECDSA, integridade do hash de condição, frescor do bloco, expiração da atestação e o acompanhante pós-quântico (insumer-verify 1.8.1+ o relata como verificado, refutado, ausente ou não verificável). Zero dependências em tempo de execução, usa Web Crypto API.
Ferramentas (27)
Configuração (gratuita, sem autenticação)
| Ferramenta | Descrição |
|---|---|
insumer_setup | Gere uma chave de API gratuita instantaneamente. Aceita um e-mail, retorna uma chave insr_live_... com 10 créditos. Sem necessidade de cartão de crédito. |
Descoberta de Chaves (gratuita)
| Ferramenta | Descrição |
|---|---|
insumer_jwks | Obtenha o JWKS: cinco entradas em duas chaves. A chave ECDSA P-256 sob insumer-attest-v1, insumer-attest-v2 e insumer-trust-v2, seguida pela chave pós-quântica ML-DSA-65 sob duas entradas AKP RFC 9964, insumer-attest-pq1 e insumer-trust-pq1. Corresponda pelo kid (ou pqKid) na resposta, nunca por posição. |
Verificação On-Chain (custa créditos)
Limiares de
token_balancesão strings decimais. Passethresholdcomo"100", não100. Chaves criadas a partir de 2026-06-10 assinam comkid: insumer-attest-v2, que preserva precisão total e rejeita um número JSON com400. A ferramentainsumer_attestaceita um número ou string e converte para a string canônica; chavesinsumer-attest-v1mais antigas aceitam ambos.
| Ferramenta | Descrição |
|---|---|
insumer_attest | Verifique condições on-chain (saldos de tokens, propriedade de NFTs, atestações EAS, identidade Farcaster, evm_view_call para funções booleanas de visualização arbitrárias, ratio_to_amount para limites de gastos de agente autoescaláveis e ratio_to_supply para regras de participação na oferta; todos os três RPC EVM apenas, além de erc8004_agent para registro de agente ERC-8004 e erc7710_delegation para validade de delegação de framework MetaMask, ambos na Base). Retorna booleano assinado com ECDSA com kid, evaluatedCondition, conditionHash (SHA-256) e blockNumber/blockTimestamp. 1 crédito. proof: "merkle" opcional para provas de armazenamento Merkle EIP-1186 (2 créditos). |
insumer_compliance_templates | Liste os modelos de conformidade EAS disponíveis (Verificações Coinbase na Base, Gitcoin Passport na Optimism). Gratuito. |
insumer_wallet_trust | Gere perfil de fato de confiança de carteira assinado com ECDSA. 145 verificações base em 27 blockchains em 9 dimensões (stablecoins, governança, NFTs, staking, stablecoins institucionais, tesouros tokenizados, depósitos em stablecoins, bitcoin embrulhado, nomes), até 166 verificações em 29 blockchains em 13 dimensões com carteiras opcionais Solana, XRPL, Bitcoin e Tron (carteiras Stellar e Sui ativam linhas dentro das dimensões base). Cada verificação é uma verificação de presença. O conditionSetVersion assinado (atualmente 2026-10) nomeia a lista de verificações; registre-o, nunca rejeite com base nele. 3 créditos (6 com merkle; o prêmio é reembolsado para qualquer linha que nenhuma prova de armazenamento possa cobrir). |
insumer_batch_wallet_trust | Perfis de confiança em lote para até 10 carteiras. Cada objeto de carteira suporta solanaWallet, xrplWallet, bitcoinWallet, tronWallet, stellarWallet e suiWallet opcionais. Buscas de bloco compartilhadas, 5-8x mais rápido. Sucesso parcial suportado. 3 créditos/carteira (6 com merkle). |
insumer_verify | Crie código de desconto assinado (INSR-XXXXX, expiração em 30 min) para uma carteira em um comerciante. 1 crédito de comerciante. |
Descoberta (gratuita)
| Ferramenta | Descrição |
|---|---|
insumer_list_merchants | Navegue pelo diretório de comerciantes. Filtre por token, status de verificação. |
insumer_get_merchant | Obtenha o perfil público completo do comerciante. |
insumer_list_tokens | Liste todos os tokens e NFTs registrados. Filtre por blockchain, símbolo, tipo. |
insumer_check_discount | Calcule o desconto para uma carteira em um comerciante. |
Créditos e Chaves
| Ferramenta | Descrição |
|---|---|
insumer_buy_key | Compre uma nova chave de API com USDC, USDT, BTC ou USDT-TRC20 (sem autenticação necessária). Amigável para agentes: sem necessidade de e-mail, a carteira do remetente se torna a identidade da chave. Uma chave por carteira. Descontos por volume: $0,04–$0,02/chamada. Blockchains suportadas: Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, Solana, Bitcoin, Tron. Não reembolsável. |
insumer_credits | Verifique o saldo de créditos e o nível. |
insumer_buy_credits | Compre créditos de verificação com USDC, USDT, BTC ou USDT-TRC20. Descontos por volume: $0,04–$0,02/chamada. Blockchains suportadas: Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, Solana, Bitcoin, Tron. Não reembolsável. A primeira compra registra a carteira do remetente; compras subsequentes devem corresponder ou incluir updateWallet: true. |
insumer_confirm_payment | Confirme o pagamento em USDC para um código de desconto. |
Integração de Comerciantes (somente proprietário)
| Ferramenta | Descrição |
|---|---|
insumer_create_merchant | Criar novo comerciante. Recebe 100 créditos gratuitos. |
insumer_merchant_status | Obter detalhes privados completos do comerciante. |
insumer_configure_tokens | Definir níveis de desconto por token. |
insumer_configure_nfts | Definir descontos para coleções NFT. |
insumer_configure_settings | Definir modo de desconto, limite, pagamentos USDC. |
insumer_publish_directory | Publicar comerciante no diretório público. |
insumer_buy_merchant_credits | Comprar créditos de verificação de comerciante com USDC, USDT, BTC ou USDT-TRC20. Descontos por volume: $0,04–$0,02/chamada. Somente proprietário. Não reembolsável. A primeira compra registra a carteira do remetente; compras subsequentes devem corresponder ou incluir updateWallet: true. |
Verificação de Domínio (somente proprietário)
| Ferramenta | Descrição |
|---|---|
insumer_request_domain_verification | Solicitar um token de verificação para o domínio de um comerciante. Retorna token e 3 métodos (registro DNS TXT, meta tag, upload de arquivo). |
insumer_verify_domain | Concluir a verificação de domínio após colocar o token. Comerciantes verificados recebem um selo de confiança. |
Integração com Protocolo de Comércio
| Ferramenta | Descrição |
|---|---|
insumer_acp_discount | Verificar elegibilidade de desconto no formato ACP da OpenAI/Stripe. Retorna objetos de cupom e alocações por item. 1 crédito de comerciante. |
insumer_ucp_discount | Verificar elegibilidade de desconto no formato UCP do Google. Retorna título, campo de extensão e matriz aplicada. 1 crédito de comerciante. |
insumer_validate_code | Validar um código de desconto INSR-XXXXX. Retorna validade, percentual de desconto, expiração. Gratuito, sem autenticação. |
Preços
Níveis: Gratuito (100 leituras/dia, 10 créditos) | Pro $29/mês (1.000 créditos/mês, 10.000/dia) | Enterprise $99/mês (5.000 créditos/mês, 100.000/dia)
Descontos por volume: $5–$99 = $0,04/chamada (25 créditos/$1) · $100–$499 = $0,03 (33/$1, 25% de desconto) · $500+ = $0,02 (50/$1, 50% de desconto)
Carteiras de plataforma:
- EVM (USDC/USDT):
0xAd982CB19aCCa2923Df8F687C0614a7700255a23 - Solana (USDC/USDT):
6a1mLjefhvSJX1sEX8PTnionbE9DqoYjU6F6bNkT4Ydr - Bitcoin:
bc1qg7qnerdhlmdn899zemtez5tcx2a2snc0dt9dt0 - Tron (USDT-TRC20):
TC5yvwkAMakkXtUxYiu2Yn1xbBcwYuD6cn
Redes de pagamento suportadas: Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, Solana, Bitcoin, Tron. Tokens enviados em redes não suportadas não podem ser recuperados. Todas as compras são finais e não reembolsáveis. Preços completos →
Tratamento de Erros rpc_failure
Se a API não conseguir acessar uma ou mais fontes de dados de blockchain após tentativas, os endpoints que produzem atestações assinadas (insumer_attest, insumer_wallet_trust, insumer_batch_wallet_trust) retornam ok: false com código de erro rpc_failure. Sem assinatura, sem JWT, sem créditos cobrados. Este é um erro recuperável: o cliente MCP deve tentar novamente após um pequeno atraso (2-5 segundos).
Importante: rpc_failure NÃO é uma falha de verificação. Não trate como pass: false. Isso significa que a fonte de dados estava temporariamente indisponível e a API se recusou a assinar um resultado não verificado.
Redes Suportadas (37)
31 redes EVM + Solana + XRP Ledger + Bitcoin + Tron + Stellar + Sui. Inclui Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, XDC, Robinhood Chain, Arc e mais 21 EVM. Lista completa →
Também Disponível Como
- Claude Code Skill:
smithery skill add douglasborthwick/insumer-skill(Smithery · GitHub), para escrever autenticação de carteira em seus próprios projetos de dentro do Claude Code. Este servidor MCP dá ao agente acesso em tempo de execução à API; insumer-skill ajuda desenvolvedores a criar código de integração em tempo de compilação. Superfícies diferentes, mesma primitiva. - Plugin ElizaOS:
@insumermodel/plugin-eliza(npm) - LangChain (Python):
pip install langchain-insumer(PyPI) - OpenAI GPT: InsumerAPI Wallet Auth (GPT Store)
- Verificador (JWKS offline):
npm install insumer-verify(npm, fonte)
Desenvolvimento
npm install
npm run build
# Test with MCP Inspector
npx @modelcontextprotocol/inspector node build/index.js
Licença
MIT