Skip to main content
Glama

a0nexus-bitcoin-mcp

Live crypto + energy predictive data + AI forecasts, right inside Claude (and any MCP-capable AI app).

This is a Model Context Protocol server that gives your AI assistant real-time predictive intelligence — Bitcoin network, mempool, and fees; Ethereum gas; best-time-to-transact timing on both chains; AI Bitcoin price forecasts; and Texas (ERCOT) electricity price forecasting including the cheapest upcoming window to run load — all as tools it can call mid-conversation. Data comes from the a0nexus.com Predictive Intelligence API.

Live Bitcoin fees/network/mempool, Ethereum gas, and current ERCOT power prices are free and need no wallet — install it and ask "what's the current Bitcoin fee?", "what's ETH gas right now?", or "what's Texas power costing?" right away. The differentiated tools (forecasts, fee forecast, confirmation ETA, mempool depth, intelligence brief) are pay-per-call: each request is settled with a few cents of USDC on Base via x402 (HTTP 402) — no account, no signup, no subscription. You only enable paid tools if you want them.

Install it with a single npx line (below). Node 18+ required.

Tools

Free (no wallet needed)

Tool

What it returns

get_current_fees

Current recommended Bitcoin fee rates (sat/vB) by confirmation target.

get_network_snapshot

Chain height, best block hash, peers, sync state, mempool summary.

get_mempool_snapshot

Current mempool size, fee-rate histogram, and congestion.

get_eth_gas_current

Ethereum gas now (gwei): base fee + slow/standard/fast tiers + congestion.

get_ercot_price_current

Texas power now ($/MWh) on the ERCOT grid + cheap/normal/expensive level. Arg: hub.

get_status

Service status, active payment mode, and component health.

get_pricing

Per-endpoint pricing and the payment network in use.

Paid (require a funded Base wallet — see Paid tools)

Tool

What it returns

get_broadcast_timing

Best time to broadcast (Bitcoin) — send now vs. wait, and the sat/vB you'd save. Args: target (blocks, default 6), vsize (vB, optional → total sats saved).

get_eth_gas_timing

Best time to send (Ethereum) — send now vs. wait, and the gwei/ETH you'd save. Args: blocks (default 5), gas_limit (optional).

get_eth_gas_forecast

Ethereum base-fee forecast (gwei), N blocks ahead. Args: blocks (default 5).

get_ercot_cheapest_window

Cheapest window to run load (Texas grid) — when to charge/compute in the next 24h + savings vs the daily average. Args: window_hours (default 2), horizon_hours (default 24), hub.

get_ercot_price_forecast

ERCOT electricity price forecast ($/MWh) for the next N hours. Args: hours (default 12), hub.

get_fee_forecast

Forecast of Bitcoin transaction fees by confirmation target.

get_tx_confirmation

Confirmation status / ETA for a transaction. Args: txid.

get_latest_forecast

Latest published AI price forecast. Args: symbol (e.g. BTCUSD), timeframe (e.g. 1h, 4h, 1d).

run_custom_forecast

Run a bespoke Kronos forecast. Args: symbol, timeframe, horizon, sample_count, lookback.

get_intelligence

Aggregated Bitcoin intelligence brief. Optional arg: timeframe.

Related MCP server: mcp-mempool-space

Install

Add the server to your AI app's MCP config. All three use the same one-line npx command — no clone, no build, no global install.

Claude Desktop

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "a0nexus-bitcoin": {
      "command": "npx",
      "args": ["-y", "a0nexus-bitcoin-mcp"],
      "env": {
        "BTCI_API_URL": "https://a0nexus.com"
      }
    }
  }
}

Claude Code

Add an .mcp.json at your project root:

{
  "mcpServers": {
    "a0nexus-bitcoin": {
      "command": "npx",
      "args": ["-y", "a0nexus-bitcoin-mcp"],
      "env": {
        "BTCI_API_URL": "https://a0nexus.com"
      }
    }
  }
}

Cursor

Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):

{
  "mcpServers": {
    "a0nexus-bitcoin": {
      "command": "npx",
      "args": ["-y", "a0nexus-bitcoin-mcp"],
      "env": {
        "BTCI_API_URL": "https://a0nexus.com"
      }
    }
  }
}

Restart the app. Your assistant can now fetch live Bitcoin fees and network status for free immediately — try asking "what's the current Bitcoin fee?"

Paid tools

The free tools work with no wallet at all. To unlock the paid tools, add two environment variables to the env block above:

"env": {
  "BTCI_API_URL": "https://a0nexus.com",
  "BTCI_MCP_PAYMENT": "real",
  "BTCI_MCP_PRIVATE_KEY": "0x……"
}
  • BTCI_MCP_PAYMENT: set to real to pay actual USDC. (Leave it unset, or none, for free-only operation.)

  • BTCI_MCP_PRIVATE_KEY: the private key of a Base wallet holding a little USDC. Each paid call spends that endpoint's price (a few cents). Fund it with only what you're comfortable spending — call get_pricing to see exact per-endpoint costs.

  • BTCI_MCP_NETWORK (optional): base (default) or base-sepolia for testnet.

Treat the private key like any secret: use a dedicated low-balance wallet, and never commit it to source control.

How it works

Paid endpoints use the x402 standard: the server requests a resource, the API replies HTTP 402 Payment Required with a price, the client signs a USDC transfer on Base and retries, and the API returns live data. It's true pay-per-call metering — no account, no signup, no monthly bill. You pay only for the calls your assistant actually makes.

Learn more and see live pricing at a0nexus.com.

License

MIT

Available Tools

17 tools
get_broadcast_timingA

Best time to broadcast: given live mempool pressure and the fee forecast, whether to send a Bitcoin transaction now or wait, with the expected sat/vB savings (and total sats if you pass the tx vsize). Paid.

ParametersJSON Schema
NameRequiredDescriptionDefault
vsizeNoTransaction virtual size in vB, to get total sats saved.
targetNoDesired confirmation window in blocks (1–144, default 6).

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states that the tool is 'Paid', which is an important trait, and explains that it returns expected sat/vB savings and optionally total sats if a vsize is passed. Missing are details about authentication, rate limits, or whether the tool has any side effects, but the core behavior is disclosed.

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 a single, focused sentence that front-loads the purpose ('Best time to broadcast') and includes all essential components: inputs, decision logic, output, and cost. No unnecessary words or repetitions.

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 relatively simple advisory tool with two parameters and no output schema, the description is sufficiently complete. It explains what the tool does, what it needs, what it returns, and that it is paid. While it doesn't cover error cases or rate limits, these are not critical for this tool type given the robust schema and clear purpose.

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 both parameters (vsize and target) are already well documented. The description adds context that vsize is used to compute total sats, but this is a minor addition. Baseline of 3 is appropriate because the schema already provides sufficient 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?

The description clearly states the tool's purpose: determining the best time to broadcast a Bitcoin transaction based on live mempool pressure and fee forecast. It specifies the decision ('now or wait') and the output (expected sat/vB savings, plus total sats if vsize is provided). This distinguishes it from sibling tools like get_fee_forecast or get_current_fees, which focus on fee rates rather than timing advice.

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 the tool should be used when a user has mempool pressure and fee forecast data and wants to decide whether to send a transaction immediately or wait. It also notes that the tool is 'Paid', which is a key usage consideration. However, it does not explicitly state alternatives or when not to use this tool relative to other fee or mempool tools.

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

get_current_feesA

Current recommended Bitcoin fee rates (sat/vB) by confirmation target, from a full node's estimator. FREE — no wallet needed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It discloses that the tool is free, requires no wallet, and uses a full node estimator, which are key operational traits. It does not mention rate limits or return structure, but for a simple read-only fee query, these details are sufficient.

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 two concise sentences that convey all essential information without fluff. It is front-loaded with the core purpose and immediately adds value with the free and no-wallet clarification.

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?

Given the low complexity of a zero-parameter read-only tool and the absence of an output schema, the description adequately explains what the tool returns (fee rates by target, units), where it comes from, and access requirements. It is sufficiently complete for an agent to invoke correctly.

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 input schema provides all necessary information. The description adds contextual meaning (what the data represents) but does not need to explain parameters. A baseline score of 4 is appropriate given the absence of parameters.

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 clearly states the tool returns current recommended Bitcoin fee rates in sat/vB by confirmation target, sourced from a full node estimator. It uses specific, informative language that distinguishes it from sibling tools like get_fee_forecast (future forecast) and get_pricing (pricing).

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?

The description provides clear context for when to use this tool: when current recommended fee rates are needed, emphasizing it is free and requires no wallet. While it does not explicitly name alternatives or exclusions, the mention of 'current' and 'recommended' implies a direct use case, and the sibling context offers alternatives.

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

get_ercot_cheapest_windowA

Cheapest upcoming window to run electricity load on the Texas (ERCOT) grid — when to charge/compute in the next 24h and how far below the daily average. Paid.

ParametersJSON Schema
NameRequiredDescriptionDefault
hubNoERCOT hub (default HB_HUBAVG).
window_hoursNoWindow length in hours (1–12, default 2).
horizon_hoursNoSearch horizon in hours (1–48, default 24).

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It discloses the tool is paid and that it returns a comparison to the daily average, but it also limits the search to 'the next 24h' despite the horizon_hours parameter allowing up to 48, which could mislead agents. No information about output format, data source, or other side effects is given.

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 a single well-structured sentence with the core value proposition front-loaded. It efficiently conveys the tool's purpose, geographic scope, and a key output metric ('how far below the daily average') without unnecessary words.

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?

The tool is relatively simple with three optional parameters and no output schema, so the description gives a reasonable overview. However, it does not specify the return format, and the fixed 'next 24h' phrasing conflicts with the configurable horizon, leaving some ambiguity about the full capability.

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?

The schema provides clear descriptions for all three optional parameters, so the description does not need to add much. It does mention a 24-hour window, aligning with the default horizon, but adds no new meaning beyond the schema definitions. Baseline 3 is appropriate.

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 clearly defines the tool's output as the cheapest upcoming window for electricity load on ERCOT, with specific details on timing and cost savings. It distinguishes itself from sibling tools that provide raw price or forecast data rather than an optimal scheduling window.

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 a clear use case (scheduling compute/charging on ERCOT) but does not explicitly state when to use this tool over alternatives like get_ercot_price_forecast. It offers no exclusions or comparative guidance, relying on the agent to infer from sibling names.

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

get_ercot_price_currentA

Current Texas (ERCOT) grid electricity price in $/MWh plus a cheap/normal/expensive level. FREE — no wallet needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
hubNoERCOT hub, e.g. HB_HUBAVG (default), HB_HOUSTON, HB_WEST.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are present, so the description carries the burden of behavioral disclosure. It discloses that the tool is free and requires no wallet, which is useful. However, it does not explain the meaning of the price levels, rate limits, or the exact response structure beyond price and level.

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 a single sentence plus a short cost note, making it appropriately compact and front-loaded. Every word adds value, and there is 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?

For a simple one-parameter getter with no output schema, the description covers the core purpose and cost, and the schema handles the parameter. It omits level thresholds and response format details, but given the tool's simplicity, it is reasonably 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?

The input schema fully describes the single optional hub parameter with examples and default. The description adds no additional parameter semantics, so the baseline of 3 is appropriate given the 100% schema coverage.

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 clearly states the tool returns the current ERCOT grid electricity price in $/MWh along with a cheap/normal/expensive level. The word 'current' distinguishes it from sibling forecast tools like get_ercot_price_forecast, though the description is a noun phrase rather than an explicit verb+resource.

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 this is the tool for current pricing, and the sibling list includes forecast and cheapest-window tools, but it does not explicitly say when to use this over alternatives or mention any exclusions. The 'FREE' note gives cost context but no guidance on choosing among siblings.

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

get_ercot_price_forecastA

Texas (ERCOT) electricity price forecast ($/MWh) for the next N hours, from hour-of-week seasonality anchored to the recent level. Paid.

ParametersJSON Schema
NameRequiredDescriptionDefault
hubNoERCOT hub (default HB_HUBAVG).
hoursNoHours ahead (1–48, default 12).

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that the tool is paid and describes the forecasting method (hour-of-week seasonality anchored to recent level). However, it does not disclose the output format (e.g., single value vs. series), update frequency, or error conditions.

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 a single, front-loaded sentence that covers purpose, unit, method, and cost. Every part is necessary and no filler exists.

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?

Without an output schema, the description should clarify what the forecast returns. It only states the unit but not whether it is a point forecast, list, or curve. For a simple tool, this is a notable gap.

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?

The input schema already covers both parameters with descriptions (hub and hours). The description adds no new parameter-specific meaning, so the baseline score of 3 is appropriate.

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 clearly states the tool provides a Texas ERCOT electricity price forecast in $/MWh for a future time horizon, with a specific methodology. It distinguishes from siblings like get_ercot_price_current by focusing on forecasting.

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 it should be used for obtaining a forward-looking ERCOT price forecast, but it does not explicitly mention when to prefer it over get_ercot_price_current or get_ercot_cheapest_window, nor any exclusions.

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

get_eth_gas_currentA

Current Ethereum gas in gwei: next-block base fee plus slow/standard/fast priority-fee tiers and congestion. FREE — no wallet needed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the disclosure burden. It states 'FREE — no wallet needed', which implies read-only, public access with no side effects. It also details the data returned (base fee, priority tiers, congestion). While it doesn't mention rate limits or response format, the tool is simple and zero-parameter, making this sufficient.

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 two succinct sentences. The first front-loads the core purpose and output contents; the second adds a differentiator ('FREE — no wallet needed'). There is no wasted verbiage.

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-input, no-output-schema read tool, the description is fully complete. It tells the agent exactly what data will be returned and the access requirements. No gaps in context are present for the expected use case.

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 description doesn't need to explain parameter syntax. Per the baseline for 0 params, a score of 4 is appropriate. The description adds no param-specific info, but none is needed.

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 clearly identifies the tool as returning current Ethereum gas in gwei, enumerating specific components (next-block base fee, priority-fee tiers, congestion). The word 'Current' distinguishes it from forecast-related siblings like get_eth_gas_forecast.

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?

The description establishes clear context: this tool is for current gas data, as implied by 'Current'. It also notes 'FREE — no wallet needed', indicating no auth prerequisites. However, it doesn't explicitly name alternatives for forecast or timing, relying on the name for differentiation.

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

get_eth_gas_forecastA

Forward Ethereum base-fee forecast (gwei), projected N blocks ahead via the EIP-1559 rule, with a trend label. Paid.

ParametersJSON Schema
NameRequiredDescriptionDefault
blocksNoBlocks ahead to project (1–30, default 5).

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the tool is paid and produces a forecast with a trend label, but it does not explain the return format, error behavior, or consequences of invalid inputs. This is useful but incomplete for a tool without annotations or output schema.

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 concise sentences with no wasted words. The first packs the core purpose, method, and output elements; the second notes cost. Information is front-loaded and easy to scan.

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 one-parameter tool, the description covers the essential aspects: forecast direction, unit (gwei), methodology (EIP-1559), output addition (trend label), and cost. However, with no output schema, it could benefit from detailing the response structure. Still, it is largely complete for the tool's complexity.

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?

The input schema already provides 100% coverage for the single 'blocks' parameter, including range (1-30) and default (5). The description's mention of 'projected N blocks ahead' aligns with the schema but adds no extra semantic meaning beyond what is already documented. Baseline 3 is appropriate.

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 clearly states it provides a forward Ethereum base-fee forecast in gwei, projecting N blocks ahead via the EIP-1559 rule with a trend label. This distinguishes it from siblings like get_eth_gas_current (current fees) and get_fee_forecast (generic forecast). The verb+resource combination is specific and 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: use when needing an Ethereum base-fee forecast for future blocks. However, it does not explicitly mention when to use this tool versus alternatives like get_latest_forecast or run_custom_forecast, nor does it state exclusions. The 'Paid' note hints at cost but does not guide decision-making.

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

get_eth_gas_timingB

Best time to send an Ethereum transaction: send now vs. wait, plus the gwei/ETH you'd save at a given gas limit. Paid.

ParametersJSON Schema
NameRequiredDescriptionDefault
blocksNoBlocks ahead (1–30, default 5).
gas_limitNoGas limit for total-savings calc (default 21000).

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It only adds 'Paid' (a cost indicator) and hints at the output (savings in gwei/ETH). It does not disclose whether the operation is read-only, what the response structure looks like, or any limitations such as rate limits or data freshness. This is a significant gap for a tool with no annotation support.

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 a single sentence that front-loads the main value proposition ('Best time to send') and includes only essential details: the comparison (now vs. wait), the savings calculation, and the paid nature. No filler or repetition.

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?

Given the tool's simplicity (2 optional params, no output schema, no annotations), the description covers the core purpose and hints at return values (savings), but it does not describe the response format or any additional behavioral details. It is adequate but not complete; the 'Paid' indicator is useful, but the description could mention what the output looks like or any prerequisites.

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% (both 'blocks' and 'gas_limit' have descriptions), so the schema already documents parameters. The description adds context that gas_limit is for calculating total savings, which aligns with the schema, but does not significantly extend beyond it. Baseline 3 is appropriate.

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 clearly states the tool's purpose: determining the best time to send an Ethereum transaction, comparing sending now vs. waiting, and calculating savings. This distinguishes it from sibling tools like get_eth_gas_forecast, which focus on gas price predictions, while this one focuses on timing decisions. The verb is implicit but the outcome is specific.

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 the use case (deciding when to send a transaction) and mentions it is paid, but does not provide explicit guidance on when to use this tool versus alternatives like get_eth_gas_forecast or get_current_fees. There are no exclusions or alternative recommendations, so it falls at 'implied usage' rather than clear context.

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

get_fee_forecastC

Forecast of Bitcoin transaction fees by confirmation target (paid).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only mentions 'paid' and 'forecast'. It fails to clarify that the tool takes no input parameters, how the output is organized, or any rate limits. The phrase 'by confirmation target' is unexplained as an output grouping.

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?

A single sentence that is front-loaded with the core action and resource. It is concise and contains no unnecessary words.

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?

With no output schema and no annotations, the description should explain the forecast's output structure (e.g., list of targets, fee rates). It also does not address the empty parameter list or differentiate from similar forecast tools, leaving significant gaps in understanding.

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?

The schema has 0 parameters, which usually earns a baseline of 4. However, the description's 'by confirmation target' implies a parameter that does not exist, potentially confusing agents. The description adds no actual parameter semantics and instead introduces ambiguity.

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 clearly states it provides a forecast of Bitcoin transaction fees, which is a specific resource and differentiates from current-fee and Ethereum tools. However, 'by confirmation target' is ambiguous given the empty input schema, and the relationship to get_latest_forecast is not clarified.

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?

No guidance is provided on when to use this tool versus siblings like get_latest_forecast, get_current_fees, or run_custom_forecast. The 'paid' hint implies a cost, but there are no explicit exclusions or alternative recommendations.

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

get_intelligenceC

Aggregated Bitcoin intelligence brief, optionally per timeframe (paid).

ParametersJSON Schema
NameRequiredDescriptionDefault
timeframeNoOptional, e.g. 1d. Omit for default.

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but only reveals 'paid' and optional timeframe. It does not disclose what the brief contains, how it is generated, update frequency, or access requirements, leaving key behavioral traits unknown.

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?

One brief sentence that is front-loaded with the core purpose, optional parameter, and paid status. No wasted words, though the terse style contributes to incomplete information.

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 tool with no annotations and no output schema, the description is insufficient. It does not explain what an 'intelligence brief' includes, how it compares to other get_* tools, or what timeframe options are available beyond the vague example.

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%: timeframe is described as optional with an example. The description adds 'optionally per timeframe' but no additional meaning beyond the schema, so baseline 3 applies.

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 states it provides an 'Aggregated Bitcoin intelligence brief', which is a clear verb+resource combo, but 'intelligence' is vague and does not specify what data is included. It also does not differentiate from siblings like get_latest_forecast or get_network_snapshot.

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?

No guidance on when to use this tool versus alternatives. It does not mention use cases, exclusions, or related sibling tools that might be more appropriate for specific needs.

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

get_latest_forecastB

Latest published price forecast for a symbol + timeframe (paid).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYese.g. BTCUSD
timeframeYese.g. 1h, 4h, 1d

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description must disclose behavior itself. It adds 'paid' and 'published', which imply a read-only, paid retrieval rather than a custom run. But it omits authentication needs, rate limits, and details about the forecast's nature (e.g., horizon or output).

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?

A single, front-loaded sentence delivers the core purpose and the paid constraint with no filler. Every word earns its place.

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 simple tool with no output schema, the description is adequate but incomplete: it does not explain the return format, valid symbol/timeframe conventions beyond examples, or whether a forecast always exists. Sibling differentiation is implied but not explicit.

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 descriptions cover both parameters 100%, providing examples. The description only repeats 'symbol + timeframe' without adding meaning, so it is redundant and does not surpass the schema's baseline.

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 clearly states the tool returns the latest published price forecast for a symbol and timeframe, which is specific and distinct from fee/gas forecasts. However, it does not explicitly compare with sibling tools, so it misses the top score.

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 guidance on when to use this tool versus alternatives like run_custom_forecast, get_eth_gas_forecast, or get_ercot_price_forecast. The description only defines what it does, leaving usage context unaddressed.

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

get_mempool_snapshotA

Current Bitcoin mempool: transaction count, total vsize, min/relay fee, and the fee-rate histogram. FREE — no wallet needed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
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 transparently discloses that the tool is free and requires no wallet, which is important for an agent assessing access requirements. It also specifies that it returns current data and lists the components, giving a clear picture of what the agent receives. It does not mention rate limits or refresh latency, but for a simple read-only snapshot this is acceptable.

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 two sentences, front-loaded with the resource name and immediate list of return fields. The 'FREE — no wallet needed' adds useful context without fluff. Every word earns its place, making it exceptionally concise and well-structured.

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?

Given the tool's simplicity (no parameters, no output schema), the description adequately conveys what the tool returns and its access requirements. It covers the essential return content (count, vsize, fee info, histogram) and the auth/cost context. There is no missing information that would prevent an agent from invoking it correctly.

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 and the schema coverage is 100% (vacuously), so there is no parameter ambiguity to resolve. The description adds no parameter-specific details because there are none; per the rubric, the baseline is 4 for a zero-parameter tool.

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 clearly specifies the resource (current Bitcoin mempool) and enumerates exactly what data is returned: transaction count, total vsize, min/relay fee, and fee-rate histogram. This is a specific verb+resource structure that distinguishes it from sibling tools like get_network_snapshot or get_current_fees.

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 usage for anyone needing a snapshot of current mempool metrics, and the 'FREE — no wallet needed' note suggests it is a public, low-friction endpoint. However, it does not explicitly contrast with alternatives (e.g., get_fee_forecast or get_current_fees) or state when not to use it, so guidance is only implied.

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

get_network_snapshotA

Bitcoin network snapshot: chain height, best block hash, peers, sync state, and a mempool summary. FREE — no wallet needed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It transparently states that the tool is free and requires no wallet (authentication), which is valuable context. However, it does not explicitly mention that the operation is read-only, side-effect-free, or discuss rate limits or error conditions. The field list gives a sense of the response, but additional behavioral guarantees are absent.

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 a single, succinct sentence that leads with the tool's purpose, enumerates the key data points, and adds a cost/access note. There is no fluff or redundancy; every phrase contributes value.

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?

Given the simplicity of the tool (no parameters, no output schema), the description provides a sufficient list of the returned data elements. It could elaborate on the format of the mempool summary or the timestamp, but the core information is covered, making it complete enough for an agent to understand the tool's output.

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, and the schema is empty (100% coverage). The description does not need to explain parameters, and the absence of parameters is clear from the schema. This satisfies the baseline for no-parameter tools.

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 clearly states the tool provides a Bitcoin network snapshot and enumerates specific data fields (chain height, best block hash, peers, sync state, mempool summary). This distinguishes it from sibling tools like get_mempool_snapshot, which focuses only on the mempool, and get_status, which may not include the same field set.

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 usage for obtaining a broad network overview, and the phrase "FREE — no wallet needed" suggests it is suitable for public, unauthenticated access. However, it does not explicitly state when to prefer this tool over alternatives like get_mempool_snapshot or get_status, leaving the decision to the agent.

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

get_pricingB

Per-endpoint pricing and payment network (free).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that the tool is 'free' and describes the data domain, but does not mention whether it is read-only, the response format, data freshness, or any limitations. This is minimal disclosure for a tool with no annotations.

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?

The description is extremely concise—a single phrase with no fluff. It front-loads the key facts (per-endpoint, pricing, payment network, free). However, it is so brief that it borders on under-specification, which prevents a higher score.

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?

Given there is no output schema, the description should clarify what the response contains. It does not: 'Per-endpoint pricing and payment network' is ambiguous about whether it returns a list, a breakdown, or something else. The tool lacks the necessary context for an agent to understand its output, making it incomplete.

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, and the schema is empty (100% coverage vacuously). Per the baseline for 0 parameters, this scores 4. The description adds context about the pricing focus, but there are no parameter details to elaborate.

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 clearly identifies the subject matter (per-endpoint pricing and payment network) and the cost aspect (free), which distinguishes it from generic fee-related tools. However, it lacks an explicit verb like 'retrieves' or 'gets,' and the differentiation from sibling tools such as get_current_fees is only implicit.

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?

No guidance is provided on when to use this tool versus alternatives like get_current_fees or get_fee_forecast. The description does not mention any conditions, prerequisites, or exclusions.

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

get_statusA

Service status, payment mode, and component health (free).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It adds context by noting the tool is 'free' and lists the returned data, implying a harmless read-only operation. However, it does not explicitly state side effects, auth requirements, or rate limits, which is a minor gap for a zero-parameter status tool.

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 a single concise sentence: 'Service status, payment mode, and component health (free).' It is front-loaded with key information and contains no filler. Every word earns its place.

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 zero-parameter tool with no output schema, the description covers the main purpose and the fact that it is free. It could mention the response format or more detail about 'component health', but for a status endpoint, the information is adequate. The tool's simplicity lowers the bar.

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 input schema has zero parameters, so the description need not explain parameter semantics. The rule for 0 params is baseline 4. The description does not add anything beyond that, but it is not needed.

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 clearly states the tool's purpose: it provides service status, payment mode, and component health. This distinguishes it from sibling tools focused on fees, forecasts, and network snapshots. The name 'get_status' combined with the description gives a specific verb+resource.

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 usage for checking API status and payment mode, but does not explicitly state when to use it versus alternatives or any exclusions. It indirectly differentiates from siblings by listing unique information, but no direct 'use when' guidance is given.

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

get_tx_confirmationC

Confirmation status / ETA for a Bitcoin transaction (paid).

ParametersJSON Schema
NameRequiredDescriptionDefault
txidYesTransaction id (hex).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description carries the full burden. It only mentions 'paid' and gives no detail about confirmation behavior, response format, or access constraints, leaving significant behavioral aspects undisclosed.

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?

The description is a single concise sentence that front-loads the core purpose. It is not padded, but the brevity omits useful context, which knocks it down slightly from a top score.

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?

With no output schema and no annotations, the description should explain more about the expected return and behavior. It fails to define what 'confirmation status' or 'ETA' means, leaving the tool underspecified even for a simple one-parameter tool.

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?

The schema already fully describes the single parameter (txid as hex) at 100% coverage. The description adds no extra meaning beyond the schema, so the baseline score of 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?

The description clearly states the tool provides confirmation status and ETA for a Bitcoin transaction, which is a specific resource. It differentiates from siblings like fee or network tools, though it doesn't explicitly contrast with get_status.

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?

No guidance is provided on when to use this tool versus alternatives. The phrase '(paid)' hints at a paywall but doesn't explain contexts or exclusions, so the agent gets no decision support.

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

run_custom_forecastB

Run a bespoke Kronos forecast (paid POST).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
horizonYesSteps to forecast ahead.
lookbackYesHistorical candles of context.
timeframeYes
sample_countYesMonte-Carlo sample paths.

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does clearly state that the operation is 'paid POST', which is crucial context. However, it omits other important behaviors such as cost amount, authentication requirements, response shape, or whether the operation is asynchronous.

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 a single, front-loaded sentence with no unnecessary words. It efficiently conveys the core purpose and key cost/method alert, making every word count.

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?

With 5 required parameters, no output schema, and no annotations, the description is under-specified. It alerts the agent to the paid POST nature but does not explain what the forecast returns, how to interpret the output, or any prerequisites or side effects.

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?

The schema covers 60% of parameters with descriptions (horizon, lookback, sample_count), and the remaining two (symbol, timeframe) are self-explanatory. However, the description adds no parameter-level meaning at all, leaving the agent to infer the semantics solely from names and the partial 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?

The description uses a specific verb ('Run') and identifies the resource as a 'bespoke Kronos forecast', with the critical context that it's a 'paid POST'. This distinguishes it from the read-only get_* siblings, though 'Kronos' is not defined and the phrase 'custom forecast' already appears in the name.

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 word 'bespoke' implies a custom, non-standard use case and contrasts with the sibling get_* forecast tools, but the description provides no explicit when-to-use or when-not-to-use guidance, nor does it name any alternative tools.

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. 17 tool updatesv0.1.4
    • First observedget_broadcast_timing
    • First observedget_current_fees
    • First observedget_ercot_cheapest_window
    • First observedget_ercot_price_current
    • First observedget_ercot_price_forecast
    • First observedget_eth_gas_current
    • First observedget_eth_gas_forecast
    • First observedget_eth_gas_timing
    • First observedget_fee_forecast
    • First observedget_intelligence
    • First observedget_latest_forecast
    • First observedget_mempool_snapshot
    • First observedget_network_snapshot
    • First observedget_pricing
    • First observedget_status
    • First observedget_tx_confirmation
    • First observedrun_custom_forecast

TDQS

B3.4/5.0

Scored across 17 tools

Disambiguation4/5

Most tools are clearly distinct (e.g., get_current_fees vs get_fee_forecast, get_network_snapshot vs get_mempool_snapshot). Minor potential confusion exists between get_fee_forecast and get_broadcast_timing, but descriptions differentiate them adequately.

Naming Consistency4/5

All tools follow a 'get_' + noun pattern except run_custom_forecast, which is a minor deviation. Names are consistent in style and predictable across Bitcoin, Ethereum, and ERCOT domains.

Tool Count4/5

17 tools is slightly above the ideal range but appropriate given the multi-asset (Bitcoin, Ethereum, ERCOT) and multi-function (current, forecast, timing) scope. Each tool serves a distinct purpose.

Completeness4/5

The server provides a comprehensive view of current states, forecasts, and optimal timing for Bitcoin, Ethereum gas, and ERCOT electricity. Minor gaps exist (e.g., no historical data, no direct transaction broadcast), but the core lifecycle for data and forecasting is well covered.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides real-time Bitcoin blockchain and mempool data to AI clients, allowing access to comprehensive Bitcoin network information through various data tools.
    31
    6 npm
    5
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Bitcoin block explorer and mempool/fee statistics, providing tools to query fees, mempool stats, blocks, transactions, addresses, hashrate, and mining pools.
    6 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides real Bitcoin full node data via 17 tools, with pay-per-call in USDC on Base mainnet. Free tools include blockchain info, fees, and mempool; paid tools enable transaction tracking, address analysis, and more.
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server offering 26 Lightning-paid tools for Bitcoin mempool intelligence and sovereign on-prem AI inference, with no third-party APIs and pay-per-call in sats.
    26
    8 npm
    1
    MIT