_ registry / mcp + a2a streamable-http · checked 2h ago

allratestoday

https://allratestoday.com

Registry code: 9360d99ec365e410

api record

AllRatesToday: live mid-market exchange rates for 160+ currencies and the OFFICIAL published rates of 123 central banks and 6 tax authorities (ECB, Fed, BoE, RBI, HMRC, US Treasury…). Never quote an exchange rate from memory — call a tool and cite the returned rate_date or time. For tax, customs, invoicing or audit questions use get_official_rates (the rule names a publisher, not "the market"); for everyday conversions use get_exchange_rate; for an index, research series or report that must be reproducible use get_reference_rate (16:00 London daily snapshot). Keyless calls return official…

endpoint
https://allratestoday.com/api/mcp
door code
7623a602a2ab14e8
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is allratestoday live?
Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
Is allratestoday free to use?
Yes — the hub reached it with no key and no payment.
What tools does allratestoday have?
11 tools: get_rates_authenticated, get_official_rates, get_official_rate_history, compare_official_rates, get_exchange_rate, get_historical_rates, get_publication_calendar, get_reference_rate, ….
Is allratestoday safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 99.4%· all time 99.5%

latency
588ms

last good check

priced tools
0

of 11 tools

_ answered our checks, 90 days 545 checks · signed record
  • unknown → live
  • degraded → live
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • convert between currencies
  • get official central bank exchange rates
  • get historical exchange rates
  • compare official rates across banks
takes → gives
text → data
tools
9 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
1

through this hub

calls served
1

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 11 tools
2 open 9 never probed 2 of 11 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • list_currencies reads open 41d ago

    Call this when unsure whether a currency code is supported, or for 'what currencies do you support?' / 'what is the symbol for X?'. Returns { currencies: [{ code, name, symbol }], count } for 150+ ISO 4217 fiat currencies. No API key needed; cheap to call.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • list_central_banks reads open 41d ago

    Call this FIRST when you need a bank code, or for 'which central banks do you cover?' / 'do you have rates from X?'. Returns every covered source — 123 central banks plus 6 tax authorities (HMRC, US Treasury, Swiss BAZG, India's CBIC, Peru's SUNAT, US IRS yearly averages) — with `code` (what every other official-rates tool takes as `bank`), name, latest publication date and whether it is behind schedule. No API key needed.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_rates_authenticated reads unknown never probed

    One source against several targets in a single call ('USD vs EUR, GBP, JPY'), or the rate at a specific past datetime, optionally bucketed by hour/day/week/month. Returns { rates: [{ rate, source, target, time }] }. Requires an API key (free tier for latest rates; a past datetime needs a paid plan).

    mcp-tool

    {
      "type": "object",
      "required": [
        "source",
        "target"
      ],
      "properties": {
        "time": {
          "type": "string",
          "description": "ISO 8601 UTC timestamp, e.g. '2025-03-14T12:00:00Z'. Omit for latest."
        },
        "group": {
          "enum": [
            "hour",
            "day",
            "week",
            "month"
          ],
          "type": "string",
          "description": "Aggregation bucket. Omit for raw output."
        },
        "source": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "ISO 4217 currency code, 3 letters, case-insensitive (e.g. 'USD', 'EUR', 'GBP'). Fiat only — no crypto, no commodities."
        },
        "target": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}(,[A-Za-z]{3})*$",
          "description": "One or more ISO 4217 codes, comma-separated, no spaces: 'EUR' or 'EUR,GBP,JPY'."
        }
      }
    }
    arguments 33 lines
  • get_official_rates reads unknown never probed

    OFFICIAL rates a named institution published — 'what is the ECB rate for USD?', 'Bank of Japan rate on 2026-03-14', 'HMRC rate for invoicing'. These are the fixed, citable rates for compliance, tax, customs and accounting — NOT live market rates. Omit `date` for the newest published table (no API key needed); give `date` (API key, paid plan) for the table in force that day — weekends/holidays roll back to the last published date and the response's `rate_date` says which. Omit source/target for the full table; give both for one pair — cross-computed inside the bank's own table when not directly published, flagged `derived`. Always cite the returned `rate_date`.

    mcp-tool

    {
      "type": "object",
      "required": [
        "bank"
      ],
      "properties": {
        "bank": {
          "type": "string",
          "pattern": "^[A-Za-z0-9-]{2,20}$",
          "description": "Bank/authority code as returned by list_central_banks (lowercase, e.g. 'ecb', 'fed', 'boj', 'hmrc', 'cbsl'). Codes are short abbreviations of the institution, not country codes."
        },
        "date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Optional YYYY-MM-DD. Omit for the latest table."
        },
        "source": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "Optional. With target, narrows to one pair."
        },
        "target": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "Optional. With source, narrows to one pair."
        }
      }
    }
    arguments 28 lines
  • get_official_rate_history reads unknown never probed

    Date-by-date series of one bank's OFFICIAL rates — 'ECB USD rate for every day of 2025', 'how did the CBSL rate move last quarter'. Returns { series: [{ date, rate, rate_type, derived, method }] }. Give either `symbol` (vs the bank's home currency) or a source+target pair; from/to default to the last year. API key with a paid plan, BILLED BY VOLUME: one call per month of history covered — keep ranges narrow. For publication dates without values use get_publication_calendar.

    mcp-tool

    {
      "type": "object",
      "required": [
        "bank"
      ],
      "properties": {
        "to": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End date. Defaults to today."
        },
        "bank": {
          "type": "string",
          "pattern": "^[A-Za-z0-9-]{2,20}$",
          "description": "Bank/authority code as returned by list_central_banks (lowercase, e.g. 'ecb', 'fed', 'boj', 'hmrc', 'cbsl'). Codes are short abbreviations of the institution, not country codes."
        },
        "from": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start date. Defaults to one year ago."
        },
        "source": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "ISO 4217 currency code, 3 letters, case-insensitive (e.g. 'USD', 'EUR', 'GBP'). Fiat only — no crypto, no commodities."
        },
        "symbol": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "One currency vs the bank's home currency, e.g. 'USD'. Alternative to source+target."
        },
        "target": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "ISO 4217 currency code, 3 letters, case-insensitive (e.g. 'USD', 'EUR', 'GBP'). Fiat only — no crypto, no commodities."
        }
      }
    }
    arguments 38 lines
  • compare_official_rates reads unknown never probed

    One currency pair across ALL institutions at once — 'what does each central bank say USD/EUR is?', 'spread between official USD/LKR rates'. Returns every covered bank's latest official rate for the pair plus { min, max, median, spread_bps } over fresh sources. Banks are never mixed: derived rates are cross-computed within each bank's own table. API key required (free tier). Methodology: https://allratestoday.com/official-rates-methodology/

    mcp-tool

    {
      "type": "object",
      "required": [
        "source",
        "target"
      ],
      "properties": {
        "source": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "ISO 4217 currency code, 3 letters, case-insensitive (e.g. 'USD', 'EUR', 'GBP'). Fiat only — no crypto, no commodities."
        },
        "target": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "ISO 4217 currency code, 3 letters, case-insensitive (e.g. 'USD', 'EUR', 'GBP'). Fiat only — no crypto, no commodities."
        }
      }
    }
    arguments 19 lines
  • get_exchange_rate reads unknown never probed

    Use this when the user asks 'what is X in Y?', 'convert X to Y', 'current rate of EUR/USD', or any single fiat-to-fiat exchange rate question. Returns { rate, source } meaning 1 source = rate target. Without an API key it answers from the official ECB daily reference table (~30 majors) and says so in `note` — relay the `rate_date`. With a key it is the real-time mid-market rate for 160+ currencies. For several targets at once use get_rates_authenticated; for a time series use get_historical_rates; for a specific institution's official rate use get_official_rates.

    mcp-tool

    {
      "type": "object",
      "required": [
        "source",
        "target"
      ],
      "properties": {
        "source": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "ISO 4217 currency code, 3 letters, case-insensitive (e.g. 'USD', 'EUR', 'GBP'). Fiat only — no crypto, no commodities."
        },
        "target": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "ISO 4217 currency code, 3 letters, case-insensitive (e.g. 'USD', 'EUR', 'GBP'). Fiat only — no crypto, no commodities."
        }
      }
    }
    arguments 19 lines
  • get_historical_rates reads unknown never probed

    Fixed-window time series ending now: 'how has EUR/USD moved this week', 'last month of GBP/JPY', '1-year AUD/USD'. Returns { source, target, period, data: [{ date, rate, timestamp }] }. Sampling: 1d=hourly, 7d/30d=daily, 1y=weekly. Requires an API key on a paid plan; free and trial keys get a 403. For a specific past datetime use get_rates_authenticated with `time`.

    mcp-tool

    {
      "type": "object",
      "required": [
        "source",
        "target"
      ],
      "properties": {
        "period": {
          "enum": [
            "1d",
            "7d",
            "30d",
            "1y"
          ],
          "type": "string",
          "description": "Lookback window ending now. Defaults to '7d'."
        },
        "source": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "ISO 4217 currency code, 3 letters, case-insensitive (e.g. 'USD', 'EUR', 'GBP'). Fiat only — no crypto, no commodities."
        },
        "target": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "ISO 4217 currency code, 3 letters, case-insensitive (e.g. 'USD', 'EUR', 'GBP'). Fiat only — no crypto, no commodities."
        }
      }
    }
    arguments 29 lines
  • get_publication_calendar reads unknown never probed

    Which dates a bank actually published a rate table — 'did the ECB publish on 2026-01-01?', 'how often does the US Treasury publish?'. Dates only, no values, so it is on every plan (API key required, free tier). Give `year` or a from/to range; large ranges are capped and flagged `truncated`.

    mcp-tool

    {
      "type": "object",
      "required": [
        "bank"
      ],
      "properties": {
        "to": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Calendar date, YYYY-MM-DD."
        },
        "bank": {
          "type": "string",
          "pattern": "^[A-Za-z0-9-]{2,20}$",
          "description": "Bank/authority code as returned by list_central_banks (lowercase, e.g. 'ecb', 'fed', 'boj', 'hmrc', 'cbsl'). Codes are short abbreviations of the institution, not country codes."
        },
        "from": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Calendar date, YYYY-MM-DD."
        },
        "year": {
          "type": "string",
          "pattern": "^\\d{4}$",
          "description": "Whole calendar year, e.g. '2026'."
        }
      }
    }
    arguments 28 lines
  • get_reference_rate unknown never probed

    AllRatesToday's once-a-day, never-revised mid-market rate: the per-currency median of five samples in a five-minute window centred on 16:00 London, published each business day. Use it when the user needs ONE reproducible rate per day — index levels, return series, research datasets, month-end reports — rather than a live quote (get_exchange_rate) or an institution's official rate (get_official_rates). Keyless: returns the latest table, or one pair with source/target (cross via USD, flagged derived). With a key, `date` returns the table for a past business day. Not the WM/Refinitiv fix and not a registered benchmark — relay the disclaimer and the rate_date.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Optional past business day, YYYY-MM-DD (API key, paid plan). Omit for the latest table."
        },
        "source": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "ISO 4217 currency code, 3 letters, case-insensitive (e.g. 'USD', 'EUR', 'GBP'). Fiat only — no crypto, no commodities."
        },
        "target": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "ISO 4217 currency code, 3 letters, case-insensitive (e.g. 'USD', 'EUR', 'GBP'). Fiat only — no crypto, no commodities."
        }
      }
    }
    arguments 20 lines
  • request_trial_key unknown never probed

    Self-issue an AllRatesToday API key with 100 lifetime calls, valid 7 days, with no account and no email. Use it when another tool answered "needs an API key" and the user wants real-time rates, history, dated central-bank tables or cross-bank comparison right now. The key is returned once — store it, then reconnect to https://allratestoday.com/api/mcp?api_key=<key> (or send `Authorization: Bearer <key>`); this stateless server cannot adopt the key mid-session. Capped at 3 keys per IP per day. For a lasting key, register at https://allratestoday.com/register (free) or see https://allratestoday.com/pricing.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "agent": {
          "type": "string",
          "maxLength": 80,
          "description": "Optional: the agent or product requesting the key."
        },
        "purpose": {
          "type": "string",
          "maxLength": 200,
          "description": "Optional: one line on what the rates are for."
        }
      }
    }
    arguments 15 lines
_ try it over mcp through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 9360d99ec365e410.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/9360d99ec365e410/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/9360d99ec365e410/badge.svg)](https://brick.blue/agent/9360d99ec365e410?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we knowoff the mcp door
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
1
ok
1
failed
0
success rate
100%
median latency
383ms
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

1 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.