Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Gloam

NPM · @GLOAMTRADE/MCP · 2 COMPONENTS

Private stablecoin payments for people and AI agents on mainnet, hosted or local with limits.

−20 this week 49 Trust /100

Last scanned (10 minutes ago)

Scores higher than 26% of npm servers

Category Crypto and Web3

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security13
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: the version this server declares is not published in its registry.Unverified
  • No install/post-install scripts declared.Pass
  • Dependency health could not be checked: the version this server declares is not published in its registry.Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability60
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 3706 tokens (~218/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management56
  • Stability check failed: the tool surface changed between 0.2.0 and 0.8.0: 3 tool removals, 0 breaking changes, 3 additions. See how to fix → Fail
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 96% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "gloam_execute_private_swap" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
What we tested

Checks we ran (13)

  • Install scripts
  • Source repository
  • Provenance
  • License
  • Maintenance
  • Security disclosure
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Checks we could not complete (3)

These are gaps on our side, not findings about this package. We only credit what we can confirm, so a category made up entirely of them scores 0.

  • Malware scan in Supply Chain SecurityMalware scan not yet available for this package.
  • Known CVEs in Supply Chain SecurityKnown CVEs could not be checked: the version this server declares is not published in its registry.
  • Dependency health in Supply Chain SecurityDependency health could not be checked: the version this server declares is not published in its registry.

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 −20
    • Known CVEs: fail → unverified ▼ security
    • Malware scan: pass → unverified ▼ security
    • CVE-2026-118764 no longer affects this package ▲ security
    • Dependency health: 0.84 → unverified ▼ functional
    • Package version: 0.7.0 → 0.8.0 functional
    • Package version: 0.7.0 → 0.7.2 functional
  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 49 to 52.

  • 3 Nov 26 +15
    • Malware scan: unverified → pass ▲ security
  • 2 Nov 26 −17
    • Malware scan: pass → unverified ▼ security
    • Stability: 0.60 → fail ▼ security
    • Schema quality: 151 → 205 ▼ functional
    • Tool coverage: 89% → 96% ▲ functional
    • Package version: 0.3.0 → 0.7.0 functional
  • 31 Oct 26 +1
    • CVE-2026-118764 affects this package: high ▼ security
  • 30 Oct 26 0
    • Package version: 0.2.0 → 0.3.0 functional
  • 29 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/@gloamtrade/mcp@0.8.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

MCP tools · 17 exposed · ~3,706 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
gloam_execute_private_pay ~267

AGENT side, REAL execution. Settle a 402 price privately from a note this server holds: syncs the pool tree, builds the private send to the payee, seals the payment note to the payee's receive tag, generates the Groth16 transfer proof, and broadcasts transfer(). Self-custodial (this server's key signs; no operator holds funds). Returns the X-PAYMENT header for x402 requirements, or for an MPP challenge (method gloam) the Authorization: Payment credential, and the change as a note handle. A challenge is paid once, and a call whose answer never arrived is not paid twice: the retry reuses the first payment, or answers payment_in_progress while that one is running. payTo must be a receive tag. Requires GLOAM_AGENT_PRIVATE_KEY; without it, returns a plan.

NameTypeReqDescription
issuerTagstring–Optional issuer tag to attach a compliance disclosure.
notestring–Handle of the note to pay from (gloam_list_notes). Omit to use the smallest note that covers the amount.
requirementsstringyesEncoded requirements from gloam_payment_requirements (or raw JSON), or an MPP challenge (the WWW-Authenticate: Payment value).

No output schema declared.

No examples provided.

gloam_execute_private_swap ~449

REAL execution. Swap one note's value from one asset into another, privately: proves locally (the swapped note's unshield to a one-time escrow, the new note, and a refund note) and sends it through the Gloam relay, never from this server's wallet. Who swapped stays private; the tokens and the amounts are public. A swap spends one whole note: with an amount below a note's value, the note is first split with a private send to this server's own notes. Checked first against the owner's spending limits ("swap" must be listed in the agent's tools) and everything gloam_swap_quote checks. Both new notes are kept before anything is sent; gloam_finish_swap brings back a swap whose money waits at its escrow. A swap that reverts leaves its note held: it moves whole to a fresh note right away, and nothing spends it before that.

NameTypeReqDescription
amountnumber–How much to swap, in the asset's units. Left out with a note handle: its whole value.
fromstring–What you pay: a symbol or a 0x token address. Left out with a note handle: the note's asset.
maxImpactBpsinteger–The most price impact to accept, in basis points (100 = 1%). It can only lower the owner's cap (GLOAM_SWAP_MAX_IMPACT_BPS, 200 unless set), never raise it.
networkstring–Which network to swap on: "robinhood-mainnet", "tempo-mainnet", "base-mainnet", "ethereum-mainnet", "robinhood", "tempo", "base", "ethereum". The -mainnet ones are the mainnets (beta deposit limits);…
notestring–The note handle to swap from (gloam_list_notes). Left out: an exact match, else the smallest note that covers the amount.
tostringyesWhat you receive: a symbol or a 0x token address.

No output schema declared.

No examples provided.

gloam_execute_shield ~374

Deposit into a PRIVATE balance on the chosen Gloam network. Mints a note, generates the Groth16 shield proof server-side with that network's keys, and broadcasts shieldBound() (approving the ERC-20 first when the asset is a token). A mainnet vault takes only the assets it lists (this tool names them if given another), within the deposit limits it reads from the vault; direct deposits are free. The note's secret stays inside this server; the agent gets a note handle to pay from later (gloam_execute_private_pay, gloam_list_notes). Requires GLOAM_AGENT_PRIVATE_KEY; without it, returns a plan.

NameTypeReqDescription
amountnumberyesAmount to shield into a private balance, in the asset's units (e.g. 25 for 25 USDC.e).
assetstring–ERC-20 token address to shield; omit to use the network default (USDG on Robinhood Chain mainnet, USDC.e on Tempo mainnet, USDC on Base and Ethereum, PathUSD on Tempo testnet, native ETH on Robinhood…
decimalsinteger–Decimals of the asset; omit to use the asset's own (6 for the stablecoins, 18 for GLOAM and ETH).
networkstring–Which network to shield on: "robinhood-mainnet", "tempo-mainnet", "base-mainnet", "ethereum-mainnet", "robinhood", "tempo", "base", "ethereum". The -mainnet ones are the mainnets (beta deposit limits…

No output schema declared.

No examples provided.

gloam_execute_transfer ~106

Send test ETH publicly on Robinhood Chain TESTNET from the agent wallet, for funding while practicing. This is the PUBLIC rail (amount and recipient are visible) and testnet only. For private movement, use gloam_execute_shield and gloam_execute_private_pay. Requires GLOAM_AGENT_PRIVATE_KEY; without it, returns a plan only.

NameTypeReqDescription
ethnumberyesAmount of testnet ETH to send.
tostringyesRecipient 0x address.

No output schema declared.

No examples provided.

gloam_fetch_paid ~468

AGENT side, REAL execution. Request a URL; if it answers 402 with a Gloam private price, pay it privately from this server's notes (same limits as gloam_execute_private_pay), retry, and return the response. Understands both dialects: an MPP challenge (WWW-Authenticate: Payment with method gloam, answered with Authorization: Payment) is preferred when offered, else x402 (X-PAYMENT). Also pays x402 scheme gloam-cashout (a gateway on Robinhood Chain that pays out to a public address): a cash out of exactly the quoted USDG from this server's notes to that address, sent through the Gloam relay. The payee and the amount are public there; this server's wallet and balance are not. gloam-cashout needs maxAmount. With gloam-private and gloam-cashout both offered, gloam-private is paid unless prefer says gloam-cashout. The agent never handles a note secret or the payment header unless a retry is needed. A call whose answer never arrived is not paid twice: the same call again gets that answer, presents the first payment, or answers payment_in_progress while it is running. Requires GLOAM_AGENT_PRIVATE_KEY to pay.

NameTypeReqDescription
bodystring–Request body for POST.
contentTypestring–Content-Type for the body (default application/json).
maxAmountnumber–Refuse if the 402 asks for more than this, in the asset's units. Needs the asset's decimals from Gloam's list or the limits file; for any other asset the fetch is refused.
methodstring––
notestring–Handle of the note to pay from; omit to use the smallest that covers the price.
paymentHeaderstring–Present a payment already made (paymentHeader from an earlier result: an X-PAYMENT value or an MPP Payment credential) instead of paying again.
preferstring–Which x402 scheme to pay when the resource offers both gloam-private and gloam-cashout. Default gloam-private, which keeps the payee private too.
urlstringyeshttp(s) URL of the resource.

No output schema declared.

No examples provided.

gloam_finish_swap ~167

Settle a swap this server made, by its refund note's handle (or its new note's): reads how it ended and does what is needed. When the swapped note's money waits at the swap's escrow, it brings it back as the refund note through the relay; when the refund note can't take it (the vault's fee rose, or the vault is full on routers with an exit), it sends it to a `to` address you give, which is public and goes through the owner's limits like any spend.

NameTypeReqDescription
notestringyesThe swap's refund note handle (gloam_list_notes shows it), or its new note's.
tostring–Only for an exit: the 0x address the waiting money goes to. Public.

No output schema declared.

No examples provided.

gloam_get_limits ~131

This agent's spending limits as the owner set them: which money tools it may use, which assets, the cap per payment and per rolling 24 hours, allowed recipients, and when its permission expires. Check this before planning a payment. This MCP server enforces them before it signs (off-chain). When the agent's key is a Tempo access key, the result also has `onchain`: the owner's AccountKeychain authorization (expiry, the remaining periodic limit and call scopes), which the Tempo protocol enforces on every transaction whatever this server does. The vault contract itself does not know about limits.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gloam_get_spending_report ~69

What this agent has spent in the last 24 hours and how much is left under its daily limit, per asset, plus its most recent payments and any refused attempts. Read from the local spending log this server keeps.

NameTypeReqDescription
recentinteger–How many recent payments to list.

No output schema declared.

No examples provided.

gloam_info ~34

What Gloam is, which networks it runs on, and what an agent can do with it. Call this first.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gloam_list_notes ~156

This server's private notes as handles, with network, asset, amount, status (unspent, pending, spent, dead when its transaction can never land, or held when its last swap reverted and it must move to a fresh note before anything spends it) and the transaction that created each one, plus the spendable private balance per asset. Never shows a secret. Pass refresh to check pending notes against the chain.

NameTypeReqDescription
includeSpentboolean–Also list spent and dead notes.
networkstring–Only this network.
refreshboolean–Check pending notes on chain first (read-only calls), and move each held note to a fresh note of this server's (a private send through the relay).

No output schema declared.

No examples provided.

gloam_pay_x402 ~175

AGENT side. Given a Gloam 402 price (x402 requirements, or an MPP WWW-Authenticate: Payment challenge with method gloam), describe the private payment the agent would make: a self-custodial private send of the required amount to the payee, sealed to the payee's receive tag, broadcast by this server (no operator or facilitator holds its key). Plans only; to pay, call gloam_execute_private_pay, or gloam_fetch_paid to do the whole request.

NameTypeReqDescription
notestring–Handle of the note to pay from (gloam_list_notes), if you want a specific one.
requirementsstringyesEncoded requirements from gloam_payment_requirements (or the raw JSON), or an MPP challenge (the WWW-Authenticate value).

No output schema declared.

No examples provided.

gloam_payment_requirements ~447

SERVER side. Build the HTTP 402 price an agent-paid resource returns, settled privately through Gloam: the amount and the payee never go public, and through the relay neither does the payer's wallet. Returns it in both dialects: x402 requirements (and their encoded form), and an MPP challenge (mpp.wwwAuthenticate, the WWW-Authenticate: Payment value for method gloam, intent charge). payTo defaults to this server's own receive tag. Check what the payer presents with gloam_verify_payment.

NameTypeReqDescription
amountnumberyesPrice in the asset's display units, e.g. 0.25.
assetstring–Settlement token address; omit for the network default (USDG on Robinhood Chain mainnet, USDC.e on Tempo mainnet, USDC on Base and Ethereum, PathUSD on Tempo testnet, ETH on Robinhood Chain testnet).
assetSymbolstring–Asset label, e.g. USDC.e; omit for the asset's own symbol.
decimalsinteger–Decimals of the settlement asset; omit for the asset's own (6 for the stablecoins).
expiresInSecondsinteger–How long the MPP challenge stays valid. Leave room to prove and confirm a payment.
networkstring–Which Gloam network the payer settles on: "robinhood-mainnet", "tempo-mainnet", "base-mainnet", "ethereum-mainnet", "robinhood", "tempo", "base", "ethereum". The -mainnet ones are the mainnets (beta…
payTostring–Payee receive tag (gloamr1.…). Omit to be paid to this server's own tag, which gloam_verify_payment can open.
realmstring–MPP protection space for the challenge. Default: the resource URL's host.
resourcestringyesWhat is being paid for: a URL or an MCP tool id.

No output schema declared.

No examples provided.

gloam_plan_shield ~86

Describe moving funds into a private balance (shield), the first step before paying privately. To actually shield, use gloam_execute_shield.

NameTypeReqDescription
agentAddressstring––
assetstring–Asset to shield, e.g. USDG, USDC.e, or ETH on testnet.
usdnumberyesAmount to shield, in USD.

No output schema declared.

No examples provided.

gloam_privacy_status ~48

Honest, current privacy posture: what is live, what is not, and how strong the anonymity set is. Agents should check this before assuming what a payment or a swap keeps private.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gloam_receive_tag ~59

The receive tag (gloamr1.…) others pay this server to. Payments sealed to it open only with the key this server keeps. Created on first use. Share it freely: it is a public key, not a secret.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gloam_swap_quote ~373

Read only. Price a private swap of one note's value from one asset into another on a Gloam network, with everything that would stop it: price impact and peg on Base and Ethereum, the vault's limits (the refund note must fit, the vault must take what you receive), the vault's cash-out fee read live, and where gas is dear the relay's smallest swap. A private swap hides who swapped; the tokens and the amounts are public. Swap with gloam_execute_private_swap.

NameTypeReqDescription
amountnumber–How much to swap, in the asset's units (e.g. 25 for 25 USDC).
fromstring–What you pay: a symbol ("USDG", "USDC", "ETH") or a 0x token address. Left out with a note handle: the note's asset.
maxImpactBpsinteger–The most price impact to accept, in basis points (100 = 1%). It can only lower the owner's cap (GLOAM_SWAP_MAX_IMPACT_BPS, 200 unless set), never raise it.
networkstring–Which network to swap on: "robinhood-mainnet", "tempo-mainnet", "base-mainnet", "ethereum-mainnet", "robinhood", "tempo", "base", "ethereum". The -mainnet ones are the mainnets (beta deposit limits);…
notestring–A note handle (gloam_list_notes): quote swapping its whole value.
tostringyesWhat you receive: a symbol or a 0x token address ("ETH" is native ETH).

No output schema declared.

No examples provided.

gloam_verify_payment ~297

SERVER side. Check a presented payment and make it final: an x402 X-PAYMENT value against its requirements, or an MPP credential (the Authorization: Payment value, method gloam) against the challenge it echoes, which must be one this server issued for this price (pass the price as requirements in both cases). Opens the payment note with this server's receive key, checks it binds the required amount and asset in the right pool (and, for MPP, that it is the payment output of a Transferred event and bound to that challenge), then sweeps it into a fresh note only this server knows and waits for that to confirm. Grant access only when the result says grantAccess: true; for MPP, serve with its paymentReceipt as the Payment-Receipt header. A payer creates the payment note, so without the sweep it could spend the money back after being served. Needs GLOAM_AGENT_PRIVATE_KEY or the relay (GLOAM_USE_RELAY=1) to sweep.

NameTypeReqDescription
paymentstringyesThe X-PAYMENT header value (or raw JSON payload), or the MPP Authorization: Payment value presented by the payer.
requirementsstring–The price of the resource you are serving: x402 requirements (encoded or raw JSON), or the MPP challenge (WWW-Authenticate value). Required for both x402 and MPP: the payment must match this price.

No output schema declared.

No examples provided.

Install

How do I install the Gloam MCP server?

Gloam runs locally as an npm package, launched with npx -y @gloamtrade/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @gloamtrade/mcp

# add to Claude Code
claude mcp add cryptoduke01-gloam -- npx -y @gloamtrade/mcp
Common questions

What is the Gloam MCP server?

Gloam is an MCP server listed in the public MCP registry as io.github.cryptoduke01/gloam. Private stablecoin payments for people and AI agents on mainnet, hosted or local with limits. This page covers its npm package (@gloamtrade/mcp).

Is the Gloam MCP server safe to use?

Gloam scores 49 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Gloam MCP server expose?

Gloam exposes 17 tools: gloam_info, gloam_privacy_status, gloam_swap_quote, gloam_execute_private_swap, gloam_finish_swap, and 12 more. Their descriptions and schemas cost roughly 3,706 tokens of context every time the server is loaded.

Is the Gloam MCP server still maintained?

Gloam is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Gloam MCP server under?

Gloam declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

What did VerifyMCP test on the Gloam MCP server?

VerifyMCP ran 13 checks on Gloam, covering Install scripts, Source repository, Provenance, License and 9 more. 3 items could not be completed, a gap on our side rather than a finding about Gloam: Malware scan, Known CVEs and Dependency health. Endpoint Security and Transport & Reachability do not apply to an npm package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.