MCP guide

This page explains the public MCP endpoint. Calling the endpoint is a POST to the URL below. This page is not the endpoint.

Endpoint

Copy this URL into a client that can send a POST request.

https://stablecoinreserves.io/mcp

Cursor

Cursor documents a remote MCP server as a url field under mcpServers. This server does not require an API key, a headers object, or OAuth. The JSON can go in ~/.cursor/mcp.json for every project, or in .cursor/mcp.json for one project. Cursor's help page says to save that file and restart Cursor.

{
  "mcpServers": {
    "stablecoinreserves": {
      "url": "https://stablecoinreserves.io/mcp"
    }
  }
}

Tools

These are the three tools the server lists. An example question uses a slug returned by list_public_assets. It does not promise that a named asset is on the public list. The list order is not a ranking.

list_public_assets

List stablecoins currently shown on the public site. Hidden assets are omitted. The order is not a ranking. Report source URLs, file names, file URLs, and risk scores are not included.

Example question

Which stablecoins does the public site currently show, and what latest report date is on each record?

get_asset_record

Read one public asset: figures on the asset record, composition when that response loads, and up to 50 report dates with attestor names in API order. Report source URLs, file names, file URLs, and risk scores are not returned.

Example question

For one slug from that list, what reserves, coverage, tokens outstanding, and composition does the public record show?

get_report_metadata

Read up to 50 report dates and attestor names for one public asset, in API order. Report source URLs, file names, and file URLs are not returned. A truncated list is not a claim that later reports do not exist.

Example question

For that same slug, which report dates and attestor names are returned?

For more ready-made prompts, see Agent recipes.

Report dates

latestReportDate is the report date on the asset record. It is not a time when this site checked the report, and it is not a promise of an update interval.

Composition and the report list are loaded separately from the asset record. If one of those requests fails, that field is null. Null is not a zero and it is not an empty reserves figure.

Omitted fields

The tools do not return reserve history. A slug that is withheld from the public site gets the same tool result as an unknown slug: Asset not found. This page does not name withheld assets.

Browser and POST

Opening the endpoint URL in a browser sends GET. This server answers GET with HTTP 405 and the text Method not allowed. That means the browser used a method this endpoint does not accept. It does not mean the endpoint is absent.

A client sends one JSON-RPC 2.0 object in a POST body with Content-Type application/json. This server rejects a batch array. A notification, which is a request with no id, gets HTTP 202 and an empty body.

Publisher

The initialize response includes this publisher sentence and this disclaimer.

Published by Rwa.world and WeAreShovels.

Data from stablecoin-issuer-published attestation reports. Figures reflect the dates and scope of the cited reports, not necessarily current reserves.