Skip to main content
Glama

BlockVectra Docs

Server Details

Read-only BlockVectra docs, supported chains, status and pricing. No API key needed.

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

A3.9/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but the pricing-related trio (get_pricing, get_method_info, estimate_usage) overlaps enough that an agent could misselect without careful reading. Descriptions do provide boundaries, though the overlap is not fully eliminated.

Naming Consistency4/5

Tool names consistently use snake_case and mostly follow a verb_noun pattern, making them predictable. Minor deviations exist: 'how_to_get_api_key' breaks the pattern, and 'read_doc' is singular while 'list_docs' and 'search_docs' are plural.

Tool Count5/5

Ten tools is a well-scoped set for a documentation and API reference server, with each tool targeting a distinct information need. There is no obvious redundancy or missing operation that would suggest a different count.

Completeness4/5

The surface covers documentation retrieval (list, search, read), API key guidance, chain capabilities, live status, pricing, method details, error explanations, and usage estimation. A minor gap is the absence of a tool for actual usage/billing retrieval or API key balance, but the stated purpose is largely served.

Available Tools

10 tools
estimate_usageEstimate Usage and CostA
Read-only
Inspect

Estimate daily and cycle Compute Units (CU) and USD cost for one or more methods and daily call volumes based on /v1/plans method weights and pricing. Pass 'lines' array of {method, calls_per_day}, or legacy single 'method' and 'calls_per_day'.

ParametersJSON Schema
NameRequiredDescriptionDefault
linesNoList of methods and daily call volumes to estimate.
methodNoExact method name (e.g. 'eth_call', 'eth_getLogs', 'eth_blockNumber', 'data.address_balances'). Legacy single-method mode.
calls_per_dayNoExpected daily call volume (non-negative integer). Legacy single-method mode.

Output Schema

ParametersJSON Schema
NameRequiredDescription
methodYes
cycle_cuNo
daily_cuNo
cu_weightNo
cycle_daysNo
calls_per_dayYes
free_quota_cuNo
quota_percentNo
cycle_cost_usdNo
daily_cost_usdNo
max_calls_per_secNo
exceeds_free_quotaNo
exceeds_rate_limitNo
average_calls_per_secNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context by naming the source of truth for the numbers (/v1/plans method weights and pricing), but says nothing about accuracy, whether values are approximate, or how stale pricing affects results.

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?

Two tight sentences: the purpose and calculation basis come first, the calling convention second. No filler, no repetition of the title.

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?

An output schema exists, so return values need not be explained, and the description covers both parameter modes and the pricing source. The only real gap is that it does not characterize the reliability or assumptions of the estimate.

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 coverage is already 100%, so the baseline is 3, but the description goes further by explaining the two invocation modes — a 'lines' array of {method, calls_per_day} objects versus the legacy single 'method'/'calls_per_day' pair — which is a relationship the schema alone does not spell out.

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 (estimate) and precise outputs (daily/cycle Compute Units and USD cost) plus the basis of the calculation (/v1/plans method weights and pricing). It is clearly a compute tool rather than a lookup, which implicitly separates it from get_pricing, but it never names a sibling or states the distinction explicitly.

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?

The description implies when the tool is useful (estimating cost from call volumes) but gives no explicit when-to-use/when-not guidance and never points to alternatives such as get_pricing for raw price data or get_method_info for validating method names. Usage must be inferred from the purpose.

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

explain_errorExplain Error Code or ReasonA
Read-only
Inspect

Lookup error code, reason, or HTTP status in the official error reference catalog. Returns meaning, billing implications (whether the call was billed), retryability, retry delay, recommended agent action, and documentation URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoError code (e.g. -32600, -32005, -32020, or console code string like 'siwe_invalid').
langNoLanguage for explanations: 'en' for English or 'zh' for Chinese. Defaults to 'en'.
reasonNoError reason slug (e.g. 'invalid_request', 'key_rate_limit', 'insufficient_balance', 'not_found').
http_statusNoHTTP status code (e.g. 200, 400, 402, 404, 429, 500, 503).

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
errorsYes
matchedYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: it returns billing implications, retryability, retry delay, and a recommended agent action, which tells the agent why the call is worth making.

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?

Two tight sentences, front-loaded with the action and catalog, followed by the return payload. No filler or redundancy.

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?

The output schema covers return values, so the description need not enumerate them, and the read-only nature is annotated. The one omission is that with zero required parameters it never says whether code, reason, or http_status must be supplied (or whether multiple can be combined), which an agent needs to invoke correctly.

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 coverage is 100% and each parameter carries its own description with examples, so the schema does the heavy lifting. The description only restates the lookup keys and adds nothing about how to combine them or that at least one is needed; baseline 3 applies.

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?

States a specific verb ('Lookup') and resource ('official error reference catalog') and names the three lookup keys (error code, reason, HTTP status), which clearly separates it from sibling doc/search/pricing tools.

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 the keys it accepts: call it when you have an error code, reason slug, or HTTP status to interpret. However, it never states when to prefer this over search_docs or read_doc, nor any exclusions, so guidance is only inferred.

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

get_method_infoGet Method InformationA
Read-only
Inspect

Inspect a method's availability across chains (per methods.allow and methods.deny), Compute Unit (CU) weight, price per million calls, and documentation link. Sourced from /v1/chains, /v1/plans, and the documentation catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoOptional chain slug (e.g. 'robinhood_mainnet'). If specified, only availability for this chain is returned.
methodYesMethod name (e.g. 'eth_call', 'eth_getBalance', 'debug_traceBlockByNumber', 'data.address_balances').

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainNo
notesNo
methodYes
docs_urlNo
cu_weightNo
supportedYes
available_chainsYes
cost_per_million_usdNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes beyond them by disclosing data provenance (/v1/chains, /v1/plans, documentation catalog) and the semantics of availability being governed by methods.allow and methods.deny rules, which is real 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.

Conciseness4/5

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

Two tight sentences, front-loaded with the substantive content and zero filler. The trailing provenance sentence is marginally useful but is the least essential part.

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?

An output schema exists, so return values need no explanation, and annotations cover the read-only profile. Parameters are fully documented. The only real gap is routing guidance relative to overlapping siblings, which is minor for a simple single-method lookup.

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 100% and both parameters are documented in the schema, including the chain-filtering behavior ('If specified, only availability for this chain is returned'). The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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 ('Inspect') plus resource ('a method') and an enumeration of exactly what is returned: cross-chain availability, CU weight, price per million calls, and doc link. It is clear what the tool does, but it never differentiates itself from siblings such as get_pricing or list_chains, which return overlapping pricing/chain data.

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?

The per-method framing implies the use case (look up one named method), but there is no explicit when-to-use statement, no exclusion of alternatives, and no guidance on when to prefer get_pricing or read_doc instead. Usage is inferable rather than stated.

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

get_pricingGet Plans and PricingA
Read-only
Inspect

Live prices and plan limits from GET /v1/plans. Use before estimating cost or when asked about free credits, rate limits or per-method prices. Units: 1 billing unit = pricing.cu_per_unit CU; 1 USD buys pricing.units_per_usd units. method_weights is CU per call; resolve a method by exact match, then the longest prefix rule ending in *, then the * row (JSON-RPC only; Data API operations have no default). free.* values are in billing units; key_defaults are per-key CU/s and burst CU. promo.ends_at is a sign-up coverage cutoff, not the end of the offer.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
freeNo
pricingYes
key_defaultsNo
method_weightsYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes well beyond them by disclosing billing-unit semantics, method_weights resolution order, free.* units, key_defaults burst semantics, and the promo.ends_at caveat — real interpretation context not present in structured fields.

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?

Purpose and usage lead, with unit/return semantics following, so it is well front-loaded. It is dense with semicolon-chained clauses and spends several sentences on return-value interpretation that a present output schema may already carry, so it is slightly heavier than strictly necessary for a no-argument tool.

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 zero-parameter read tool with annotations and an output schema, the description supplies exactly the missing layer — when to invoke it and how to read the units and lookup rules. Nothing needed to call or interpret it correctly is absent.

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 per the rubric. The description adds no parameter meaning because there are none to add, and the empty schema is self-explanatory.

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?

States a specific resource and source endpoint ('Live prices and plan limits from GET /v1/plans'), and its scope is clearly distinguishable from siblings like estimate_usage, which it explicitly routes against by naming the cost-estimation context.

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?

Gives explicit trigger conditions: 'Use before estimating cost or when asked about free credits, rate limits or per-method prices.' It does not name the sibling tool (estimate_usage) as an alternative or state when not to use it, so it stops short of a full 5.

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

get_statusGet Service and Network StatusA
Read-only
Inspect

Live operational status and network health from GET /v1/status. Confirm chain status is 'ok' before calling methods; see list_chains for static chain capabilities and method policies.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainsYes
gatewayYes
checked_atNo

TDQS

A4.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered by structured data. The description adds useful framing (live telemetry vs. static metadata) but discloses nothing further about freshness, rate limits, or error behavior; the output schema carries return-value detail, so this is adequate rather than rich.

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?

Two tight sentences with no filler, front-loaded with what the tool returns and followed by the pre-call condition and the sibling pointer. Every clause earns its place.

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?

No parameters, an output schema for returns, and annotations covering the safety profile — the remaining burden on the description is when to call it and how it differs from list_chains, both of which are covered. Nothing an agent needs to invoke it correctly 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 there is nothing for the description to disambiguate. The baseline of 4 applies; the description neither needs nor provides per-parameter guidance.

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?

States a specific verb+resource — live operational status and network health — and pins it to the concrete endpoint GET /v1/status. It explicitly contrasts itself with the sibling list_chains (static capabilities vs. live status), so an agent can distinguish it without opening either schema.

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?

Gives explicit when-to-use ('Confirm chain status is 'ok' before calling methods') and names the alternative for a different need ('see list_chains for static chain capabilities and method policies'). This is exactly the when/when-not/alternative structure the dimension rewards.

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

how_to_get_api_keyHow to Get API KeyA
Read-only
Inspect

Get instructions and endpoints for obtaining a BlockVectra API key via preferred programmatic SIWE sign-up or browser handoff, plus authentication header and URL formats for JSON-RPC and Data API.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoDocumentation language: 'en' for English or 'zh' for Chinese. Defaults to 'en'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathsYes
env_varYes
console_urlYes
auth_methodsYes
preferred_pathYes
security_noticeYes
handoff_instructionsYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes further by disclosing the concrete content of the response (sign-up paths, auth header, URL formats for both APIs), which is useful for a static-reference tool. It does not state that the content is static/versioned or how large the returned documentation is.

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 dense sentence with no filler, front-loading the verb and resource before listing the returned artifacts. 'SIWE' is unexplained jargon, but that is the only friction.

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?

An output schema exists, so return values need not be re-explained, and the description adequately frames what the call yields. For a zero-required-parameter reference tool, nothing essential to correct invocation is missing.

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 100% with a single enumerated 'lang' parameter already documented in the schema, so the schema does the heavy lifting. The description says nothing about localization or the language option, adding no meaning beyond the structured field; baseline 3 applies.

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: 'Get instructions and endpoints for obtaining a BlockVectra API key,' and enumerates the payload (auth header, URL formats for JSON-RPC and Data API). It is distinguishable from the docs-family siblings (list_docs, read_doc, search_docs) in substance, but never says so explicitly, leaving the agent to infer why this is not just a search_docs query.

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 strongly implied — an agent needing credentials or request-format details should call this — and the mention of 'preferred programmatic SIWE sign-up or browser handoff' hints at two paths. However, there is no explicit when-to-use, no when-not-to-use, and no routing against the sibling documentation tools that could plausibly cover the same ground.

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

list_chainsList Supported ChainsA
Read-only
Inspect

Fetch supported blockchain networks and static parameters from GET /v1/chains. methods.allow and methods.deny support wildcard patterns where deny takes precedence over allow. state_window_blocks indicates the historical state window in blocks for state queries (null when full history is available); max_logs_block_range limits log queries.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainsYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: deny takes precedence over allow when matching wildcards, and a null state_window_blocks means full history is available. It does not discuss caching/freshness of this static data, which is the only notable gap.

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 compact paragraph, front-loaded with the operation and endpoint, followed by field semantics. It is efficient, though the trailing field explanations partly duplicate information an output schema already conveys.

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 parameterless, read-only lookup with an output schema, the description is sufficient: it establishes purpose, endpoint, and the interpretation of the trickier returned fields. The only missing element is guidance on when this lookup is needed relative to the other API tools.

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 input parameters, so per the rubric the baseline is 4. The description appropriately spends its space on the semantics of the returned fields instead, and the schema requires no compensating explanation.

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 names a concrete verb and resource ('Fetch supported blockchain networks and static parameters') and pins the exact endpoint (GET /v1/chains), so the agent knows precisely what this returns. The 'chains' resource is clearly distinct from the sibling tools, which cover pricing, status, usage estimation, and documentation.

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 call this versus the siblings (get_pricing, get_status, estimate_usage, etc.) and no prerequisites or ordering guidance. The intended use - retrieving static per-chain configuration - must be inferred entirely from the field names.

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

list_docsList Documentation PagesA
Read-only
Inspect

List all available documentation pages, relative paths, and titles from the static documentation index. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoDocumentation language: 'en' for English or 'zh' for Chinese. Defaults to 'en'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
docsYes
langYes
countYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint=true, openWorldHint=false), so the bar is lower, and the description adds useful context: the data comes from a 'static documentation index' and requires no API key. It does not describe pagination or size limits, but for a static index that is minor.

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?

Two tight sentences, zero waste, with the scope and returned fields front-loaded before the prerequisite note.

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-required-param read tool with an output schema, annotations, and full param coverage, the description is nearly sufficient; it names the returned fields so the output schema need not be inspected. Routing to read_doc/search_docs for actual content would make it complete.

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 100% and the single 'lang' parameter is fully documented with its enum and default in the schema, so the description adds nothing beyond it. Baseline 3 applies when the schema does the heavy lifting.

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+resource ('List all available documentation pages') plus the returned fields ('relative paths, and titles'), so an agent knows exactly what it yields. It does not explicitly differentiate itself from close siblings like read_doc or search_docs.

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?

'No API key required' gives prerequisite context, and 'list all' implies a browse/enumerate use case. However, there is no explicit when-to-use vs alternatives guidance (e.g., 'use read_doc to fetch a page's content, search_docs to find by keyword').

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

read_docRead Documentation PageA
Read-only
Inspect

Read the raw Markdown content of a documentation page from /md/{lang}/{path}.md. Path must be an internal relative path (e.g. 'quickstart', 'guides/ai-agents', 'api/json-rpc', 'chains'). Parent path traversal ('..'), encoded traversal, protocol prefixes, hostnames, query strings and fragments are rejected. Data is retrieved from static documentation build assets.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoDocumentation language: 'en' for English or 'zh' for Chinese. Defaults to 'en'.
pathYesInternal relative documentation path (e.g. 'quickstart', 'guides/ai-agents', 'api/json-rpc'). Do not include protocol, hostname, query string, fragment, or '..'.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuine behavioral context beyond them: the source is static documentation build assets, and traversal attempts ('..', encoded traversal), protocol prefixes, hostnames, query strings and fragments are actively rejected rather than silently ignored.

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?

Four sentences, front-loaded with the core action and location, then constraints. The enumeration of rejected input forms is slightly long but each item carries real information for correct invocation.

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 two-parameter read tool with full schema coverage and read-only annotations, the description covers the action, return format (raw Markdown), source, and input constraints. No output schema exists, yet the return shape is described, so an agent has what it needs.

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 coverage is 100%, so the baseline is 3; the description goes further by revealing how 'path' resolves to a concrete asset (/md/{lang}/{path}.md) and gives path examples. It adds some meaning beyond the schema, but the lang default is already documented in the schema.

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 precise verb and resource ('Read the raw Markdown content of a documentation page') plus the exact resolution path (/md/{lang}/{path}.md). It is clearly distinguishable from search_docs by the word 'raw' and the single-path framing, though it never names that sibling explicitly.

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?

The description specifies what inputs are valid (internal relative paths) and what is rejected, which implies usage, but it never states when to choose this tool over search_docs or how it relates to the other siblings. Guidance is inferable rather than explicit.

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

search_docsSearch DocumentationA
Read-only
Inspect

Search documentation pages using keywords against page title, relative path, and first-paragraph summary in the lightweight static search index. Returns matching page titles, paths, and summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoLanguage to search: 'en' for English or 'zh' for Chinese. Defaults to 'en'.
limitNoMaximum number of search results to return (1-20, default 5).
queryYesKeywords to search for in documentation titles, paths, and summaries.

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
resultsYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: it searches a lightweight static index against title, relative path, and first-paragraph summary, and returns specific fields. It does not discuss rate limits or pagination, but that is not required given the annotation coverage and simple read-only nature.

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?

Two sentences with zero waste. Purpose and search targets are front-loaded, and the return information follows immediately. Every clause contributes to selecting or invoking the tool.

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 simple three-parameter read-only search tool with 100% schema coverage, an output schema, and safety annotations, the description is largely complete. It explains what is searched and what is returned. The only notable gap is routing relative to sibling tools like list_docs and read_doc, which keeps it from being fully complete.

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 100%, so the input schema already documents query, lang, and limit fully. The description does not add syntax, defaults, or constraints beyond the schema for any parameter. Baseline 3 is appropriate when the schema carries parameter semantics.

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?

States a specific verb and resource: search documentation pages using keywords. Names the exact search targets (title, relative path, first-paragraph summary) and return fields (titles, paths, summaries). This distinguishes it from sibling list_docs and read_doc without needing to open their schemas.

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?

The description implies a keyword-search scenario but gives no explicit when-to-use guidance. It does not mention alternatives like list_docs or read_doc, nor when this tool should be preferred over browsing or reading a specific page. No exclusions or routing cues are provided.

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. 1 tool update
    • Changedhow_to_get_api_key4 fields changed
      • addedOutput schema / properties / paths
        Added value: +{
        +  "properties": {
        +    "browser": {
        +      "properties": {
        +        "console_url": {
        +          "type": "string"
        +        },
        +        "instructions": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "console_url",
        +        "instructions"
        +      ],
        +      "type": "object"
        +    },
        +    "programmatic": {
        +      "properties": {
        +        "base_url": {
        +          "type": "string"
        +        },
        +        "guide_url": {
        +          "type": "string"
        +        },
        +        "notes": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "rate_limit_policy": {
        +          "properties": {
        +            "error_code": {
        +              "type": "string"
        +            },
        +            "instruction": {
        +              "type": "string"
        +            },
        +            "retry_after_header": {
        +              "type": "string"
        +            },
        +            "status": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "error_code",
        +            "status",
        +            "retry_after_header",
        +            "instruction"
        +          ],
        +          "type": "object"
        +        },
        +        "security": {
        +          "type": "string"
        +        },
        +        "steps": {
        +          "items": {
        +            "properties": {
        +              "description": {
        +                "type": "string"
        +              },
        +              "endpoint": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "name": {
        +                "type": "string"
        +              },
        +              "step": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "step",
        +              "name",
        +              "description"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "token_lifetime": {
        +          "properties": {
        +            "absolute_ttl_days": {
        +              "type": "number"
        +            },
        +            "description": {
        +              "type": "string"
        +            },
        +            "idle_ttl_hours": {
        +              "type": "number"
        +            },
        +            "refresh_token": {
        +              "type": "boolean"
        +            }
        +          },
        +          "required": [
        +            "absolute_ttl_days",
        +            "idle_ttl_hours",
        +            "refresh_token",
        +            "description"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "base_url",
        +        "guide_url",
        +        "steps",
        +        "rate_limit_policy",
        +        "token_lifetime",
        +        "notes",
        +        "security"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "programmatic",
        +    "browser"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / preferred_path
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / security_notice
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "console_url",
        -  "handoff_instructions",
        -  "env_var",
        -  "auth_methods"
        -]New value: +[
        +  "preferred_path",
        +  "paths",
        +  "console_url",
        +  "handoff_instructions",
        +  "env_var",
        +  "auth_methods",
        +  "security_notice"
        +]
  2. 9 tool updates
    • Changedestimate_usage1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "average_calls_per_sec": {
        +      "type": "number"
        +    },
        +    "calls_per_day": {
        +      "type": "number"
        +    },
        +    "cu_weight": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "cycle_cost_usd": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "cycle_cu": {
        +      "type": "number"
        +    },
        +    "cycle_days": {
        +      "type": "number"
        +    },
        +    "daily_cost_usd": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "daily_cu": {
        +      "type": "number"
        +    },
        +    "exceeds_free_quota": {
        +      "type": "boolean"
        +    },
        +    "exceeds_rate_limit": {
        +      "type": "boolean"
        +    },
        +    "free_quota_cu": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "max_calls_per_sec": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "method": {
        +      "type": "string"
        +    },
        +    "quota_percent": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "method",
        +    "calls_per_day"
        +  ],
        +  "type": "object"
        +}
    • Addedexplain_error
    • Addedget_method_info
    • Changedget_pricing3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties
        Removed value: -{}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "free": {
        +      "type": "object"
        +    },
        +    "key_defaults": {
        +      "type": "object"
        +    },
        +    "method_weights": {
        +      "type": "array"
        +    },
        +    "pricing": {
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "pricing",
        +    "method_weights"
        +  ],
        +  "type": "object"
        +}
    • Changedget_status3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties
        Removed value: -{}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "chains": {
        +      "type": "array"
        +    },
        +    "checked_at": {
        +      "type": "string"
        +    },
        +    "gateway": {
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "gateway",
        +    "chains"
        +  ],
        +  "type": "object"
        +}
    • Addedhow_to_get_api_key
    • Changedlist_chains3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties
        Removed value: -{}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "chains": {
        +      "items": {
        +        "properties": {
        +          "chain": {
        +            "type": "string"
        +          },
        +          "chain_id": {
        +            "type": "number"
        +          },
        +          "data": {
        +            "type": "boolean"
        +          },
        +          "jsonrpc": {
        +            "type": "boolean"
        +          },
        +          "max_logs_block_range": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "methods": {
        +            "type": [
        +              "object",
        +              "null"
        +            ]
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "state_window_blocks": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "chain"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "chains"
        +  ],
        +  "type": "object"
        +}
    • Addedlist_docs
    • Changedsearch_docs1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "message": {
        +      "type": "string"
        +    },
        +    "results": {
        +      "items": {
        +        "properties": {
        +          "path": {
        +            "type": "string"
        +          },
        +          "summary": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "path",
        +          "summary"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "results"
        +  ],
        +  "type": "object"
        +}
  3. 6 tool updates
    • First observedestimate_usage
    • First observedget_pricing
    • First observedget_status
    • First observedlist_chains
    • First observedread_doc
    • First observedsearch_docs

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides read-only, real-time access to TON blockchain data including wallet balances, token holdings, transactions, prices, NFTs, DNS resolution, and address validation, without requiring private keys.
    8
    12 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Read-only access to the live NOVAI blockchain (an AI-native L1) over public JSON-RPC. Query blocks, transactions, AI entities, on-chain signals, oracle anchors, and memory objects. No keys, no write paths.
    12
    38 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources