PonsMCP
Integrates with Robinhood Chain (chainId 4663) for autonomous on-chain MPP payments, including quoting, executing, and verifying USDG transfers, checking agent wallet balances, fetching chain info, retrieving token metadata, and checking transaction status on the Robinhood Chain network.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PonsMCPcheck my PONS price and USDG balance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PonsMCP — MCP server + SDK
Model Context Protocol server for autonomous MPP payments with PONS on Robinhood Chain (chainId 4663).
What is this?
@ponsmcp/sdk ships an MCP server (ponsmcp binary) plus a TypeScript client that lets AI agents pay for services autonomously using Stripe's Machine Payments Protocol semantics — settled on-chain in USDG on Robinhood Chain, with the PONS token as the ecosystem asset.
Everything is real: live RPC calls, real ECDSA signing, real receipt verification. No mocks.
Related MCP server: pons-hoodly MCP Server
Tools exposed to the agent
Tool | What it does |
| Chain facts: RPC, chainId 4663, explorer, canonical token addresses |
| Live PONS price, liquidity, top pairs (DexScreener) |
| Verified onchain pons v1 launch metadata, canonical pool, and social links |
| Live Robinhood Chain markets for a pons launch-token address |
| On-chain ERC-20 metadata for any token |
| Agent wallet balance (USDG by default) |
| USD → USDG settlement plan (no execution) |
| Execute a payment: policy → transfer → receipt verification |
| Receipt lookup with decoded transfers |
Quick start (as an MCP server)
npm install -g @ponsmcp/sdk
export PONSMCP_PRIVATE_KEY=0x... # agent wallet (funded with a little ETH for gas + USDG)
export PONSMCP_MAX_PER_TX=100000000 # optional: 100 USDG cap per tx (micro-units)
export PONSMCP_DAILY_LIMIT=1000000000 # optional: 1000 USDG daily cap
ponsmcpThen register in any MCP client:
{
"mcpServers": {
"ponsmcp": {
"command": "ponsmcp",
"env": { "PONSMCP_PRIVATE_KEY": "0x..." }
}
}
}Quick start (as a library)
import { PonsMCPClient } from '@ponsmcp/sdk'
const client = new PonsMCPClient({ privateKey: process.env.PONSMCP_PRIVATE_KEY })
// Quote
const q = await client.quote('5.00') // → 5_000_000 USDG micro-units
// Pay: policy check → ERC-20 transfer → receipt verification
const result = await client.pay({
payTo: '0x...',
amountUsd: '5.00',
})
console.log(result.stage) // 'confirmed'
console.log(result.txHash)
console.log(result.explorer)Network
Setting | Value |
Chain | Robinhood Chain (Arbitrum Orbit L2) |
Chain ID |
|
RPC |
|
Explorer |
|
PONS |
|
USDG |
|
Safety model
Policy engine — hard per-tx and daily caps (env-tunable), checked before any broadcast
Balance pre-check — refuses to broadcast when funds are insufficient
Receipt verification — a payment is "confirmed" only when the on-chain receipt is status
0x1with the expected USDG Transfer eventDeterministic signing — canonical low-s ECDSA signatures, EIP-155 replay protection (chainId 4663)
Architecture
src/
├── mcp.ts # MCP stdio server (tools/list, tools/call)
├── index.ts # PonsMCPClient: quote → policy → sign → broadcast → verify
├── chain.ts # Robinhood Chain JSON-RPC + ABI helpers
├── erc20.ts # ERC-20 reads
├── dexscreener.ts # PONS / pons launch-token live market data
├── pons.ts # pons v1 launch-token metadata + canonical pool reads
├── policy.ts # spending-policy engine
└── crypto.ts # keccak256 + RLP + secp256k1 (zero deps, live-tested)License
MIT — see LICENSE.
Available Tools
9 toolspons_balanceB
Get the agent wallet balance for a token (default USDG) on Robinhood Chain.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | Token address; default USDG settlement token |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | pons launch-token contract address (0x...) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | pons launch-token contract address (0x...) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| payTo | Yes | Recipient address (0x...) | |
| waitMs | No | Max ms to wait for receipt (default 30000) | |
| amountUsd | Yes | USD amount, e.g. "5.00" |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| amountUsd | Yes | USD amount, e.g. "5.00" |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token contract address (0x...) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| txHash | Yes | Transaction hash (0x...) |
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
v1.0.0- First observed
pons_balance - First observed
pons_chain_info - First observed
pons_launch_info - First observed
pons_launch_market - First observed
pons_pay - First observed
pons_price - First observed
pons_quote - First observed
pons_token_info - First observed
pons_tx_status
TDQS
Scored across 9 tools
Each tool targets a distinct resource or action: chain info, PONS price, launch metadata, launch market data, generic token metadata, wallet balance, payment quote, payment execution, and transaction status. The potential overlap between pons_price and pons_launch_market is resolved by scope (PONS token vs. arbitrary launch token address), and pons_launch_info vs. pons_token_info is resolved by launch-specific metadata vs. generic ERC-20 metadata.
All tools use a consistent pons_ prefix with lower snake_case, making the surface predictable and readable. Although some names are noun phrases and others are verbs, the convention is uniform and the specific pattern does not hinder discovery.
Nine tools are well-scoped for a Robinhood Chain payment and token-inspection server. Each tool has a clear role, and the count avoids both thinness and bloat.
The surface covers the core lifecycle: chain info, token data, market data, balance checks, payment quote, payment execution, and receipt lookup. Minor gaps exist, such as no tool to list or discover launch tokens and no explicit wallet-address lookup, but these are workable around external data.
Maintenance
Related MCP Connectors
Token swaps and honeypot/rug checks for AI agents on 8 chains, paid per-call in USDC via x402.
Wallet and payments for AI agents: auto-pay x402 APIs in USDC on XDC, within on-chain limits.
Money tools for AI agents over x402: USDC bridge to 16 chains, Polymarket data, stocks, USDC gas.
Marketplace and payment rail for AI agents: list, buy and settle with signed receipts.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables AI agents to interact with Robinhood Chain via USDG payments, offering tools for balance, pricing, trading, and more.1858MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with the pons token launchpad on Robinhood Chain for token discovery, verification, price tracking, and trading with built-in safety controls and user approval.-
- AlicenseNot gradedqualityAmaintenanceEnables agents to interact with the Pons launchpad on Robinhood Chain, providing live protocol data, token launch, trading, and wallet operations through a read-only default with explicit signing opt-in.99 npmMIT

aeron-walletofficial
AlicenseAqualityBmaintenanceEnables agents to autonomously pay x402 API requests in USDG on Robinhood Chain while enforcing budget caps and scoped sessions.7411 npmMIT