Skip to main content
Glama

PonsMCP

MCP server + TypeScript SDK: autonomous agent payments in USDG on Robinhood Chain (4663) or USDC on Base (8453 · beta), read-only pons launchpad intelligence, and x402 paid-resource fetching — zero runtime dependencies.

npm tests deps license chain docs

Multi-chain support

PonsMCP v2.3.0 supports two chains. Set PONSMCP_CHAIN to switch:

Chain

ID

Settlement

Status

Notes

Robinhood Chain

4663

USDG (0x5fc5...)

active

Default; all tools fully tested

Base

8453

USDC (0x8335...)

beta

Read-only tools verified; write ops not tested on Base

# Default — Robinhood Chain 4663, USDG
ponsmcp

# Switch to Base (beta)
PONSMCP_CHAIN=8453 ponsmcp

pons_quote always returns costs for both chains so agents can compare settlement options.

Related MCP server: hoodr MCP Server

Quick Start — three commands to your agent's first payment

# 1. Install (Node >= 20) and start the stdio MCP server
npm install -g @ponsmcp/sdk && ponsmcp

# 2. Give the agent a funded wallet + spending caps (env of the MCP server process)
export PONSMCP_PRIVATE_KEY=0x…            # agent key — never in a browser or repo
export PONSMCP_MAX_PER_TX=100000000       # 100 USDG per transaction (base units, 6 dec)
export PONSMCP_DAILY_LIMIT=1000000000     # 1,000 USDG per day

# 3. Call the pay tool from any MCP host (Claude Desktop, Cursor, …)
#    pons_pay { "payTo": "0xMerchant…", "amountUsd": "2.50" }
#    → policy check → USDG transfer on chain 4663 → verified receipt → 0x…

Point your MCP host at the server:

{ "mcpServers": { "ponsmcp": { "command": "ponsmcp" } } }

All 21 read-only tools work with no key at all — ponsmcp alone is enough for market and launch research.

What PONS is for here (and what it isn't)

ponsfamily.com is a launchpad — pons v1/v2 launch tokens on Robinhood Chain. PonsMCP gives agents read-only intelligence over that surface, and separate payment rails for everything else:

Capability

Tools

Moves funds?

Payments — USDG settlement between agent and merchant

pons_quote pons_pay pons_pay_resource pons_tx_status pons_balance

yes

x402 — paid HTTP resources with auto-settlement

x402_fetch x402_discover

on 402 only

Transfers — send any ERC-20 or native ETH

pons_send_token pons_send_eth

yes

Launchpad research — v1 metadata, feed, screening

pons_launch_info pons_launch_feed pons_graduated_launches pons_launch_ranking

no

v2 curves — records, quotes, snipe tax, escrow

pons_v2_launch pons_v2_quote_buy/sell pons_v2_snipe_tax pons_escrow_balance pons_escrow_token_balance

no

Market — PONS price/pairs, stock tokens (DexScreener)

pons_price pons_launch_market pons_stocks_list pons_stock_price pons_stock_info pons_stocks_screen

no

Payment settlement is USDG, not PONS. PONS is the ecosystem asset of the launchpad; an agent that needs to pay for a service pays in a stable. Launch-tool research (should I buy this launch? what would the tax be? what does the creator have claimable?) is a decision layer — the execution of any launch trade stays in your own wallet, deliberately outside this SDK.

For launch creators: pons_escrow_balance reads the v2 fee escrow (balanceOf / balanceOfToken) so an agent can monitor claimable creator fees. Claiming itself (claim() / claimToken() on the escrow) is a wallet action — PonsMCP never moves someone else's fees.

Architecture

┌────────────────────────────────────────────────────────────────────────┐
│ MCP host (Claude Desktop / Cursor / your agent runtime)                │
│   owns the key: PONSMCP_PRIVATE_KEY lives ONLY here                    │
└───────────────┬────────────────────────────────────────────────────────┘
                │ stdio JSON-RPC (MCP: initialize → tools/list → tools/call)
                ▼
┌────────────────────────────────────────────────────────────────────────┐
│ ponsmcp server (this package, 34 tools)                                │
│                                                                        │
│   tools/call ──► PolicyEngine ──► per-tx cap 100 USDG                  │
│                      │             daily cap 1,000 USDG                │
│                      │             (checked BEFORE any signing)        │
│                      ▼                                                 │
│                 crypto.ts ──► keccak-256 · RLP · secp256k1             │
│                      │         canonical low-s · CSPRNG nonce · 0 deps │
│                      ▼                                                 │
│                 EIP-155 legacy tx, chainId 4663, signed locally        │
└──────┬──────────────────┬──────────────────────┬───────────────────────┘
       ▼                  ▼                      ▼
  Robinhood Chain      DexScreener           HTTP + x402
  (USDG settle,        (PONS, launch           │
   ETH gas)             & stock markets)       ▼
       │                                    402 requirement → settle →
       ▼                                    retry with X-PAYMENT proof
  receipt verified: status 0x1 +
  decoded USDG transfer matches quote

Never puts a private key, a browser, or a third-party signer between the policy check and the broadcast.

The 34 tools

Tool

Key?

What it does

pons_chains

—

list all supported chains with status

pons_chain_info

—

active chain facts + all supported chains

pons_price

—

PONS market snapshot

pons_launch_info

—

pons v1 launch metadata on-chain

pons_launch_market

—

live markets for a launch token

pons_launch_feed

—

recent launches (official feed)

pons_graduated_launches

—

v1 launches that reached their liquidity threshold

pons_launch_ranking

—

ranked launches with Grade A / Early Watch tiers

pons_v2_launch

—

v2 factory launch record

pons_v2_quote_buy

—

pure curve buy quote (tax-capped)

pons_v2_quote_sell

—

pure curve sell quote

pons_v2_snipe_tax

—

decaying opening tax per recipient

pons_escrow_balance

—

claimable native fees (v2 escrow)

pons_escrow_token_balance

—

claimable ERC-20 fees (v2 escrow)

pons_token_info

—

ERC-20 metadata for any token

pons_quote

—

USD → settlement-token base units, both-chain comparison

pons_pay

✅

policy → sign → broadcast → verified receipt

pons_pay_resource

✅

fetch a 402 resource, settle the exact price

pons_tx_status

—

independent receipt verification

x402_fetch

✅

fetch any URL; auto-settle x402 402s and retry with proof

x402_discover

—

probe a domain for x402 paid resources

pons_stocks_list

—

all 19 tokenized stock tokens with addresses

pons_stock_price

—

live DEX price for a stock token (ticker or address)

pons_stock_info

—

on-chain metadata for a stock token

pons_stocks_screen

—

screen + rank all 19 stock tokens by liquidity / tier

pons_balance

✅

agent wallet balance for any token

pons_send_token

✅

send any ERC-20 (policy caps apply)

pons_send_eth

✅

send native ETH (0.01 ETH/tx, 0.1 ETH/day caps)

Why zero dependencies

Every line that touches a private key or builds a transaction lives in this repo: keccak-256, RLP encoding, secp256k1 signing with canonical low-s, EIP-155 replay protection. It is auditable in an afternoon, and the npm tarball is byte-identical to src/.

FAQ

Is my private key safe? It lives only in the MCP server process environment (PONSMCP_PRIVATE_KEY). It never reaches a browser, the web console, logs, or any API request. Signing happens locally; transactions are fully built and signed before any endpoint sees them.

What stops an agent from overspending? The PolicyEngine checks a per-transaction cap (default 100 USDG) and an in-process daily budget (default 1,000 USDG) before every signature. Balance is pre-checked too. The daily counter resets on restart — for hard budgets, fund the agent wallet with only what it may spend. pons_send_eth additionally caps at 0.01 ETH per tx / 0.1 ETH per day.

Which chain and token? Default: Robinhood Chain, chain ID 4663 (an Arbitrum Orbit L2), settling in USDG (0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168, 6 decimals); gas is ETH. Set PONSMCP_CHAIN=8453 to switch to Base (USDC, 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, 6 decimals) — Base support is beta: read-only tools are verified, write operations (payments, transfers) are not tested on Base.

How do I know a payment really went through? pons_pay returns ok: true only after verifying an on-chain receipt: status 0x1 plus the decoded USDG Transfer event matching the exact quote. pons_tx_status re-verifies any hash independently — merchants should use it rather than trusting a caller's claim.

What is x402 support? Agents using the x402 convention (HTTP 402 + X-PAYMENT headers) can call x402_fetch: it fetches a URL, settles a recognized requirement exactly (policy-checked), retries with a signed proof header, and returns the payload. x402_discover finds paid resources on a domain. Details: x402 compatibility.

Does PonsMCP buy or sell launch tokens? No. Curve quotes, snipe-tax reads, and escrow balances are intelligence only. Executing trades or claiming fees stays in your own wallet by design.

Which MCP hosts work? Anything that speaks stdio MCP: Claude Desktop, Cursor, Claude Code, and custom runtimes. Read-only tools need no configuration beyond the server command.

Docs

Full manual (concepts / guides / API / x402): ponsmcp.com/docs — also in ponsmcp-docs.

License

MIT

Available Tools

9 tools
pons_balanceB

Get the agent wallet balance for a token (default USDG) on Robinhood Chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNoToken address; default USDG settlement token

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It implies a read-only operation but says nothing about auth requirements, what happens if the token is unknown, or how decimals/units are reported. For a zero-annotation tool this is thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with no filler; the resource, default, and chain are all established immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read with full schema coverage and no output schema, the description covers what an agent needs to invoke it. Only the absence of any error/auth context keeps it from being fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter is documented as 'Token address; default USDG settlement token.' The description's parenthetical '(default USDG)' merely repeats the schema default, adding no syntax or format detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get the agent wallet balance for a token') and scopes it to Robinhood Chain. It is distinguishable from siblings like pons_price or pons_token_info, though it doesn't name an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus pons_token_info or pons_price, and no mention of prerequisites (e.g., that an agent wallet must exist or be funded). The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pons_chain_infoA

Get Robinhood Chain network info: chainId, RPC, explorer, and the canonical PONS / USDG / WETH token addresses.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. 'Get' implies a read-only retrieval and the listed fields give a basic sense of the response, but it does not explicitly state read-only safety, auth requirements, rate limits, or caching behavior. It is minimally adequate for a simple getter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. The return contents are enumerated compactly, and every phrase contributes directly to identifying the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a zero-parameter getter with no output schema, the description appropriately lists what will be returned: chainId, RPC, explorer, and canonical token addresses. Nothing else is needed for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. The description correctly does not describe parameter syntax, and there are no parameters to misrepresent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Get) and resource (Robinhood Chain network info) and enumerates the returned fields, so an agent can tell this is a network-configuration getter rather than a token-price or transaction tool. It does not explicitly name or contrast itself with siblings like pons_token_info or pons_quote, so it falls short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no exclusions, and no named alternatives. The agent can infer that it is useful for chain metadata, but the description provides no explicit selection criteria versus the other pons_* tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pons_launch_infoA

Read a pons v1 launch token directly onchain: canonical pool, fixed supply, logo, description, and social links. Names/symbols are not identity; use the token address.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYespons launch-token contract address (0x...)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that this is a direct onchain read and lists the fields returned, which is useful, but says nothing about permissions/auth needs, rate limits, or error behavior for an invalid address. Adequate but with clear gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, zero waste, with the purpose and the returned fields front-loaded ahead of the address-format caveat. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with no output schema, the description usefully enumerates the returned fields and pins down the identifier type. Complete enough for correct invocation, though the absence of any sibling routing keeps it from being exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single token parameter, so the baseline is 3. The description's 'names/symbols are not identity; use the token address' adds genuine disambiguation beyond the schema's '(0x...)' hint, but does not add format or validation detail, keeping it at baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource: reads a pons v1 launch token onchain, and enumerates what comes back (canonical pool, fixed supply, logo, description, social links). It hints at differentiation from pons_token_info via the 'names/symbols are not identity' note, but never names the sibling explicitly, so it stops just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives one clear input condition ('use the token address', not name/symbol), which is a real usage directive. However, it never states when to prefer this over pons_token_info, pons_launch_market, or pons_price, so the when-to-use guidance against alternatives is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pons_launch_marketB

Get live Robinhood Chain DEX markets, price, liquidity, and 24h change for a pons launch token address.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYespons launch-token contract address (0x...)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a read, but there is no disclosure of authentication requirements, rate limits, whether the data is cached or live, or any side effects or safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single, front-loaded sentence with no wasted words. The resource and scope appear immediately, so an agent can parse intent quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with no output schema, the description lists the key returned data categories (markets, price, liquidity, 24h change) and identifies the input clearly. It is nearly complete, with the only gap being lack of sibling routing guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter is already documented as a pons launch-token contract address. The description repeats the same constraint without adding format details, validation rules, or examples beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

It states a specific verb (Get) and resource (live Robinhood Chain DEX markets, price, liquidity, 24h change) scoped to a pons launch token address. It is clear on its own, but it does not explicitly differentiate itself from sibling tools such as pons_price, pons_launch_info, or pons_token_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The sibling list contains several price and token-information tools, but the description never mentions them or names conditions that would select this tool over them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pons_payA

Execute an autonomous MPP payment: policy check, then transfer USDG on Robinhood Chain to the payTo address, then verify the on-chain receipt. Requires PONSMCP_PRIVATE_KEY env. Guards: policy limits, balance check, receipt verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
payToYesRecipient address (0x...)
waitMsNoMax ms to wait for receipt (default 30000)
amountUsdYesUSD amount, e.g. "5.00"

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses the required PONSMCP_PRIVATE_KEY env var and the guards (policy limits, balance check, receipt verification). It stops short of stating irreversibility, behavior on policy/balance failure, or retry semantics for a real fund transfer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and efficient overall, but the closing 'Guards: policy limits, balance check, receipt verification' partially repeats the flow already stated ('policy check … verify the on-chain receipt'). Mostly, not entirely, waste-free.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a high-stakes mutation tool with no annotations and no output schema, the description covers the flow, credential requirement and guard rails. It omits what the tool returns and how failures surface, which an agent would benefit from knowing before sending funds.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so payTo, amountUsd and waitMs (with default) are already documented in the schema. The description adds no parameter-level detail beyond that, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Execute an autonomous MPP payment' — and names the exact asset and chain (USDG on Robinhood Chain). It is unmistakably a write/transfer tool, clearly distinguished from the read-only siblings (pons_price, pons_balance, pons_quote, pons_tx_status).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lays out the internal sequence (policy check → transfer → receipt verification), which implies usage context, but never says when to prefer this over siblings such as pons_quote or pons_tx_status, nor any precondition like 'obtain a quote first'. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pons_priceB

Get the live PONS token price (USD), liquidity, and top DEX pairs on Robinhood Chain via DexScreener.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does disclose the data source (DexScreener) and that the price is 'live', which is useful, but it says nothing about freshness guarantees, rate limits, caching, or failure behavior when the token/pair isn't listed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that names the resource and its return contents with no padding. It is efficient, though it compresses source and chain details into a trailing clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description must carry more, and it does list what is returned (price, liquidity, top DEX pairs). However, it omits the response shape and edge-case behavior, leaving some gaps for a data-fetch tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes no parameters, so the schema carries nothing to interpret; the baseline for a zero-parameter tool is 4. No parameter semantics are needed or missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (Get) and resource (live PONS token price, liquidity, top DEX pairs) plus the chain (Robinhood Chain) and data source (DexScreener). It is clear what the tool returns, though it never contrasts itself with the potentially overlapping sibling pons_token_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus pons_token_info or pons_launch_market, which plausibly surface overlapping market data. The fact it takes zero parameters implies a simple read, but no explicit usage context or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pons_quoteA

Quote a payment: converts a USD amount into USDG base units (6 decimals) and returns the settlement plan without executing.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountUsdYesUSD amount, e.g. "5.00"

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must carry the safety profile — and it does: it explicitly declares the call is non-executing (read-only, no side effects) and pins the conversion format (USD to USDG base units, 6 decimals). It omits whether quotes expire or must be used within a window, which matters for a quote-then-pay flow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that names the action, the conversion, the return value, and the non-execution constraint with zero filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description covers the key contract: input is USD, output is a settlement plan in 6-decimal base units, and nothing is executed. Slightly incomplete in not explaining what the settlement plan contains or how long a quote remains valid.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single amountUsd parameter, so the schema already documents the input. The description adds only the downstream interpretation (6-decimal base units) rather than input semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (quote) plus resource (payment) and spells out exactly what the call does: converts a USD amount to USDG base units at 6 decimals and returns a settlement plan. The closing 'without executing' implicitly distinguishes it from the mutating sibling pons_pay, so an agent can route correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Without executing' implies this is the pre-flight/preview step, but the description never names pons_pay or states when to prefer quoting over paying, nor any precondition (e.g., run this before every pons_pay). Usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pons_token_infoA

Read on-chain ERC-20 metadata for any token on Robinhood Chain: name, symbol, decimals, total supply.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken contract address (0x...)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses the read-only nature and the target chain, but says nothing about failure modes (invalid address, non-ERC20 contract), rate limits, or caching. Reasonable but incomplete for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that identifies the verb, resource, chain, and return payload with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description usefully enumerates the returned fields, which compensates. However, it omits behavior on invalid or non-ERC20 addresses, which matters for calling it correctly against arbitrary input.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

One parameter with 100% schema description coverage, so the schema already documents 'token' as the contract address. The description adds no format or validation detail beyond what is in the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Read') plus resource ('on-chain ERC-20 metadata') and enumerates exactly what is returned (name, symbol, decimals, total supply), scoped to Robinhood Chain. This clearly distinguishes it from siblings like pons_price or pons_balance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the purpose (fetch metadata for a given token address), but there is no explicit when-to-use vs when-not guidance or reference to alternatives such as pons_price. Adequate but not routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pons_tx_statusA

Look up a transaction receipt on Robinhood Chain: status, block, gas used, and decoded ERC-20 transfers.

ParametersJSON Schema
NameRequiredDescriptionDefault
txHashYesTransaction hash (0x...)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses the shape of the result (status, block, gas used, decoded transfers), which is genuinely useful, but says nothing about read-only safety, how an unknown or pending hash is handled, whether lookup is free/unmetered, or how recent the receipt data is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the action and resource and then lists the returned fields. Nothing is redundant and nothing is buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description's enumeration of return fields (status, block, gas, ERC-20 transfers) is doing real work. For a one-parameter read tool that is close to sufficient, though it stops short of covering error/pending behavior, which is the remaining gap given the absence of annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter exists and the schema already documents it fully (txHash, '0x...'), giving a baseline of 3. The description adds no further constraint on the hash string (length, chain-specific format, checksumming) and does not clarify that the hash must belong to Robinhood Chain rather than another network.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb ('Look up') and resource ('transaction receipt on Robinhood Chain') and even enumerates the payload (status, block, gas used, decoded ERC-20 transfers). That makes it distinguishable in practice from pons_price, pons_balance, or pons_chain_info, but it never explicitly contrasts itself with those siblings, so it falls short of the top tier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The lookup framing implies when an agent would reach for it (after a broadcast, to confirm outcome or inspect transfers), but there is no explicit when-to-use statement, no mention of what to use instead for pending vs. mined transactions, and no exclusions relative to siblings such as pons_quote or pons_chain_info.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv1.0.0
    • First observedpons_balance
    • First observedpons_chain_info
    • First observedpons_launch_info
    • First observedpons_launch_market
    • First observedpons_pay
    • First observedpons_price
    • First observedpons_quote
    • First observedpons_token_info
    • First observedpons_tx_status

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation4/5

Most tools target distinct operations such as price lookup, launch info, market data, token metadata, balance, quote, pay, transaction status, and chain info. Minor overlap exists between pons_price and pons_launch_market for DEX price/liquidity data, and between pons_launch_info and pons_token_info for token metadata, but descriptions clarify scope.

Naming Consistency5/5

All tool names use the same pons_ prefix and snake_case convention, with predictable noun/verb forms like pons_price, pons_token_info, pons_pay, and pons_tx_status. There are no mixed naming styles or confusing deviations.

Tool Count5/5

Nine tools is well-scoped for a Robinhood Chain token and payment server, covering read, quote, execute, and verify workflows without obvious redundancy. Each tool appears to earn its place.

Completeness4/5

The set covers core token data, market data, balance checks, payment quoting, payment execution, transaction verification, and chain info. Minor gaps remain, such as retrieving the agent wallet address, checking allowances, or viewing payment history, but these are not fatal for the main workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Enables AI agents to interact with Robinhood Chain via USDG payments, offering tools for balance, pricing, trading, and more.
    18
    58
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to trade tokenized stocks (e.g., NVDA, TSLA) on Robinhood Chain via MCP, with non-custodial keys and spending caps.
    7 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to make non-custodial USDC payments on Base through an MCP endpoint, with server-enforced per-payment and daily caps, human approval bands, and recipient allowlists.
    7
    57 npm
    MIT