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

npm Glama License: MIT

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. Defina INSUMER_MAX_PAYMENT_USDC para 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_KEY quanto INSUMER_PAYMENT_KEY estiverem 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)

FerramentaDescrição
insumer_setupGere 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)

FerramentaDescrição
insumer_jwksObtenha 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_balance são strings decimais. Passe threshold como "100", não 100. Chaves criadas a partir de 2026-06-10 assinam com kid: insumer-attest-v2, que preserva precisão total e rejeita um número JSON com 400. A ferramenta insumer_attest aceita um número ou string e converte para a string canônica; chaves insumer-attest-v1 mais antigas aceitam ambos.

FerramentaDescrição
insumer_attestVerifique 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_templatesListe os modelos de conformidade EAS disponíveis (Verificações Coinbase na Base, Gitcoin Passport na Optimism). Gratuito.
insumer_wallet_trustGere 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_trustPerfis 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_verifyCrie 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)

FerramentaDescrição
insumer_list_merchantsNavegue pelo diretório de comerciantes. Filtre por token, status de verificação.
insumer_get_merchantObtenha o perfil público completo do comerciante.
insumer_list_tokensListe todos os tokens e NFTs registrados. Filtre por blockchain, símbolo, tipo.
insumer_check_discountCalcule o desconto para uma carteira em um comerciante.

Créditos e Chaves

FerramentaDescrição
insumer_buy_keyCompre 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_creditsVerifique o saldo de créditos e o nível.
insumer_buy_creditsCompre 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_paymentConfirme o pagamento em USDC para um código de desconto.

Integração de Comerciantes (somente proprietário)

FerramentaDescrição
insumer_create_merchantCriar novo comerciante. Recebe 100 créditos gratuitos.
insumer_merchant_statusObter detalhes privados completos do comerciante.
insumer_configure_tokensDefinir níveis de desconto por token.
insumer_configure_nftsDefinir descontos para coleções NFT.
insumer_configure_settingsDefinir modo de desconto, limite, pagamentos USDC.
insumer_publish_directoryPublicar comerciante no diretório público.
insumer_buy_merchant_creditsComprar 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)

FerramentaDescrição
insumer_request_domain_verificationSolicitar 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_domainConcluir 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

FerramentaDescrição
insumer_acp_discountVerificar 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_discountVerificar 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_codeValidar 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