Skip to main content
Glama

CryptoKeyhole

Server Details

Read-only on-chain and market crypto analytics: BTC, ETH and 47 more assets from our own nodes.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.2/5.0

Scored across 6 tools

Disambiguation4/5

Most tools target distinct resources and actions (asset list, data fetch, metadata), but get_asset_metrics and get_metrics_list both discover metrics for a single asset, creating a clear selection ambiguity.

Naming Consistency5/5

All names use snake_case with a verb-first pattern (fetch/get + object). Variations like fetch_bulk_metrics or get_assets_list are readable and follow the same convention.

Tool Count5/5

Six tools is well-scoped for a read-only crypto analytics server, covering asset discovery, metric discovery, metadata, and single/bulk data retrieval without excessive surface.

Completeness4/5

The surface covers the core discovery-to-retrieval flow with no dead ends. Minor gaps exist, such as no asset-level metadata tool and no bulk metadata retrieval, but agents can work around these by iterating.

Available Tools

6 tools
fetch_bulk_metricsFetch bulk metricsA
Read-onlyIdempotent
Inspect

Read multiple metric selections sequentially. Each item retains its own provenance and revision; this is not one atomic snapshot. Unsupported selections are explicit per-item errors. The existing 200000-observation and response-byte bounds apply to the combined result.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestsYes

TDQS

A3.8/5.0
Behavior5/5

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

Beyond the annotations (readOnly/idempotent/non-destructive), the description discloses genuinely useful behavior: reads are sequential and not one atomic snapshot, each item keeps its own provenance/revision, unsupported selections surface as per-item errors, and the 200000-observation and response-byte bounds apply to the combined result. This is exactly the operational context annotations cannot carry.

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?

Four tight sentences with the defining distinction ('multiple...sequentially', 'not one atomic snapshot') front-loaded, followed by error model and resource bounds. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description covers atomicity, per-item error semantics, and resource bounds, which are the high-risk unknowns. It stops short of describing the actual response shape, leaving some ambiguity about how results map to the request list.

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

Parameters2/5

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

Top-level schema description coverage is 0%, and the description never explains the request fields (metric, start, end, asset, interval, smoothing, sma, publication) — it only refers to 'metric selections' abstractly. It adds essentially no meaning beyond what the nested subfield descriptions already provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Read multiple metric selections') and the word 'multiple' distinguishes it from the singular sibling fetch_metric. It does not explicitly name which sibling to prefer, but the bulk framing makes the scope unambiguous.

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

Usage Guidelines3/5

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

Usage is implied by 'multiple metric selections' versus the singular fetch_metric, but there is no explicit when-to-use or when-not statement and no alternative named. The agent can infer the bulk use case but must reason about it.

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

fetch_metricFetch metricC
Read-onlyIdempotent
Inspect

Read exact unreduced BTC, ETH, SOL, XRP, TRX, BNB, DOGE, TON, LINK, HYPE, WBTC, ADA, NEAR, XLM, BCH, LTC, UNI, AVAX, SUI, HBAR, WLFI, SHIB, QNT, ENA, MORPHO, AAVE, ONDO, DOT, ZRO, PEPE, SKY, ARB, POL, APT, CRV, ETHFI, PENDLE, ENS, FET, LDO, EIGEN, IMX, AXS, GRT, SYRUP, FLOKI, COMP, SAND or APE observations with decimal strings, original source clocks, revision, finality and gaps. End is exclusive. Metric-specific interval and retained-publication restrictions apply. No new observation is acquired.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoExclusive UNIX seconds UTC.
smaNo
assetNoBTC
startNoInclusive UNIX seconds UTC.
metricYes
intervalNo24h
smoothingNosma
publicationNoAn actual retained publication ID; only supported metric/interval pairs accept it.

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds some genuine behavioral context beyond them: the returned payload contents (decimal strings, source clocks, revision, finality, gaps) and that 'retained-publication restrictions apply' and no new observation is acquired. The restrictions themselves are never defined, keeping this at an adequate-but-shallow level.

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

Conciseness2/5

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

The description front-loads a 49-item asset enumeration that duplicates the schema's own enum and consumes the majority of the text, burying the actual behavior. The genuinely informative clauses about clocks, revision, finality and restrictions come after the bloat, inverting the ideal front-loaded structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema and only 38% schema coverage, the description is too thin. It omits what 'metric' values are valid, what intervals are supported, how sma/smoothing interact, and how publication IDs are chosen, leaving the agent without enough to call it correctly beyond a trivial default case.

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

Parameters2/5

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

Schema description coverage is only 38%, so the description is expected to compensate, yet it explains almost no parameters. It restates the end-exclusive rule and vaguely alludes to interval/publication restrictions but says nothing about metric, sma, smoothing, start, or how interval values are formed, leaving five-plus parameters undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('Read ... observations with decimal strings, original source clocks, revision, finality and gaps'), which tells the agent this returns a time-series of metric data rather than metadata or a list. However, it never distinguishes itself from siblings like fetch_bulk_metrics or get_asset_metrics, so differentiation must be inferred. The core purpose is clear despite the jargon ('unreduced').

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

Usage Guidelines2/5

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

There is no explicit when-to-use / when-not guidance and no alternative tool is named, even though fetch_bulk_metrics and get_asset_metrics are obvious candidates. The only implicit usage signal is 'No new observation is acquired', which hints this reads stored data rather than triggering ingestion, but the agent is left to guess when this tool is preferable.

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

get_asset_metricsGet asset metricsC
Read-onlyIdempotent
Inspect

Discover the available and held metrics of one asset: BTC, ETH, SOL, XRP, TRX, BNB, DOGE, TON, LINK, HYPE, WBTC, ADA, NEAR, XLM, BCH, LTC, UNI, AVAX, SUI, HBAR, WLFI, SHIB, QNT, ENA, MORPHO, AAVE, ONDO, DOT, ZRO, PEPE, SKY, ARB, POL, APT, CRV, ETHFI, PENDLE, ENS, FET, LDO, EIGEN, IMX, AXS, GRT, SYRUP, FLOKI, COMP, SAND or APE.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetYesBTC
limitNo
cursorNo
categoryNo

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing on top: no word on pagination via limit/cursor, no word on how category narrows results, and no indication of the return shape. With annotations doing the heavy lifting, this is still a bare-minimum disclosure.

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

Conciseness2/5

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

The core statement is one short clause, but it is buried behind an exhaustive ticker dump that duplicates the schema enum verbatim. That is pure redundancy, not conciseness, and it pushes the actual purpose to the front only because nothing else follows it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with no output schema and 0% schema description coverage, the description should carry pagination and filtering semantics. It does not, so an agent cannot tell how limit/cursor interact or what 'category' filters on, nor what the response contains.

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

Parameters2/5

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

Schema description coverage is 0% across four parameters. The description only touches 'asset', and even there it merely restates the enum values rather than adding meaning (e.g., whether it is a symbol or an id). The 'limit', 'cursor', and 'category' parameters are completely undocumented in both schema and description, leaving half the calling contract unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb+resource ('get/discover ... metrics of one asset') is identifiable, but 'available and held metrics' is vague jargon that never explains what a metric actually is. The sentence is almost entirely consumed by re-listing the 49 asset tickers already present in the schema enum, and it makes no attempt to distinguish itself from siblings like get_metrics_list or fetch_metric.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all. The description never says when to pick this tool over fetch_metric, fetch_bulk_metrics, or get_metrics_list, nor does it state any prerequisites. The reader must infer the single-asset vs bulk distinction entirely from the tool name.

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

get_assets_listGet assets listA
Read-onlyIdempotent
Inspect

List active analytics assets: BTC, ETH, SOL, XRP, TRX, BNB, DOGE, TON, LINK, HYPE, WBTC, ADA, NEAR, XLM, BCH, LTC, UNI, AVAX, SUI, HBAR, WLFI, SHIB, QNT, ENA, MORPHO, AAVE, ONDO, DOT, ZRO, PEPE, SKY, ARB, POL, APT, CRV, ETHFI, PENDLE, ENS, FET, LDO, EIGEN, IMX, AXS, GRT, SYRUP, FLOKI, COMP, SAND and APE.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered and the description correctly does not contradict it. The description adds the word 'active', which implies inactive/delisted assets are excluded, but says nothing about ordering, freshness, or whether the list is paginated or cached.

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

Conciseness3/5

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

The purpose is front-loaded in the first four words, which is good structure. However, the remaining ~50-item enumeration dominates the description and largely restates what the tool itself returns, which will also go stale as assets are listed or delisted; a pointer such as 'call this to discover valid symbols' would have been tighter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description does tell the agent what it will get back (the set of tradable analytics assets), which is the main thing that would otherwise be unknown. It is slightly incomplete in not clarifying the relationship to get_metrics_list, but nothing needed to call it is missing.

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 takes zero parameters, so the baseline is 4 and there is no parameter semantics for the description to compensate for. The enumerated symbols function as the return-value vocabulary rather than as input semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List active analytics assets') and then enumerates exactly what an asset is, so the agent can distinguish this from the metrics-oriented siblings (get_metrics_list, get_metric_metadata) by resource alone. It stops short of naming those siblings or explaining the division of labor between them.

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

Usage Guidelines3/5

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

Usage is only implied: the enumerated symbols suggest this is the tool to call to discover valid symbol strings before calling fetch_metric or get_asset_metrics, but the description never states that or names an alternative. There are no explicit when-to-use or when-not-to-use conditions.

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

get_metric_metadataGet metric metadataB
Read-onlyIdempotent
Inspect

Read the current metric definition, supported intervals, method, coverage and source limitations.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetNoBTC
metricYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds that the response includes data-quality caveats ('coverage and source limitations'), which is genuine extra context, but says nothing about behavior for an unknown metric or how the definition relates to returned values.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the verb and resource come first and the returned fields follow. It is efficient, though the trailing list of fields is slightly dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully covers what comes back, but it leaves the parameter layer entirely undocumented and offers no routing guidance among the five sibling tools. Adequate but with clear gaps for a two-parameter tool.

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

Parameters2/5

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

Schema description coverage is 0% and the description never mentions either parameter. It does not explain the expected format of the required 'metric' identifier or that 'asset' is an optional filter defaulting to BTC, leaving both parameters semantically bare.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('Read') plus resource ('metric definition') and an explicit enumeration of what the metadata covers: intervals, method, coverage, source limitations. This implicitly separates it from value-fetching siblings like fetch_metric and get_asset_metrics, though no sibling is named directly.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use statement and no alternative tool is named. The agent must infer from the word 'metadata' that this precedes a data fetch, but nothing in the text confirms that workflow.

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

get_metrics_listGet metrics listC
Read-onlyIdempotent
Inspect

Discover metrics for one asset (BTC by default; ETH, SOL, XRP, TRX, BNB, DOGE, TON, LINK, HYPE, WBTC, ADA, NEAR, XLM, BCH, LTC, UNI, AVAX, SUI, HBAR, WLFI, SHIB, QNT, ENA, MORPHO, AAVE, ONDO, DOT, ZRO, PEPE, SKY, ARB, POL, APT, CRV, ETHFI, PENDLE, ENS, FET, LDO, EIGEN, IMX, AXS, GRT, SYRUP, FLOKI, COMP, SAND or APE) by existing category, including honest held and delayed states. Cursor pages follow the current catalogue and are not an immutable snapshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetNoBTC
limitNo
cursorNo
categoryNo

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive, closed-world semantics, so the safety profile is covered. The description adds a genuinely non-obvious behavioral trait: cursor pages track the current catalogue rather than an immutable snapshot, warning that results can shift mid-pagination. It stops short of describing the return shape or page-size interaction, keeping it below a 5.

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

Conciseness2/5

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

The description front-loads the purpose reasonably, but roughly half its length is a 48-item ticker list that duplicates the schema enum verbatim and adds no information. That bloat buries the actually valuable pagination caveat at the end of the text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter-required, read-only list tool with no output schema, the description covers scope, default asset, and pagination consistency, which is close to sufficient. It still leaves 'limit' and 'category' semantics undefined, which matters because 0% of parameters are documented in the schema.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must carry the load. It does explain the asset default (BTC) and the semantics of cursor stability, which is useful, but 'limit' is never mentioned and 'category' is only gestured at with 'by existing category' without saying where categories come from or whether it is a prefix/exact match.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a verb ('Discover') and a resource ('metrics') and scopes it to one asset filtered by category, so the basic purpose is inferable. However, 'discover' is vague relative to the clearer 'list' framing of the name, and it never distinguishes itself from siblings like get_asset_metrics, get_metric_metadata, fetch_metric or fetch_bulk_metrics. The 48-ticker enumeration restates the schema enum instead of clarifying the purpose.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus the five sibling metric tools, nor any exclusion or prerequisite guidance. The phrase 'including honest held and delayed states' hints at coverage but does not tell the agent when that matters or when to choose a different listing tool.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedfetch_bulk_metrics
    • First observedfetch_metric
    • First observedget_asset_metrics
    • First observedget_assets_list
    • First observedget_metric_metadata
    • First observedget_metrics_list

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources