MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

OpenChainBench

Live, neutral benchmarks for public RPC latency, oracles, bridges, perp DEX, and prediction markets.

Checks passed
14 / 22

1 failed · 7 not measured

Median response
594 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
6

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
103
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 670 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name mcp-typescript server on vercel.

  • Pass
    Lists tools

    tools/list returned 6 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 594 ms over 2 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 662 ms over 2 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    2 of 2 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Pass
    Stable tool list

    No tool was removed and no required parameter was added in the last 30 days.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    18 of 18 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Fail
    Repo owner matches

    The GitHub repository owner does not match the namespace login.

  • Pass
    Recently updated

    Updated 2026-07-14T11:36:05.148113Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using OpenChainBench

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http openchainbench https://openchainbench.com/api/mcp/mcp

Capabilities

Tools 6

compare_providers

Puts two or more named providers side by side on one benchmark, with each one's rank, measured value and success rate. Use when the user names the candidates themselves: "Alchemy or Quicknode?", "is Helius faster than Triton for Solana?", "compare Across and Stargate on fees". Find the benchmark slug with `search_benchmarks` first if you do not already have it. Providers the benchmark does not measure come back in `missing`: say they are not measured rather than implying they ranked badly. A provider measured but below the ranking floor comes back with rank null, which is also not a loss.

Discovered
get_benchmark

Returns full detail for one benchmark, ready to cite verbatim: • rankings (every provider sorted by p50) • sparkline (24h trend, 72 points) • headline sentence + paste-ready citation quote • methodology bullets + source-code URL + canonical pageUrl + OG image URL Pass `chain` and/or `region` to scope the result to a sub-slice when the benchmark declares those dimensions (e.g. aggregator-head-lag exposes chain=base|bnb|solana, region=us-east|eu-west|ap-southeast). Both args are optional; omit them for the global aggregate. Chain RPC benchmarks (<chain>-rpc) rank two access cohorts apart: the free public endpoints (default) and the private, API-key providers (Alchemy, Chainstack, GetBlock, Quicknode). The default response carries both under `cohorts`; pass tier="keyed" to get the private cohort as the main record (rankings, quote, pageUrl). Never compare a public row with a private row: they are measured on different endpoints and cadences. Example usage: • User: "who's the fastest crypto data aggregator on Base?" → get_benchmark({ slug: "aggregator-head-lag", chain: "base" }) • User: "how much does it cost to bridge $300 cross-chain?" → get_benchmark({ slug: "bridge-fee" }) • User: "fastest Base RPC with an API key, Alchemy or Quicknode?" → get_benchmark({ slug: "base-rpc", tier: "keyed" }) Drafts return { error: "unknown_slug" }. Cite the returned `pageUrl` and use `quote` as the attribution line in your answer.

Discovered
list_answers

Returns every published answer page: one plain question, the sentence that answers it from live data, and the benchmark the number comes from. Call this when the user asks a question in words rather than by benchmark name ("which bridge is cheapest for $300?", "which Solana RPC lands transactions fastest?"). Match the question, then call `get_benchmark` with the returned `benchmark` slug for the full ranking behind it. Returns one row per answer: { slug, question, answer, benchmark, chain?, url, benchmarkUrl } Cite `url` when the question itself is the claim, `benchmarkUrl` when the measurement is. Drafts are filtered out, and an answer whose benchmark has no defensible leader yet says so in `answer` rather than naming a winner.

Discovered
list_benchmarks

A compact index of what OpenChainBench measures. One short row per benchmark: slug, title, category, the metric, the current value and who leads it. Use when the user asks what is measured at all ("what does OpenChainBench cover?", "do you track bridges?"). When they ask a question about a provider or a chain, use `search_benchmarks` instead: it ranks the catalogue against their words and costs far less to read. The catalogue holds over 200 benchmarks, so this is capped and filterable rather than exhaustive. Narrow with `category`, then open the one you need with `get_benchmark`. Categories: RPCs, Trading, Bridges, Blockchains, Aggregators, RWA, NFT APIs.

Discovered
recommend_provider

Answers "which should I use for X" by picking the benchmarks that measure X and reporting who currently leads them. Pass the user's goal in their own words: "a Solana trading bot", "an indexer backfilling Base", "a wallet that needs price data", "bridging to Arbitrum". This returns measurements and the caveat that goes with them, not an endorsement. A leader on one benchmark is the leader of that one measurement over its stated window. Where the use case has a known caveat (a bot should read p99 rather than p50, an indexer is bound by archive depth) it comes back in `guidance`; pass it on, it is usually more useful than the ranking itself.

Discovered
search_benchmarks

Ranks the benchmark catalogue against a question in the user's own words and returns the best few matches. Use this when somebody asks which provider, chain or service is fastest, cheapest, most reliable or best for something. Pass their phrasing through: provider names, chain names and goals all match. • "which Solana RPC is fastest" -> search_benchmarks({ query: "solana rpc" }) • "Alchemy or Quicknode on Base?" -> search_benchmarks({ query: "alchemy quicknode base" }) • "cheapest way to bridge to Arbitrum" -> search_benchmarks({ query: "bridge arbitrum" }) Returns compact rows. Open the one you want with `get_benchmark` for the full ranking and a citation line. An empty result means nothing is measured for that question; say so rather than guessing.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected670 ms6
Connected517 ms6