Skip to main content
Glama

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
ChainBench/OpenChainBench
GitHub Stars
5
Server Listing
Openchainbench

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.8/5 across 3 of 3 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct role: list_benchmarks for discovery, get_benchmark for detailed citation-ready data, and query_prom for custom PromQL analysis. The descriptions explicitly guide which tool to use, eliminating ambiguity.

Naming Consistency5/5

All tool names follow the same verb_noun snake_case pattern: list_benchmarks, get_benchmark, query_prom. This consistent convention makes the API predictable and easy to reason about.

Tool Count5/5

With three tools, the server is well-scoped for its purpose. Each tool earns its place: listing, retrieving details, and executing advanced queries. No redundant tools exist, and the count is sufficient to cover the domain without being excessive.

Completeness5/5

The tool set fully covers the read-only benchmark domain: enumeration (list_benchmarks), specific retrieval (get_benchmark), and arbitrary custom analysis (query_prom). No obvious gaps like missing search or filter capabilities are apparent, as list_benchmarks provides a flat index.

Available Tools

3 tools
get_benchmarkGet a single OpenChainBench benchmarkAInspect

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.

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" })

Drafts return { error: "unknown_slug" }. Cite the returned pageUrl and use quote as the attribution line in your answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesBenchmark slug from list_benchmarks. e.g. 'aggregator-head-lag', 'bridge-quote-latency', 'l1-finality'.
chainNoOptional chain filter, e.g. 'base', 'solana', 'bnb'. Only honored when the bench declares chain dimensions.
regionNoOptional region filter, e.g. 'us-east', 'eu-west', 'ap-southeast'. Only honored when the bench declares region dimensions.
Behavior5/5

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

No annotations are provided, so the description carries full burden. It thoroughly discloses return payload structure, the 'unknown_slug' error for drafts, optional parameter scoping behavior, and citation instructions. This goes well beyond a simple 'get' and gives the agent realistic expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with bullet points and a clear example section. It front-loads the core purpose and output details, keeping every sentence useful without unnecessary repetition.

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, but the description compensates by explicitly listing all return components, explaining error behavior, and providing citation instructions. With concrete usage examples and optional param semantics, the description is complete for reliable tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already documented. The description adds meaningful context: examples for chain values, the fact that chain/region are optional and produce a global aggregate when omitted, and that they are only honored when the benchmark declares those dimensions.

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?

The description opens with 'Returns full detail for one benchmark' and enumerates specific output components (rankings, sparkline, headline quote, methodology). This clearly identifies the tool's purpose and differentiates it from sibling tools like list_benchmarks and query_prom.

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

Usage Guidelines4/5

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

Clear guidance is given for optional chain/region parameters, with concrete examples showing when to pass them and when to omit them for the global aggregate. However, it does not explicitly contrast with sibling tools or state when not to use this tool in favor of list_benchmarks or query_prom.

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

list_benchmarksList OpenChainBench benchmarksAInspect

Returns a flat index of every published OpenChainBench benchmark with its current headline value, leader, category, units, and citation URL.

Call this first when the user asks a discovery question like "what benchmarks does OpenChainBench have?" or "compare crypto aggregators". Then use get_benchmark for the specific slug(s) the answer needs.

Returns one line per bench: { slug, title, category, metric, unit, value, leader, headline, url, asOf }

Drafts are filtered out: only live benchmarks appear.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that drafts are filtered out, describes the return format, and lists the fields returned. It could go further by noting ordering or potential absence of results, but it already provides meaningful behavioral context beyond a generic 'list' statement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-organized. It leads with the core purpose, then usage guidance, then return shape, then a filter note. Every sentence contributes to understanding the tool with no redundancy.

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 simple, zero-parameter list tool, the description is complete. It covers purpose, usage, return format, and filtering. Since there is no output schema, the explicit field listing compensates adequately, making the tool self-explanatory.

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 has zero parameters, so the schema coverage is effectively 100%. The description adds value by explaining the meaning of the output fields and the filtering behavior, though it does not need to explain parameters that don't exist.

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?

The description states a specific verb ('Returns a flat index') and resource ('every published OpenChainBench benchmark') with a clear list of included fields. It also distinguishes itself from the sibling `get_benchmark` by explicitly saying to use that tool for specific slugs.

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?

Explicit usage guidance is provided: 'Call this first when the user asks a discovery question' and then use `get_benchmark` for details. This clearly states when to use this tool versus the alternative, along with example questions.

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

query_promRun a PromQL query (scoped to benchmark metric namespaces)AInspect

Direct PromQL passthrough for advanced questions that don't map cleanly to list_benchmarks / get_benchmark, e.g. "what was Mobula's p50 head-lag yesterday at 14:00 UTC" or "plot bridge fees over the last hour".

Prefer the higher-level tools first; reach for this when you need: • a custom time window (instant query at a specific point, or range) • a derived metric (rates, ratios, deltas) • a histogram bucket aggregation across chains/regions

Allowed metric namespaces (one prefix per OCB bench family): head_lag_seconds (aggregator latency) bridge_quote_latency_ms*, bridge_cost*, bridge_fees*, bridge_fix_fee*, bridge_gas*, bridge_output*, bridge_estimated_time*, bridge_quote_success l1_finality_*, l2_block_time_* metadata_coverage_*, metadata_api_latency_*, network_coverage_*, networks_supported, wallet_labels_* perp_fees_*, perp_funding_*, perp_venue_*, perp_execution_*, ocb_buyback_*, ocb_oracle_*, ocb_validator_*, ocb_chain_* gas_error_*, gas_predicted_*, gas_realized_*, gas_oracle_* peg_* (stablecoin peg, both variants) solana_landing_* (TX landing observational + active) rpc_latency_*, rpc_call_total, rpc_health, rpc_archive_depth_supported relay_*, per_swap_margin_usd (bridge revenue) Queries referencing other metrics (operational/internal ones like up, scrape_*, process_*, go_*, wallet_balance_* or any label- enumeration shape) are refused with {error, reason}.

Example: instant p50 over 1h for Mobula head-lag on Base: query_prom({ query: "quantile_over_time(0.5, head_lag_seconds{aggregator="mobula",chain="base"}[1h]) * 1000" })

Example: 7-day sparkline of average bridge fees: query_prom({ query: "avg_over_time(bridge_fees_percent[1d])", windowSec: 604800, steps: 168 })

Returns: { query, value } for instant queries, { query, windowSec, series } for range.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesPromQL expression referencing published benchmark metric prefixes only. Function names, label keys, and quoted label values are fine; bare metric names must be allowlisted.
stepsNoNumber of samples for a range query (2 to 360). Default 60. Step duration = windowSec / steps.
windowSecNoIf set, run a range query over the last N seconds (max 7 days = 604800). Omit for an instant query.
Behavior5/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It details allowed metric namespaces, refuses non-allowed metrics with a specific error shape (`{error, reason}`), and discloses return formats for both instant and range queries. This is comprehensive behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence contributes: scope, usage guidance, allowed namespaces, refusals, examples, and return types. It is well-structured with bullets and examples, making it scannable without redundancy.

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 raw query tool with no output schema and no annotations, the description provides all necessary context: what the tool does, when to use it, what metrics are allowed/refused, how parameters behave, and what to expect in the response. It is self-sufficient for the agent.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds value with concrete examples showing how `query` is used, and clarifies `windowSec` + `steps` semantics (step duration = windowSec / steps). This goes beyond the schema's parameter 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?

The description explicitly states it is a 'Direct PromQL passthrough' for advanced questions that don't map cleanly to `list_benchmarks`/`get_benchmark`, and provides concrete example questions. This clearly identifies the tool's purpose and distinguishes it from its siblings.

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 explicitly says 'Prefer the higher-level tools first' and then lists specific use cases: custom time windows, derived metrics, histogram aggregations. It also explicitly mentions that queries referencing operational/internal metrics are refused, providing clear when-to-use and when-not-to-use guidance.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Read-only crypto perps microstructure for AI agents: normalized cross-exchange market state (funding + multi-year percentile, OI, volume, CVD, order-book imbalance, liquidations, basis), OHLCV, 15-min state history, and measured conditional outcomes (historical base rates, not predictions) — 6 assets across Binance, Bybit, OKX and Hyperliquid, every metric with self-declared coverage and freshness
    Last updated
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.