Skip to content

RWA Data MCP Server

by daveabear · remote · no sign-in to list tools · v1.1.0 · published by GitHub user daveabear

Pay-per-call crypto data for agents: metrics, claims, custom briefs. USDC via x402.

Changes · 2

9 tools: 2 change things and 7 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http rwa-data https://rwa-data-mcp.dave-a-bear.workers.dev/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "request_brief" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true}; The name "request_brief" says "request": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

9 tools

Changes things 2Claude Code: ask
  • request_briefOrder a custom research brief on your topic ($1.50 USDC per brief).1 finding

    Why it is in this group

    • The name "request_brief" says "request": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "request_brief" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true}; The name "request_brief" says "request": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Order a custom research brief on your topic ($1.50 USDC per brief). Topics must be in our lanes: stablecoins, RWA/tokenization, DeFi, the AI agent economy, crypto markets. The brief is researched on demand (up to ~60 min); use check_brief_status to poll for it (polling is free). First call (no payment_signature) returns the payment challenge; pay the exact USDC on Solana, then call again with payment_signature.

    Annotations the server declares

    • readOnlyHint: true
  • verify_claimVerify a factual crypto-markets claim against a sourced, dated claims cache: confirmed / refuted / unverifiable, with evidence and sources ($0.10 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Verify a factual crypto-markets claim against a sourced, dated claims cache: confirmed / refuted / unverifiable, with evidence and sources ($0.10 USDC per call). First call (no payment_signature) returns the payment challenge; pay the exact USDC on Solana, then call again with payment_signature.

    Annotations the server declares

    • readOnlyHint: true
Only reads 7Claude Code: allow
  • check_brief_statusCheck the status of a custom brief task (FREE — polling never costs).No findings

    Why it is in this group

    • The name "check_brief_status" says "status": a word for reading.
    Description, as the server wrote it
    Check the status of a custom brief task (FREE — polling never costs). Returns queued/working/done/failed; when done, includes the brief markdown and sources.

    Annotations the server declares

    • readOnlyHint: true
  • get_all_metricsEvery tracked metric in one call: stablecoin, RWA, DeFi, L2, prediction-market, and agent-economy metrics, each with source, date, and confidence ($0.01 USDC per call).No findings

    Why it is in this group

    • The name "get_all_metrics" says "get": a word for reading.
    Description, as the server wrote it
    Every tracked metric in one call: stablecoin, RWA, DeFi, L2, prediction-market, and agent-economy metrics, each with source, date, and confidence ($0.01 USDC per call). First call (no payment_signature) returns the payment challenge; pay the exact USDC on Solana, then call again with payment_signature.

    Annotations the server declares

    • readOnlyHint: true
  • get_briefStructured market brief: total + breakdown, insights, risks ($0.25 USDC per call).No findings

    Why it is in this group

    • The name "get_brief" says "get": a word for reading.
    Description, as the server wrote it
    Structured market brief: total + breakdown, insights, risks ($0.25 USDC per call). First call (no payment_signature) returns the payment challenge; pay the exact USDC on Solana, then call again with payment_signature.

    Annotations the server declares

    • readOnlyHint: true
  • get_metricGet one verified stablecoin/RWA market metric ($0.01 USDC per call).No findings

    Why it is in this group

    • The name "get_metric" says "get": a word for reading.
    Description, as the server wrote it
    Get one verified stablecoin/RWA market metric ($0.01 USDC per call). First call (no payment_signature) returns the payment challenge; pay the exact USDC on Solana, then call again with payment_signature.

    Annotations the server declares

    • readOnlyHint: true
  • get_monitor_pegsAll four tracked stablecoin pegs (usdt, usdc, usde, dai) in one call ($0.01 USDC per call).No findings

    Why it is in this group

    • The name "get_monitor_pegs" says "get": a word for reading.
    Description, as the server wrote it
    All four tracked stablecoin pegs (usdt, usdc, usde, dai) in one call ($0.01 USDC per call). First call (no payment_signature) returns the payment challenge; pay the exact USDC on Solana, then call again with payment_signature.

    Annotations the server declares

    • readOnlyHint: true
  • get_pegStablecoin peg status: live price and deviation in basis points from $1.00 ($0.01 USDC per call).No findings

    Why it is in this group

    • The name "get_peg" says "get": a word for reading.
    Description, as the server wrote it
    Stablecoin peg status: live price and deviation in basis points from $1.00 ($0.01 USDC per call). First call (no payment_signature) returns the payment challenge; pay the exact USDC on Solana, then call again with payment_signature.

    Annotations the server declares

    • readOnlyHint: true
  • get_pricePoint-in-time asset price with source proof ($0.01 USDC per call).No findings

    Why it is in this group

    • The name "get_price" says "get": a word for reading.
    Description, as the server wrote it
    Point-in-time asset price with source proof ($0.01 USDC per call). First call (no payment_signature) returns the payment challenge; pay the exact USDC on Solana, then call again with payment_signature.

    Annotations the server declares

    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http rwa-data https://rwa-data-mcp.dave-a-bear.workers.dev/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__rwa-data__get_metric",
      "mcp__rwa-data__get_peg",
      "mcp__rwa-data__get_monitor_pegs",
      "mcp__rwa-data__get_all_metrics",
      "mcp__rwa-data__get_price",
      "mcp__rwa-data__get_brief",
      "mcp__rwa-data__check_brief_status"
    ],
    "ask": [
      "mcp__rwa-data__verify_claim",
      "mcp__rwa-data__request_brief"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as rwa-data. Review it before you use it.