Skip to main content
Glama

rubric-attested-mcp

MCP server that exposes Rubric Protocol's live, attested price feeds as tools for any MCP-wired agent (Claude Code, Cursor, Windsurf, etc). Handles the x402 402 -> pay -> retry flow automatically via Coinbase's official x402-fetch.

Why this instead of any other price feed: every response is signed with ML-DSA-65 (FIPS 204 post-quantum) and anchored to Hedera Consensus Service. The returned attestationId can be independently verified forever at rubric-protocol.com/v1/verify/:attestationId — free, public, no further trust in Rubric required.

Rubric's own agent identity is registered on-chain at ERC-8004 Identity Registry (0x8004A169FB4a3325136EB29fA0ceB6D2e539a432, Base mainnet).

Tools

get_attested_price

Paid ($0.02 USDC via x402 on Base mainnet). Live spot price for a Base-mainnet asset pair read straight from Chainlink aggregators via eth_call.

  • symbol (string, required) — e.g. "ETH", "BTC/USD"

  • proof (boolean, optional) — include the raw Chainlink round tuple + a disclosed commitment opening for independent recomputation ($0.25 instead)

  • at (string, optional) — ISO-8601 timestamp for a historical price instead of latest ($0.50)

list_attested_services

Free. Returns Rubric's live x402 service catalog (rubric-protocol.com/.well-known/x402.json) — every priced route, price, network, and description.

Related MCP server: anchor-x402-mcp

Install

npm install -g rubric-attested-mcp

Configure

Add to your MCP client config (Claude Code, Cursor, Windsurf, etc):

{
  "mcpServers": {
    "rubric-attested": {
      "command": "rubric-attested-mcp",
      "env": {
        "RUBRIC_MCP_PAYER_KEY": "0x<your-base-mainnet-wallet-private-key>"
      }
    }
  }
}

RUBRIC_MCP_PAYER_KEY is an EOA private key funded with USDC on Base mainnet — it pays for get_attested_price calls directly (EIP-3009 exact scheme, no smart account/bundler needed). list_attested_services works with no key configured.

Develop

npm install
npm run build
npm start

License

MIT

Available Tools

2 tools
get_attested_priceGet attested price (Rubric Protocol)A

Live spot price for a Base-mainnet asset pair (e.g. 'ETH', 'BTC', 'SOL'), read straight from Chainlink aggregators via eth_call — no cached feed, no third-party price API in the trust path. Pays Rubric Protocol $0.02 USDC per call via x402 (auto pay-and-retry on the 402; needs RUBRIC_MCP_PAYER_KEY funded with USDC on Base mainnet). The differentiator: every response is sealed with an ML-DSA-65 (FIPS 204 post-quantum) signature and anchored to Hedera Consensus Service — the returned attestationId can be independently verified forever at rubric-protocol.com/v1/verify/:attestationId, free, with no further trust in Rubric required. Set proof:true ($0.25) for the raw Chainlink round tuple + a disclosed commitment opening so a third party can recompute the receipt themselves; set at: ($0.50) for a historical price walked from on-chain round history instead of the latest one.

ParametersJSON Schema
NameRequiredDescriptionDefault
atNoISO-8601 timestamp for a historical price instead of latest ($0.50). Mutually exclusive with proof.
proofNoIf true, also return the raw Chainlink round tuple + commitment opening ($0.25 instead of $0.02).
symbolYesAsset symbol, e.g. 'ETH' or 'ETH/USD'. See list_attested_services for supported pairs.

TDQS

A4.6/5.0
Behavior5/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 so: it discloses the x402 pay-per-call pricing, auto pay-and-retry on the 402, the need for a funded RUBRIC_MCP_PAYER_KEY, post-quantum ML-DSA-65 signature, HCS anchoring, and permanent verifiability of attestationId. It also explains what the optional proof and at modes add and cost, going well beyond the schema.

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?

It is reasonably front-loaded, opening with what the tool does and following with payment and trust mechanics. At three long sentences it is dense, but every clause carries information an agent needs to invoke the tool correctly.

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?

For a 3-parameter tool with no output schema and no annotations, the description fills the gap completely: it covers what is returned, the payment/auth requirements, the differentiating verification guarantee, and the effect of each optional parameter.

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%, so the schema already documents symbol, proof, and at clearly. The description restates the mutually exclusive nature of proof and at and their price differences, which is mildly useful context but adds little beyond the schema's own field descriptions.

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+resource: 'Live spot price for a Base-mainnet asset pair ... read straight from Chainlink aggregators via eth_call'. It crisply names what is returned and contrasts with its sibling by pointing to list_attested_services for supported pairs.

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

Usage Guidelines5/5

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

It explains exactly when to pay more for proof:true vs at:<ISO timestamp>, and notes the required funded payer key. It also names the sibling list_attested_services as the way to discover supported pairs, giving the agent a clear decision path.

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

list_attested_servicesList Rubric's attested x402 servicesA

Free, unpaid. Returns Rubric Protocol's live x402 service catalog (fetched fresh from rubric-protocol.com/.well-known/x402.json) — every paid route Rubric exposes, its price, network, and description, including but not limited to the attested-price family. Every listed route returns an ML-DSA-65 + Hedera-anchored receipt with its response; use this to discover exact resource paths and prices before calling get_attested_price or another route directly.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses that the call is free/unpaid, that data is fetched fresh from a named .well-known endpoint, and that every listed route returns an ML-DSA-65 + Hedera-anchored receipt. It stops short of stating caching, rate limits, or failure behavior, so not a full 5.

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?

Three sentences, front-loaded with the most decision-relevant fact ('Free, unpaid'). It is dense but every clause carries information; the receipt sentence could arguably be trimmed, keeping it just under a 5.

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?

There is no output schema, so the description must convey the return shape — it does, listing routes with price, network, and description. Combined with the usage routing to get_attested_price, an agent has everything needed 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 implies no filtering or auth inputs are needed, but there are no parameters to add meaning to.

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+resource: returns Rubric Protocol's live x402 service catalog, with the source endpoint named. It clearly delineates scope (every paid route, price, network, description) and is readily distinguishable from the sibling get_attested_price.

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

Usage Guidelines5/5

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

Explicitly instructs when to use it — to discover exact resource paths and prices before calling get_attested_price or another route directly. The alternative and the condition that selects it are both named.

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. 2 tool updatesv0.1.0
    • First observedget_attested_price
    • First observedlist_attested_services

TDQS

A4.4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: get_attested_price retrieves a paid, attested price quote, while list_attested_services provides a free catalog of available services. There is no overlap or ambiguity between them.

Naming Consistency5/5

Both names follow a consistent snake_case verb_attested_noun pattern: get_attested_price and list_attested_services. The convention is predictable and easy to parse.

Tool Count3/5

Only two tools are exposed, which is a thin surface for a protocol gateway that mentions broader paid routes and an attested service catalog. A discovery tool plus a single price tool is focused but borders on under-scoped.

Completeness3/5

The price tool supports useful variants like proof and historical timestamps, and the catalog is free, but there is no generic tool to call other paid routes discovered via list_attested_services and no in-MCP verification tool despite verification being a core advertised property. These are notable gaps for the apparent protocol-access purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for pay-per-call DeFi and crypto data via x402 micropayments on Base. 8 endpoints: token prices, TVL, funding rates, token security, gas tracker, whale monitoring, wallet profiling, and yield scanning.
    8
    25 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    9-tool MCP server for the anchor-x402 commodity services: dual-chain hash anchoring (Base + Solana), OFAC sanctions screening, signed decision attestation, mainnet tx decode, ENS/SNS name resolution, USD spot price, EVM calldata decode, datetime parser, and bundled wallet intelligence. Agents pay $0.001–$0.010 USDC per call directly from a Base wallet via x402 — no API keys, no accounts.
    14
    206 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server exposing 1,000+ pay-per-call API endpoints across agent infrastructure (memory, coordination, secrets, verification), data, compute, finance, weather, geography, and reference categories — payments via x402 protocol in USDC on Base.
    -
  • A
    license
    A
    quality
    B
    maintenance
    MCP server that aggregates x402 crypto services as tools for AI agents, providing prices, sentiment, funding rates, and technical indicators with x402 pay-per-call on Base.
    6
    1,535 npm
    MIT