Skip to content

Releases: insumerapi/mcp-server-insumer

v1.20.3

Choose a tag to compare

@douglasborthwick-crypto douglasborthwick-crypto released this 08 Oct 00:22
bf15b8d
  • README and SKILL.md state the free tier as 10 free verifications plus 100 requests a day, list USDT-TRC20 among the credit payments, and give the Merkle proof coverage (27 of the 31 EVM chains). insumer_confirm_payment accepts exactly the chains the API accepts for it (the seven EVM payment chains and Solana, USDC only), so a Tron chain ID is refused before any request is sent, and the README states the trust proof premium as refunded whenever no proof is delivered. Tool descriptions, README and SKILL.md carry house punctuation and present-tense wording. The self-hosted HTTP runner (node build/http.js) allows 100 metered calls per UTC day unless INSUMER_DAILY_CAP is set. No tool name or output changes.

v1.20.2

Choose a tag to compare

@douglasborthwick-crypto douglasborthwick-crypto released this 07 Oct 23:41
1b81658
  • Tool descriptions, README and SKILL.md state what a caller observes: insumer_batch_wallet_trust is faster than sequential calls, and evm_view_call, ratio_to_amount and ratio_to_supply run on EVM chains (ratio_to_supply on ERC-20 tokens). No tool name, input or output changes.

v1.20.1

Choose a tag to compare

@douglasborthwick-crypto douglasborthwick-crypto released this 07 Oct 23:09
972eeec
  • The batch summary's per-profile counts line keeps asset rows and account rows apart: "169 checks: 12 assets held, 5 account facts present, 147 not held, 5 not evaluated". The account dimension's facts (contract code, EIP-7702 delegation) are counted beside the assets, never added to them, so totals stay comparable across wallets and across check sets. A profile without an account dimension keeps the plain "n held" count.

v1.20.0

Choose a tag to compare

@douglasborthwick-crypto douglasborthwick-crypto released this 07 Oct 22:39
e6994d2
  • Adds the account_code condition to insumer_attest. The tenth condition type checks the code state of the wallet address itself at the anchored block on an EVM chain. expect takes none (no code, a plain key account), eip7702 (the EIP-7702 delegation designator) or contract (any other code); the three states are exclusive on a chain. An optional delegate with eip7702 asks whether the designator points at that address. The answer is met or not met, like every type: the code and the delegation target are never returned, in any format or mode, and a supplied delegate is echoed in lowercase inside the signed evaluatedCondition as the caller's input. 1 credit, 2 with proof: "merkle", which delivers an EIP-1186 account proof (subject account_code) whose codeHash is the proven value. The tool and parameter descriptions name the three proof subjects (account_balance, account_code, delegation_revocation) beside the subject-less ERC-20 slot proof.
  • Adds the account dimension to insumer_wallet_trust and insumer_batch_wallet_trust. Two rows per chain on Ethereum, Base, Arbitrum, Optimism and Polygon: contract code at the wallet address, and an EIP-7702 delegation there. A plain key reads false on both, and which contract is never named. The descriptions carry the counts, 155 base checks across 27 chains in 10 dimensions and up to 176 across 29 chains in 14 with the optional wallets, the signed conditionSetVersion 2026-10-08, and the fixed dimension order: the base dimensions first, then any of solana, xrpl, bitcoin and tron that were switched on, identical for every wallet in a batch. Account rows carry no storage proof; the trust tool's proof description points at the attest condition for one.
  • Enhances the batch summary. Dimensions print in the fixed order whatever order they arrive in, so every wallet in a batch reads the same way. The account dimension's checks are reported as present rather than held, on the dimension line and in its counts. The header's signed count counts only profiles returned with both a signature and a kid, and the post-quantum kid is shown only when its signature is there too.
  • README, SKILL.md and the package description carry the new condition inputs, the dimension and the counts.

1.17.1

Choose a tag to compare

@douglasborthwick-crypto douglasborthwick-crypto released this 05 Oct 23:23
d48dc84
  • insumer_configure_tokens carries alsoOn on partner tokens and the own token: the same token on up to 9 other networks (EVM chains and Solana; not the XRP Ledger, not a native coin). The store decides which deployments count as the same token. Each network's balance is read in that token's own decimals there, the balances are added exactly, and the tier is awarded once. A read that fails on any listed network refuses the whole check, never a partial total. When re-saving, carry each token's alsoOn through.

1.17.0

Choose a tag to compare

@douglasborthwick-crypto douglasborthwick-crypto released this 05 Oct 23:14
d3ca60e
  • Prove the wallet for a discount. insumer_verify, insumer_acp_discount and insumer_ucp_discount take an optional walletProof ({ message, signature }): an EIP-4361 message signed by the EVM wallet, with URI https://api.insumermodel.com/v1/merchants/{merchantId}. The field's description carries the exact message to sign. A proven wallet gets the store's full discount with no daily limit, and the response says walletProven: true. Without a proof, the store's terms for unproven wallets apply, and discountIfProven shows what a proof would get. A proof that fails returns 401 and uses no credit. EVM wallets only; smart-contract wallets are not accepted yet.
  • Read the terms before calling. insumer_get_merchant, insumer_list_merchants and insumer_check_discount describe walletTerms: what the store gives with and without proof. The free check's totalDiscount is what an unproven wallet gets.
  • insumer_configure_settings carries the store's terms for unproven wallets: maxUnprovenDiscount (0 to 100, or null for the same as proven) and maxDiscountsPerWalletPerDay (1 to 100, or null).
  • insumer_validate_code describes walletProven on a code.

v1.16.2

Choose a tag to compare

@douglasborthwick-crypto douglasborthwick-crypto released this 05 Oct 13:20
2a9b6e0
  • Tool descriptions say what rpc_failure means. insumer_attest, insumer_wallet_trust, insumer_verify, insumer_check_discount, insumer_acp_discount and insumer_ucp_discount each state that an rpc_failure error (503) means a read did not complete, nothing was signed, and the call should be retried: it is never a "no". insumer_batch_wallet_trust states the same for its per-wallet error entries. SKILL.md carries the same guidance.
  • The merchant tools offer only the wallets the API reads. insumer_verify, insumer_check_discount, insumer_acp_discount and insumer_ucp_discount take wallet, solanaWallet and xrplWallet. The Tron, Stellar and Sui wallet fields are removed from these four tools; the API never read them there. insumer_attest and the trust tools are unchanged.
  • insumer_configure_nfts carries enabled and benefitType. A collection that was switched off stays off when its configuration is saved again, and a collection can be recognition only (benefitType: "recognition", no discount).
  • insumer_configure_tokens carries name and logo for each token, and enabled (true or false) for the own token.
  • Discounts are whole numbers. The descriptions state that tier and NFT discounts are whole numbers from 1 to 50 and discountCap is a whole number from 1 to 100. The schemas already required integers.
  • XRPL taxon is an integer from 0 to 4294967295 on insumer_attest and insumer_configure_nfts.
  • insumer_attest accepts a Sui coin type with type parameters, such as 0x2::coin::Coin<0x2::sui::SUI>, up to 600 characters.

v1.16.0: output schemas on every tool

Choose a tag to compare

@douglasborthwick-crypto douglasborthwick-crypto released this 03 Oct 17:32
77f0fc8
  • Every tool declares an output schema. The 27 tools share one schema describing the response envelope (ok, data, meta, error, plus keys for the JWKS and message for plain-text results), open to further fields so it stays true as endpoints grow.
  • Successful results carry structuredContent: the same JSON the text content already held, parsed. The text content is unchanged, so clients that read it see no difference. Error results are unchanged.
  • The kyc package keyword is removed. InsumerAPI reads wallet state; it is not an identity or KYC service.
  • The HTTP runner answers any non-POST request with 405. A stateless server has no server-initiated stream to offer, and the SDK transport kept a GET event stream open indefinitely. (The hosted endpoint at api.insumermodel.com/mcp has had this since 2026-10-03.)

npm: https://www.npmjs.com/package/mcp-server-insumer/v/1.16.0 · MCP Registry: com.insumermodel/insumer 1.16.0 · Hosted: https://api.insumermodel.com/mcp

v1.1.0

Choose a tag to compare

@douglasborthwick-crypto douglasborthwick-crypto released this 27 Feb 12:48

mcp-server-insumer v1.1.0

19 tools for InsumerAPI — privacy-preserving on-chain verification across 31 EVM blockchains.

Tools

  • Attestation: attest (boolean token/NFT verification, optional Merkle proofs)
  • Wallet Trust: wallet_trust, batch_wallet_trust (multi-dimensional profiles, up to 10 wallets)
  • Credits: check_credits, buy_credits, buy_merchant_credits
  • Merchant: create_merchant, merchant_status, get_merchant, configure_tokens, configure_nfts, configure_settings, publish_directory
  • Payments: confirm_payment
  • Discovery: list_merchants, list_supported_chains
  • JWKS: jwks (ECDSA P-256 key discovery)
  • Health: health
  • API Key: create_api_key

Features

  • ECDSA P-256 signed responses, JWKS verification
  • 31 EVM chains + Solana
  • Batch trust profiling (5-8x faster)
  • Optional Merkle storage proofs
  • stdio transport (MCP standard)

Install

npx mcp-server-insumer