Mercury402: Treasury/FRED financial data over x402
Server Details
Treasury/FRED financial data over x402: pay-per-call US yields, macro and forex in USDC on Base
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- dudman1/mercury402
- GitHub Stars
- 1
TDQS
Scored across 2 tools
list_endpoints and get_endpoint_data have clearly different roles: discovering endpoints versus invoking one. The descriptions make the boundary clear, though the hosted get_endpoint_data only returns 402 payment instructions, which could still surprise an agent expecting data.
Both names follow a verb_noun snake_case pattern (list_endpoints, get_endpoint_data). The noun forms are slightly inconsistent (endpoints vs endpoint_data), but the convention is still predictable.
Two tools is thin for a server fronting 78 financial endpoints, though the generic list-and-call design is intentionally minimal. It sits at the borderline of being too sparse, especially without filtering or search helpers.
The set covers endpoint discovery and invocation, but the hosted invocation tool does not return actual financial data—only HTTP 402 payment instructions. There is no integrated payment or wallet flow, so agents cannot complete the core data-retrieval task without an external x402 client.
Available Tools
2 toolsget_endpoint_dataCall a Mercury402 endpointAInspect
Call a Mercury402 endpoint on the live API. This hosted endpoint is discovery-only: endpoints return HTTP 402 and this tool returns the price and x402 payment instructions instead of data. Pay with your own x402 client, or run mercury402-mcp locally (npx -y mercury402-mcp) with your own wallet. Use list_endpoints first to find paths and parameters. Path params can be inline ("/v1/fred/UNRATE") or passed in params ("/v1/fred/{series_id}" + {"series_id":"UNRATE"}). Other params go to the query string (GET) or JSON body (POST).
| Name | Required | Description | Default |
|---|---|---|---|
| pay | No | Paid mode only: set false to just get the price quote without paying. Default true. | |
| path | Yes | Endpoint path, e.g. "/v1/treasury/yield-curve/daily-snapshot" or "/v1/fred/UNRATE" | |
| params | No | Path, query (GET) or body (POST) parameters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses behavior beyond the annotations: the hosted endpoint is discovery-only, returns HTTP 402 with price and x402 payment instructions instead of data, and requires either a separate x402 client or running mercury402-mcp locally with a wallet. This is consistent with openWorldHint=true and readOnlyHint=false.
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?
The description is front-loaded with the key limitation and usage path, then moves into practical calling details. The sentences are dense and purposeful, with no 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 an open-world, non-idempotent endpoint-calling tool with no output schema, the description covers enough for correct invocation: discovery-only behavior, payment flow, local alternative, sibling-tool sequencing, and parameter placement. Nothing critical for an agent to call it correctly is missing.
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 the baseline is 3, but the description adds meaningful composition semantics: path parameters may be inline or supplied in params, and other parameters are routed to query string or JSON body depending on the HTTP method. The pay parameter's behavior is mostly left to 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?
The description states a specific action and resource: calling a Mercury402 endpoint on the live API. It immediately distinguishes the tool from list_endpoints by saying list_endpoints is used first to discover paths and parameters, and it clarifies that hosted discovery calls return HTTP 402 pricing/payment instructions rather than data.
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?
It gives explicit routing guidance: use list_endpoints first to find paths and parameters. It also explains how to supply parameters, including inline path params versus params-object path params, and how remaining params are sent as query strings for GET or JSON bodies for POST.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_endpointsList Mercury402 endpointsARead-onlyInspect
List Mercury402 financial data endpoints (78 total) with path, method, category, description, price in USD (paid per call in USDC on Base via x402) and accepted parameters. Free; makes no network calls.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Case-insensitive substring match on path or description | |
| category | No | Only return this category |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-redundant behavior: the call costs nothing, performs no network I/O, and the prices it reports are per-call USDC amounts on Base via x402 — that clarifies what the price field means.
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 dense sentence with no filler; the resource and count come first, followed by returned fields, then cost and network behavior as trailing qualifiers. Every clause carries information.
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?
No output schema exists, so the description must carry the return shape, and it does — listing exactly which fields each endpoint entry contains. The cost model is also spelled out. Only the pagination/ordering question is unaddressed, which is minor since the full set is a fixed 78 entries.
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%, so both `search` (substring match on path/description) and `category` (enumerated) are fully documented in the schema. The description says only that 'accepted parameters' are among the returned fields and adds nothing about filtering, 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?
Specific verb (List) plus a clearly bounded resource (Mercury402 financial data endpoints, 78 total), and it enumerates the fields returned (path, method, category, description, price, accepted parameters). It never names the sibling get_endpoint_data, so the differentiation is implicit rather than explicit.
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?
"Free; makes no network calls" hints that this is the discovery/browse step before calling an endpoint, but the description never states when to use this versus get_endpoint_data, or that the sibling is the paid fetch. The agent must infer the workflow.
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.
2 tool updates
- First observed
get_endpoint_data - First observed
list_endpoints
Related MCP Connectors
Pay-per-call tools for agents: onchain data, ECB FX rates, text tools. USDC on Base, x402
Market and on-chain crypto data for AI agents. Pay per call in USDC on Base (x402).
Live financial data MCP: FX, crypto, stocks, news, URL reader. x402 on Base: $0.001/call.
Pay-per-call crypto market intelligence for AI agents. USDC on Base via x402.
Related MCP Servers
- AlicenseAqualityDmaintenancePay-per-call x402 data products on Base mainnet — sanctions screening, aviation weather, mortgage rates, US property dossier, title chain, wallet balance, and agent session auth. Every call settles in USDC with an on-chain receipt, no accounts or API keys.750 npmMIT

hyperd-mcpofficial
AlicenseAqualityDmaintenancePre-trade DeFi intelligence for AI agents. 20 paid x402 endpoints, USDC on Base.2329 npm1MIT- FlicenseNot gradedqualityDmaintenance56 pay-per-call MCP endpoints for AI agents. Market signals, macro economics, crypto/DeFi, geopolitical intelligence, SEC filings, GitHub velocity, sanctions screening. USDC on Base Mainnet via x402.-
- AlicenseNot gradedqualityBmaintenanceProvides real-time stock quotes and batch market data to AI agents, secured via x402 micropayments on Base Mainnet.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.