Skip to main content
Glama
bjunjo

treasury-mcp

by bjunjo

treasury-mcp

Bitcoin network + Corporate Treasury tools for AI agents.

Forked from Bortlesboat/bitcoin-mcp and extended with 4 Corporate Treasury tools by Billy Jo (@bjunjo).

Treasury-MCP gives any AI agent (Claude, Cursor, LangChain) the ability to accurately query Bitcoin treasury company data from primary sources — SEC EDGAR, Metaplanet IR, and a curated baseline of known holdings — without hallucinating.

New Treasury Tools (4 added on top of the original 49)

Tool

Description

get_treasury_companies

List all tracked Bitcoin treasury companies

get_treasury_holdings

BTC holdings, avg cost, USD/KRW value, BTC-per-share for a ticker

calculate_mnav

Live mNAV premium/discount — pulls live stock price + BTC price

parse_latest_filing

Fetch the latest SEC 8-K or Metaplanet IR disclosure

Tracked Companies (MVP)

Ticker

Company

Exchange

BTC Holdings

MSTR

Strategy (MicroStrategy)

NASDAQ

528,185 BTC

3350.T

Metaplanet Inc.

TSE (Japan)

4,206 BTC

SMLR

Semler Scientific

NASDAQ

3,192 BTC

MARA

MARA Holdings

NASDAQ

46,374 BTC

RIOT

Riot Platforms

NASDAQ

19,225 BTC

Example Queries

Once connected, ask your AI agent:

  • "What is MSTR's current mNAV?"

  • "How many BTC does Metaplanet hold and what is it worth in KRW?"

  • "Show me all tracked Bitcoin treasury companies."

  • "What is MicroStrategy's latest SEC 8-K filing about Bitcoin?"

  • "Calculate the BTC-per-share for Semler Scientific."

Roadmap

  • Add Korean mid-cap companies (DART filings)

  • Add STRC / STRK preferred stock yield tracking

  • L402 Lightning paywall for premium filing analysis

  • Automated baseline updates when new filings are detected


Related MCP server: bitcoin-utxo-mcp

Original bitcoin-mcp

Give any AI agent Bitcoin superpowers — fee intelligence, mempool analysis, and 49 tools. Zero config, one command.

PyPI Downloads Tests License: MIT Python 3.10+ Powered by Satoshi API OpenSats

49 tools · 116 tests · 6 prompts · 7 resources · Zero config · MIT licensed

If bitcoin-mcp is useful to you, consider giving it a star — it helps others discover the project.

pip install bitcoin-mcp

Quick Start

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["bitcoin-mcp"]
    }
  }
}

Claude Code

claude mcp add bitcoin -- uvx bitcoin-mcp

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["bitcoin-mcp"]
    }
  }
}

VS Code

Add to .vscode/mcp.json:

{
  "servers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["bitcoin-mcp"]
    }
  }
}

Docker

docker build -t bitcoin-mcp .
docker run -i bitcoin-mcp

Or with docker compose:

docker compose up

Pass environment variables to connect to a local Bitcoin Core node or set your API key:

docker run -i -e SATOSHI_API_KEY=your-key bitcoin-mcp

Why bitcoin-mcp?

  • Fee intelligence that saves real money — know the cheapest time to send, compare fee tiers, estimate exact costs before broadcasting

  • Zero config — works instantly with the free hosted Satoshi API, or connect your own Bitcoin Core node

  • First Bitcoin MCP server on the Anthropic Registry

Top Use Cases

Ask your AI agent:

Prompt

What it does

"What's the cheapest time to send Bitcoin today?"

Fee recommendation with savings breakdown

"Analyze the current mempool congestion"

Real-time mempool depth, fee tiers, pending tx count

"How much would I save waiting 6 blocks vs next block?"

Side-by-side fee comparison across confirmation targets

"Search for this transaction: abc123..."

Full transaction decode with inscription detection

"Give me a situation summary of Bitcoin right now"

Price, fees, mempool, mining, difficulty — one call

Full Tool Reference

Fee Intelligence

Tool

Description

get_fee_recommendation

Optimal fee rate with urgency tiers and savings tips

get_fee_estimates

Fee estimates across all confirmation targets

estimate_smart_fee

Fee estimate for a specific confirmation target

compare_fee_estimates

Side-by-side comparison of fee sources

estimate_transaction_cost

Exact cost estimate for a transaction before sending

Blocks & Transactions

Tool

Description

analyze_block

Deep analysis of any block by height or hash

get_block_stats

Statistical breakdown of a block

get_block_count

Current chain height

compare_blocks

Compare two blocks side by side

search_blocks

Search a range of blocks

analyze_transaction

Full transaction analysis with inscription detection

decode_raw_transaction

Decode a raw transaction hex

send_raw_transaction

Broadcast a signed transaction

check_utxo

Check if a UTXO is spent or unspent

Mempool

Tool

Description

analyze_mempool

Full mempool analysis — depth, fees, congestion

get_mempool_info

Mempool size, bytes, fee floor

get_mempool_entry

Details for a specific unconfirmed transaction

get_mempool_ancestors

Ancestor chain for a mempool transaction

Mining

Tool

Description

get_mining_info

Current mining difficulty, hashrate, block reward

analyze_next_block

Preview of the next block template

get_mining_pool_rankings

Top mining pools by recent blocks

get_difficulty_adjustment

Time and percentage of next difficulty change

get_halving_countdown

Blocks and estimated time until next halving

Network & Status

Tool

Description

get_blockchain_info

Chain state, verification progress, softfork status

get_network_info

Node version, connections, relay info

get_node_status

Connection status and node health

get_peer_info

Connected peer details

get_chain_tips

Active and stale chain tips

get_chain_tx_stats

Transaction throughput over N blocks

get_utxo_set_info

UTXO set size and total supply

get_supply_info

Circulating supply, inflation rate, percent mined

get_situation_summary

Aggregated overview — price, fees, mempool, mining

get_btc_price

Current BTC/USD price

get_market_sentiment

Fear/greed index and market indicators

Address & UTXO

Tool

Description

get_address_utxos

UTXOs for an address

validate_address

Validate and classify a Bitcoin address

Indexed Address (requires blockchain indexer)

Tool

Description

get_address_balance

Total received/sent/balance, tx count, first/last seen

get_address_history

Paginated transaction history with net value change

get_indexed_transaction

Enriched tx with resolved input addresses + spent status

get_indexer_status

Sync progress, ETA, blocks/sec

Security

Tool

Description

analyze_psbt_security

Security analysis of a Partially Signed Bitcoin Transaction

explain_inscription_listing_security

Security guide for ordinal inscription listings

Utility

Tool

Description

search_blockchain

Universal search — address, txid, block hash, or height

generate_keypair

Generate a new Bitcoin keypair

explain_script

Decode and explain a Bitcoin script

decode_bolt11_invoice

Decode a Lightning Network BOLT11 invoice

describe_rpc_command

Help text for any Bitcoin Core RPC command

list_rpc_commands

List all available RPC commands

query_remote_api

Query the Satoshi API directly

Get More Requests (Free)

bitcoin-mcp works immediately with 1,000 requests/day (anonymous). Register for a free API key to get 10,000/day (10x):

  1. Visit bitcoinsapi.com

  2. Register for a free key (takes 10 seconds)

  3. Set the SATOSHI_API_KEY environment variable in your MCP config

Configuration

All environment variables are optional. bitcoin-mcp falls back to the free hosted Satoshi API when no local node is configured.

Variable

Description

Default

BITCOIN_RPC_HOST

Bitcoin Core RPC host

127.0.0.1

BITCOIN_RPC_PORT

Bitcoin Core RPC port

Auto by network

BITCOIN_NETWORK

mainnet, testnet, signet, or regtest

mainnet

SATOSHI_API_URL

Override hosted API URL

https://bitcoinsapi.com

SATOSHI_API_KEY

API key for authenticated access

None

To connect to a local Bitcoin Core node:

{
  "mcpServers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["bitcoin-mcp"],
      "env": {
        "BITCOIN_RPC_HOST": "127.0.0.1",
        "BITCOIN_RPC_PORT": "8332"
      }
    }
  }
}

Prompts & Resources

6 built-in prompts for common workflows: analyze_fee_environment, investigate_transaction, monitor_mempool_fees, taproot_adoption_report, network_health_report, track_transaction

7 resources for context injection: bitcoin://connection/status, bitcoin://node/status, bitcoin://fees/current, bitcoin://mempool/snapshot, bitcoin://protocol/script-opcodes, bitcoin://protocol/address-types, bitcoin://protocol/sighash-types

Examples

See the examples/ folder for documented usage patterns:

Support This Project

bitcoin-mcp is free, open-source Bitcoin infrastructure. Support development through OpenSats.

Contributing

Contributions are welcome. See CONTRIBUTING.md for guidelines, including how to add new tools and the PR checklist.

Please report security vulnerabilities privately — see SECURITY.md.

About

bitcoin-mcp is created and maintained by Andrew Barnes. It is the most comprehensive Bitcoin MCP server available, bridging AI agents and Bitcoin infrastructure through the Model Context Protocol.

Related projects:

License

MIT

Available Tools

53 tools
analyze_blockB

Analyze a block: mining pool, SegWit/Taproot adoption, fee distribution, revenue.

Args: height_or_hash: Block height (e.g. "939290") or block hash

ParametersJSON Schema
NameRequiredDescriptionDefault
height_or_hashYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/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 full burden. It mentions what metrics are analyzed but doesn't disclose behavioral traits like whether this is a read-only operation, computational cost, rate limits, or what the output format looks like. The description is functional but lacks important operational 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?

The description is efficiently structured with a clear purpose statement followed by parameter documentation. Both sentences earn their place, and it's appropriately sized for a single-parameter tool. Minor deduction because the purpose statement could be slightly more front-loaded with the parameter explanation integrated.

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 that there's an output schema (which handles return values), no annotations, and a simple single parameter, the description is reasonably complete. However, for a tool that performs analysis, more context about what the analysis entails or how it differs from other block tools would improve completeness.

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

Parameters4/5

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

Schema description coverage is 0%, but the description compensates by clearly explaining the single parameter 'height_or_hash' as accepting either block height or block hash with an example. Since there's only one parameter and the description fully documents it, this earns a high score despite the schema coverage gap.

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 analyzes a block with specific metrics (mining pool, SegWit/Taproot adoption, fee distribution, revenue), which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_block_stats' or 'compare_blocks', which might also provide block-related analytics.

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 provides no guidance on when to use this tool versus alternatives. With many sibling tools related to blocks (e.g., get_block_stats, compare_blocks, search_blocks), there's no indication of when this specific analysis is preferred or what distinguishes it from other block-related tools.

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

analyze_mempoolB

Analyze the mempool: tx count, fee buckets, congestion level, next-block minimum fee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/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 full burden. It mentions analytical outputs but doesn't disclose behavioral traits such as whether this is a read-only operation, potential rate limits, data freshness, or error conditions. For a tool with zero annotation coverage, this is a significant gap in transparency.

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, efficient sentence that front-loads the purpose and lists key outputs without unnecessary words. Every part earns its place, making it highly concise and well-structured for quick understanding.

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 has 0 parameters, 100% schema coverage, and an output schema exists, the description is adequate but minimal. It covers the analytical focus but lacks context on when to use it among siblings or behavioral details, making it incomplete for optimal agent guidance despite the structured support.

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 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter details, and it appropriately avoids discussing inputs. Baseline is 4 for zero-parameter tools when schema coverage is complete.

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 analyzes the mempool and lists specific metrics (tx count, fee buckets, congestion level, next-block minimum fee). It distinguishes from siblings like get_mempool_info or get_mempool_entry by focusing on analytical output rather than raw data retrieval. However, it doesn't explicitly contrast with all siblings, keeping it at 4 instead of 5.

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 provides no guidance on when to use this tool versus alternatives like get_mempool_info, get_fee_estimates, or analyze_block. It lists what the tool does but offers no context for selection among the many sibling tools, leaving the agent without usage direction.

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

analyze_next_blockB

Predict next block: transactions, weight utilization, miner revenue, fee percentiles, top-fee txs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/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 states the tool 'predicts' metrics, implying it's a read-only operation that doesn't modify state, but doesn't disclose whether this requires specific permissions, uses real-time data, has rate limits, or provides confidence intervals for predictions. The behavioral context is minimal.

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 extremely concise and front-loaded with all necessary information in a single, efficient phrase. Every word earns its place by specifying exactly what metrics are predicted without any redundant or verbose language.

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 has zero parameters, complete schema coverage, and an output schema exists, the description is reasonably complete for its core purpose. However, as a prediction tool with no annotations, it should ideally mention data sources, update frequency, or prediction methodology to be fully complete for agent use.

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 schema description coverage is 100%. The description appropriately doesn't discuss parameters since none exist, and the schema fully documents this. A baseline score of 4 is appropriate for parameterless tools with complete schema coverage.

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: predicting specific metrics for the next block (transactions, weight utilization, miner revenue, fee percentiles, top-fee transactions). It uses a specific verb ('predict') and identifies the resource ('next block'), but doesn't explicitly differentiate from siblings like 'analyze_block' or 'analyze_mempool'.

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 description doesn't mention prerequisites, timing considerations, or compare it to sibling tools like 'analyze_block' (which analyzes existing blocks) or 'analyze_mempool' (which analyzes pending transactions).

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

analyze_psbt_securityA

Analyze a PSBT for ordinals inscription listing mempool sniping vulnerability.

Detects whether an ordinals listing PSBT is vulnerable to front-running in the mempool. A listing is VULNERABLE when it uses SIGHASH_SINGLE|ANYONECANPAY without a 2-of-2 multisig locking step — an attacker can redirect the inscription before confirmation. A listing is PROTECTED when the inscription is locked in a 2-of-2 P2WSH multisig and the marketplace co-signs with SIGHASH_ALL, preventing any transaction modification.

No Bitcoin node required — analysis is pure PSBT parsing (BIP 174).

Args: psbt_hex: Hex-encoded PSBT string (BIP 174 v0)

ParametersJSON Schema
NameRequiredDescriptionDefault
psbt_hexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/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 effectively describes key traits: it's a read-only analysis tool ('Detects whether...'), requires no Bitcoin node ('No Bitcoin node required'), and uses pure PSBT parsing. It also explains vulnerability criteria (e.g., SIGHASH_SINGLE|ANYONECANPAY without multisig) and protection mechanisms, adding valuable context beyond basic functionality.

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

Conciseness5/5

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

The description is well-structured and front-loaded, starting with the core purpose. Each sentence adds value: vulnerability detection, criteria for vulnerable/protected states, technical details (no node required, BIP 174), and parameter explanation. There is no wasted text, making it efficient and easy to parse.

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 complexity (involving Bitcoin PSBTs and security analysis), no annotations, and an output schema (implied by 'Has output schema: true'), the description is complete. It covers purpose, usage context, behavioral traits, and parameter details. The output schema likely handles return values, so the description appropriately focuses on input and process without redundancy.

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

Parameters5/5

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

The input schema has 0% description coverage, so the description must compensate fully. It does so by clearly explaining the single parameter 'psbt_hex' as a 'Hex-encoded PSBT string (BIP 174 v0)', specifying the format and standard. This adds essential meaning beyond the schema's basic type and title, ensuring the agent understands the required input.

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

Purpose5/5

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

The description explicitly states the tool's purpose: 'Analyze a PSBT for ordinals inscription listing mempool sniping vulnerability.' It specifies the verb ('analyze'), resource ('PSBT'), and scope ('ordinals inscription listing'), clearly distinguishing it from sibling tools like 'analyze_transaction' or 'explain_inscription_listing_security' by focusing on vulnerability detection rather than general analysis or explanation.

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: for analyzing PSBTs related to ordinals inscription listings to check for mempool front-running vulnerabilities. It does not explicitly mention when not to use it or name alternatives, but the specificity of 'ordinals inscription listing' implies it's not for general PSBT analysis. Sibling tools like 'explain_inscription_listing_security' might be alternatives, but this isn't stated.

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

analyze_transactionA

Decode and analyze a transaction: inputs, outputs, fee rate, SegWit/Taproot flags, inscription detection.

Args: txid: Transaction hash (64 hex characters). Local nodes need txindex=1 for confirmed txs; the hosted API handles this automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
txidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/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 full burden. It discloses that the tool performs decoding and analysis, and mentions implementation details about local nodes versus hosted API handling. However, it lacks information on rate limits, authentication needs, error conditions, or what specific analysis outputs entail beyond the listed aspects.

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 appropriately sized and front-loaded: the first sentence clearly states the purpose, followed by a structured Args section. There's minimal waste, though the second sentence in the Args could be slightly more concise.

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 tool's moderate complexity (transaction analysis), no annotations, but with an output schema present, the description is reasonably complete. It covers the purpose, parameter semantics, and some behavioral context. The output schema will handle return values, so the description doesn't need to explain those. It could benefit from more explicit usage guidelines relative to siblings.

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 schema description coverage is 0%, but the description compensates well in the Args section. It explains that 'txid' is a 'Transaction hash (64 hex characters)' and adds important context about local node requirements versus API handling. This adds meaningful semantics beyond the bare schema, though it doesn't cover all potential edge cases.

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: 'Decode and analyze a transaction' with specific analysis targets (inputs, outputs, fee rate, SegWit/Taproot flags, inscription detection). It distinguishes from siblings like 'decode_raw_transaction' by emphasizing analysis rather than just decoding, though it doesn't explicitly contrast with all siblings.

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 context through the Args section, noting that 'Local nodes need txindex=1 for confirmed txs; the hosted API handles this automatically.' This provides some guidance on prerequisites but doesn't explicitly state when to use this tool versus alternatives like 'decode_raw_transaction' or 'get_indexed_transaction'.

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

calculate_mnavA

Calculate the live mNAV (Market Net Asset Value) premium or discount for a Bitcoin treasury company.

mNAV = Market Cap / Bitcoin Treasury Value. mNAV > 1.0 means the market is paying a premium for the company's Bitcoin. mNAV < 1.0 means the company is trading at a discount to its Bitcoin holdings.

Args: ticker: Company ticker or key (e.g. 'MSTR', 'METAPLANET', 'SEMLER')

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 full burden. It explains what the calculation does and how to interpret results, but doesn't disclose behavioral traits like data sources, freshness, rate limits, error conditions, or authentication requirements. The description is accurate about the calculation but lacks operational context.

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

Conciseness5/5

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

The description is efficiently structured with clear sections: purpose explanation, formula, result interpretation, and parameter documentation. Every sentence earns its place, and the information is front-loaded with the core purpose stated immediately.

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 tool's moderate complexity (financial calculation), no annotations, and the existence of an output schema (which handles return values), the description is reasonably complete. It explains the calculation, interpretation, and parameter usage well. The main gap is lack of behavioral context about data sources and limitations.

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?

With 0% schema description coverage and only 1 parameter, the description adds essential meaning beyond the schema. It explains that 'ticker' refers to company ticker or key and provides concrete examples ('MSTR', 'METAPLANET', 'SEMLER'). This compensates well for the schema's lack of parameter documentation.

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 specific purpose: calculating the live mNAV premium/discount for Bitcoin treasury companies. It explains the formula (Market Cap / Bitcoin Treasury Value) and interprets the results (mNAV > 1.0 = premium, mNAV < 1.0 = discount). This distinguishes it from sibling tools focused on blockchain analysis, transactions, and Bitcoin network data.

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 needing to evaluate Bitcoin treasury company valuations. It doesn't explicitly mention when NOT to use it or name specific alternatives among siblings, but the context strongly implies this is for financial analysis of specific companies rather than general blockchain operations.

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

check_utxoA

Check if a specific transaction output is unspent (UTXO lookup).

Args: txid: Transaction hash vout: Output index

ParametersJSON Schema
NameRequiredDescriptionDefault
txidYes
voutYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/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 full burden of behavioral disclosure. It states the tool checks if a transaction output is unspent, implying a read-only lookup, but doesn't disclose potential behaviors like error handling, rate limits, authentication needs, or what the output contains. For a tool with no annotation coverage, this is a significant gap in transparency.

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 appropriately sized and front-loaded, with the core purpose stated first in a single sentence, followed by a brief parameter explanation. Every sentence earns its place without redundancy, making it efficient and easy to parse.

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 low complexity (2 parameters) and the presence of an output schema (which handles return values), the description is somewhat complete but lacks behavioral context. Without annotations, it should ideally mention more about the tool's operation (e.g., read-only nature, potential errors) to fully compensate for missing structured data.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It adds clear meaning beyond the schema by explaining that 'txid' is a 'Transaction hash' and 'vout' is an 'Output index', which clarifies the semantics of these parameters. However, it doesn't provide format details (e.g., hex string for txid) or constraints, leaving some gaps.

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 with a specific verb ('Check') and resource ('transaction output'), and distinguishes it from siblings by specifying 'UTXO lookup' rather than broader analysis or listing functions. It precisely defines what it does: verifying if a specific transaction output is unspent.

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 provides no guidance on when to use this tool versus alternatives like 'get_address_utxos' or 'get_utxo_set_info', nor does it mention prerequisites or context for usage. It lacks explicit when/when-not statements or named alternatives, leaving usage unclear relative to sibling tools.

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

compare_blocksC

Compare block statistics between two block heights side by side.

Args: height1: First block height height2: Second block height

ParametersJSON Schema
NameRequiredDescriptionDefault
height1Yes
height2Yes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/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 full burden. It states the tool compares statistics side by side, but doesn't disclose behavioral traits such as what statistics are compared, whether it's a read-only operation, potential rate limits, or error conditions. The description is minimal and lacks essential context for a mutation or analysis tool.

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 appropriately sized and front-loaded, with the purpose stated clearly in the first sentence. The 'Args:' section is structured but could be more integrated. There's no wasted text, though it could be slightly more polished for readability.

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 complexity (comparing two blocks), no annotations, and an output schema (which covers return values), the description is moderately complete. It states the purpose and parameters but lacks behavioral details and usage context. With an output schema, it doesn't need to explain return values, but other gaps remain.

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 description adds minimal parameter semantics beyond the input schema. It lists 'height1' and 'height2' as block heights, but with 0% schema description coverage, it doesn't compensate by explaining valid ranges, units, or constraints. The baseline is 3 because the schema provides the structure, but the description doesn't add meaningful value.

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: 'Compare block statistics between two block heights side by side.' It specifies the verb ('compare') and resource ('block statistics'), though it doesn't explicitly differentiate from sibling tools like 'analyze_block' or 'get_block_stats'. The purpose is clear but lacks sibling distinction.

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 provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'analyze_block' (for single blocks) or 'get_block_stats' (for stats of one block), nor does it specify prerequisites or exclusions. Usage is implied only by the tool's name and description.

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

compare_fee_estimatesB

Compare fee estimates side-by-side with urgency labels and cost for a typical 140 vB transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/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 mentions output features (urgency labels, cost comparison) but lacks details on data sources, update frequency, accuracy, or error handling. For a zero-parameter tool, this leaves significant gaps in understanding its behavior.

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, efficient sentence that front-loads the core purpose ('compare fee estimates') and adds relevant details (urgency labels, cost, transaction size). There is no wasted verbiage or redundancy.

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 has zero parameters, an output schema, and no annotations, the description is minimally adequate. However, it lacks context on how the comparison is performed, what urgency labels mean, or how it differs from sibling fee-related tools, leaving room for improvement in completeness.

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 with 100% schema description coverage, so no parameter documentation is needed. The description adds context by specifying a 'typical 140 vB transaction,' which helps interpret the output, though it doesn't fully explain if this is configurable or fixed.

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: comparing fee estimates with urgency labels and cost for a specific transaction size. It uses specific verbs ('compare') and resources ('fee estimates'), though it doesn't explicitly differentiate from sibling tools like 'estimate_smart_fee' or 'get_fee_recommendation'.

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 description mentions a 'typical 140 vB transaction,' but doesn't explain if this is required, optional, or just an example, nor does it reference sibling tools for context.

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

decode_bolt11_invoiceA

Decode a BOLT11 Lightning invoice without external dependencies.

Parses the human-readable part to extract network, amount, and timestamp. Does NOT verify the signature or parse tagged fields beyond basic extraction.

Args: invoice: BOLT11 payment request string (starts with lnbc, lntb, or lnbcrt)

ParametersJSON Schema
NameRequiredDescriptionDefault
invoiceYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/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 does this well by specifying key behavioral traits: it works 'without external dependencies,' extracts specific information (network, amount, timestamp), and importantly discloses limitations ('Does NOT verify the signature or parse tagged fields beyond basic extraction'). This provides clear expectations about what the tool can and cannot do.

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 perfectly structured and concise. It begins with the core purpose, then explains what it parses, explicitly states limitations, and finally documents the parameter. Every sentence earns its place with no wasted words, and the information is front-loaded appropriately.

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 moderate complexity (invoice parsing), no annotations, and the presence of an output schema (which means return values don't need explanation), the description is complete. It covers purpose, behavioral traits, limitations, and parameter semantics adequately for an AI agent to understand when and how to use this tool 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 input schema has 0% description coverage, so the description must compensate. It does this effectively by explaining the 'invoice' parameter: 'BOLT11 payment request string (starts with lnbc, lntb, or lnbcrt).' This adds crucial semantic context about the expected format and valid prefixes that the schema alone doesn't provide. For a single parameter tool, this is sufficient.

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: 'Decode a BOLT11 Lightning invoice without external dependencies.' It specifies the exact resource (BOLT11 invoice) and verb (decode), and distinguishes itself from siblings by focusing on invoice parsing rather than blockchain analysis or transaction processing.

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: for decoding BOLT11 invoices. It explicitly states what it does NOT do ('Does NOT verify the signature or parse tagged fields beyond basic extraction'), which helps differentiate it from more comprehensive verification tools. However, it doesn't name specific alternative tools or provide explicit 'when-not-to-use' guidance.

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

decode_raw_transactionB

Decode a raw transaction hex without looking up inputs.

Args: hex_string: Raw transaction in hex format

ParametersJSON Schema
NameRequiredDescriptionDefault
hex_stringYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 full burden. It mentions 'without looking up inputs', which adds useful behavioral context about what the tool does not do. However, it lacks details on error handling, output format (though output schema exists), rate limits, or permissions needed. For a tool with no annotations, this leaves significant gaps in behavioral understanding.

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 front-loaded with the core purpose in the first sentence, followed by a clear Args section. Every sentence earns its place with no wasted words. The structure is efficient and easy to parse, making it highly concise and well-organized.

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 tool's low complexity (1 parameter) and the presence of an output schema, the description is reasonably complete. It covers the purpose and parameter semantics adequately. However, without annotations, it could benefit from more behavioral context like error cases or usage examples. The output schema handles return values, so the description doesn't need to explain those.

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

Parameters3/5

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

Schema description coverage is 0%, but the description adds meaning by explaining that 'hex_string' is a 'Raw transaction in hex format'. This clarifies the parameter's purpose beyond the schema's basic type. However, with only one parameter and no schema descriptions, the description provides some compensation but doesn't fully detail constraints or examples. Baseline is appropriate given the single parameter.

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 verb 'decode' and resource 'raw transaction hex', making the purpose understandable. It distinguishes from siblings like 'analyze_transaction' by specifying 'without looking up inputs', though it doesn't explicitly name alternatives. The description is specific but could be more explicit about sibling differentiation.

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 context by stating 'without looking up inputs', suggesting this is for raw decoding rather than enriched analysis. However, it doesn't explicitly state when to use this versus alternatives like 'analyze_transaction' or 'get_indexed_transaction', nor does it mention prerequisites or exclusions. The guidance is implied but not comprehensive.

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

describe_rpc_commandA

Get structured help for a Bitcoin RPC command: description, arguments, examples.

Args: command: RPC command name (e.g. "getblock", "sendrawtransaction")

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 full burden. It states the tool retrieves help information, implying a read-only operation, but does not disclose behavioral traits such as whether it requires authentication, rate limits, error handling, or the format of the structured help output. This leaves significant gaps in understanding how the tool behaves beyond its basic purpose.

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 front-loaded with the core purpose in the first sentence, followed by a concise Args section. Every sentence adds value without redundancy, making it efficient and easy to parse. The structure is clear and appropriately sized for the tool's complexity.

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 tool has an output schema (which handles return values), one parameter with good semantic coverage in the description, and no annotations, the description is largely complete. However, it lacks details on behavioral aspects like error cases or usage prerequisites, which are important for a tool interacting with RPC commands. This minor gap prevents a perfect score.

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 description adds meaningful semantics beyond the input schema, which has 0% coverage. It explains that the 'command' parameter is an RPC command name and provides examples ('getblock', 'sendrawtransaction'), clarifying usage. With only one parameter and no schema descriptions, this compensates well, though it could specify format constraints or valid command lists.

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 specific action ('Get structured help') and resource ('Bitcoin RPC command'), with explicit details on what information is provided ('description, arguments, examples'). It distinguishes itself from sibling tools like 'list_rpc_commands' by focusing on detailed help for a single command rather than listing available commands.

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 implies usage context by specifying it's for Bitcoin RPC commands, but does not explicitly state when to use this tool versus alternatives like 'list_rpc_commands' for command discovery or other analysis tools. It provides clear intent but lacks explicit comparison or exclusion guidance.

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

estimate_smart_feeC

Get fee estimate for a specific confirmation target.

Args: conf_target: Number of blocks for confirmation (1-1008)

ParametersJSON Schema
NameRequiredDescriptionDefault
conf_targetYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/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 full burden. It states the tool 'gets' an estimate, implying a read operation, but doesn't disclose behavioral traits like whether it requires network access, has rate limits, returns structured data, or has any side effects. The description is minimal and lacks essential context for safe invocation.

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 appropriately concise with two sentences: one stating the purpose and another explaining the single parameter. It's front-loaded with the core functionality. No wasted words, though it could be slightly more informative without losing efficiency.

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 has one parameter with 0% schema coverage and an output schema exists, the description is minimally adequate. It covers the basic purpose and parameter meaning, but lacks behavioral context (e.g., network dependencies, error handling) and doesn't leverage the output schema to clarify return values. For a fee estimation tool in a blockchain context, more detail on accuracy or data sources would be helpful.

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

Parameters3/5

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

Schema description coverage is 0%, but the description adds the parameter 'conf_target' with a brief explanation ('Number of blocks for confirmation') and range constraint ('1-1008'), which provides basic semantics beyond the schema's type-only definition. However, it doesn't explain units, default behavior, or implications of the value choice.

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 with a specific verb ('Get') and resource ('fee estimate'), and specifies the scope ('for a specific confirmation target'). However, it doesn't explicitly differentiate from sibling tools like 'get_fee_estimates' or 'get_fee_recommendation', which appear related.

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 provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_fee_estimates' and 'get_fee_recommendation' present, there's no indication of how this tool differs or when it's preferred over those options.

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

estimate_transaction_costA

Estimate Bitcoin transaction cost in sats AND USD at different urgency levels. Supports address types: p2pkh (legacy), p2sh-p2wpkh (nested segwit), p2wpkh (native segwit), p2tr (taproot). Shows how much you save by waiting.

ParametersJSON Schema
NameRequiredDescriptionDefault
input_countNo
output_countNo
address_typeNop2wpkh

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden. It discloses key behavioral traits: it estimates costs (not executes transactions), supports multiple address types, and shows savings from waiting. However, it lacks details on data sources, accuracy, rate limits, or error handling, leaving gaps for a tool with no annotation coverage.

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 appropriately sized and front-loaded, with the core purpose stated first, followed by supporting details. Every sentence adds value: the first defines the tool, the second lists address types, and the third explains the benefit. No wasted words 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?

Given the tool's moderate complexity (3 parameters, no annotations, but with an output schema), the description is reasonably complete. It covers purpose, scope, and key features. Since an output schema exists, it doesn't need to explain return values, but it could better address parameter usage and behavioral constraints.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining that parameters relate to address types (listing four specific ones) and urgency levels, though it doesn't explicitly map to 'input_count' or 'output_count'. The description provides useful context beyond the bare schema, but doesn't fully detail all 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 specific action ('Estimate Bitcoin transaction cost'), the resources involved (sats and USD), and the scope (different urgency levels and address types). It distinguishes itself from siblings by focusing on cost estimation rather than analysis, validation, or data retrieval like other tools in the list.

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 context by mentioning 'different urgency levels' and 'how much you save by waiting', suggesting it's for planning transactions. However, it doesn't explicitly state when to use this tool versus alternatives like 'get_fee_estimates' or 'get_fee_recommendation', nor does it provide exclusions or prerequisites.

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

explain_inscription_listing_securityA

Explain in plain language whether an ordinals inscription listing is snipe-resistant.

Analyzes the PSBT and returns a human-readable explanation of:

  • Whether the listing can be front-run in the mempool

  • What sighash type each input uses and why it matters

  • Specific remediation steps if the listing is vulnerable

Use this when you need a clear explanation for a developer or marketplace operator rather than raw analysis data.

Args: psbt_hex: Hex-encoded PSBT string (BIP 174 v0)

ParametersJSON Schema
NameRequiredDescriptionDefault
psbt_hexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/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 full burden of behavioral disclosure. It does well by specifying the analysis outputs (front-running assessment, sighash analysis, remediation steps) and the return format (human-readable explanation). However, it doesn't mention performance characteristics, error conditions, or any limitations of the analysis, which would be valuable for a security analysis 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 perfectly structured and concise. It opens with the core purpose, lists the specific analysis outputs in bullet points, provides clear usage guidelines, and ends with parameter documentation. Every sentence earns its place with no wasted words, and information is well-organized for quick scanning.

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 tool's complexity (security analysis), no annotations, and the presence of an output schema, the description does well. It clearly explains what the tool does, when to use it, and what analysis it performs. The output schema will handle return value details, so the description appropriately focuses on purpose and context. A perfect score would require mentioning some behavioral limitations.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It provides the parameter name 'psbt_hex' and adds crucial context: 'Hex-encoded PSBT string (BIP 174 v0).' This specifies the exact format and standard required, which is essential information not present in the schema. However, it doesn't mention validation requirements or example formats.

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: to explain whether an ordinals inscription listing is snipe-resistant in plain language. It specifies the exact analysis performed (front-running vulnerability, sighash types, remediation steps) and distinguishes itself from raw analysis tools by emphasizing human-readable explanations for developers/marketplace operators.

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?

The description explicitly states when to use this tool: 'when you need a clear explanation for a developer or marketplace operator rather than raw analysis data.' This clearly differentiates it from sibling tools like 'analyze_psbt_security' which likely provides raw data, and provides clear guidance on the target audience and use case.

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

explain_scriptB

Decode a Bitcoin Script hex and break down the opcodes.

Args: hex_script: Script in hex format

ParametersJSON Schema
NameRequiredDescriptionDefault
hex_scriptYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 full burden. It states the tool 'decodes' and 'breaks down' opcodes, which implies a read-only analysis operation, but doesn't disclose behavioral traits like whether it handles invalid hex gracefully, what format the breakdown is in, if there are rate limits, or if authentication is required. The description is minimal and lacks necessary 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?

The description is appropriately sized with two sentences: one stating the purpose and another defining the parameter. It's front-loaded with the core functionality. While efficient, the second sentence could be integrated more smoothly, but overall there's minimal waste.

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 has an output schema (which likely covers return values), the description doesn't need to explain outputs. However, with no annotations and minimal behavioral disclosure, the description is incomplete for a tool that performs decoding/analysis. It adequately states what it does but lacks context on how it behaves, which is a gap given the complexity of script analysis.

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

Parameters3/5

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

Schema description coverage is 0%, but the description adds some semantic context by specifying that 'hex_script' is 'Script in hex format'. However, it doesn't elaborate on valid hex formats, length constraints, or examples. With only one parameter and partial semantic clarification, this meets the baseline for adequate but incomplete parameter documentation.

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 with specific verbs ('decode' and 'break down') and identifies the resource ('Bitcoin Script hex'). It distinguishes itself from siblings like 'decode_raw_transaction' or 'analyze_transaction' by focusing specifically on script opcode analysis rather than broader transaction decoding or analysis.

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 when needing to understand Bitcoin Script opcodes from hex input, but provides no explicit guidance on when to use this tool versus alternatives like 'decode_raw_transaction' (which might include script decoding) or 'analyze_transaction' (which might analyze scripts within transactions). No exclusions or prerequisites are mentioned.

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

generate_keypairA

Generate a new Bitcoin address via the connected node's wallet. Requires a local node with a wallet loaded — not available when using the hosted Satoshi API.

SECURITY: Private keys are redacted by default because AI provider tool responses may be logged. Set include_private_key=True only if you understand the risk — the key will appear in your conversation history and should be considered potentially compromised for high-value use.

Args: address_type: Address type — "legacy" (P2PKH), "p2sh-segwit" (P2SH-P2WPKH), "bech32" (P2WPKH, default), or "bech32m" (P2TR taproot) include_private_key: If True, include the WIF private key in the response. Defaults to False for security.

ParametersJSON Schema
NameRequiredDescriptionDefault
address_typeNobech32
include_private_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/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 thoroughly explains security implications: private keys are redacted by default due to logging risks, and it warns that setting include_private_key=True exposes keys in conversation history, making them potentially compromised. This covers critical behavioral traits like security defaults and risks.

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

Conciseness5/5

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

The description is well-structured and front-loaded: it starts with the core purpose, then prerequisites, security warnings, and parameter details. Every sentence adds value—no redundancy or fluff. The use of bold-like formatting (SECURITY, Args) enhances readability without verbosity.

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 complexity (cryptographic key generation with security risks), no annotations, and an output schema present, the description is complete. It covers prerequisites, security warnings, parameter meanings, and behavioral context, ensuring the agent has all necessary information without needing to explain return values (handled by output schema).

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

Parameters5/5

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

The schema description coverage is 0%, so the description must fully compensate. It adds detailed semantics for both parameters: address_type is explained with specific Bitcoin address types (legacy, p2sh-segwit, bech32, bech32m) and their technical names, and include_private_key is described with security implications and default behavior. This goes well beyond the basic schema titles.

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: 'Generate a new Bitcoin address via the connected node's wallet.' It specifies the verb ('Generate'), resource ('Bitcoin address'), and mechanism ('via the connected node's wallet'), distinguishing it from sibling tools that analyze, decode, or query data rather than create cryptographic assets.

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?

The description provides explicit usage guidelines: 'Requires a local node with a wallet loaded — not available when using the hosted Satoshi API.' It clearly states when the tool cannot be used (with hosted API) and implies it's for local node setups, differentiating it from sibling tools that may work with remote APIs or analysis functions.

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

get_address_balanceA

Get the total balance, transaction count, and first/last seen times for a Bitcoin address.

Uses the Satoshi API blockchain indexer when available, falls back to mempool.space. Returns total received, total sent, current balance, tx count, and timestamps.

Args: address: Bitcoin address (any format: legacy, P2SH, bech32, bech32m)

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it specifies the data sources (Satoshi API blockchain indexer, falls back to mempool.space) and details the return values (total received, total sent, current balance, tx count, timestamps). However, it does not mention potential rate limits, errors, or authentication needs, leaving some gaps.

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 appropriately sized and front-loaded, starting with the core purpose, followed by implementation details and parameter explanation in a structured 'Args:' section. Every sentence adds essential information without redundancy, making it efficient and easy to parse.

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 moderate complexity, no annotations, and the presence of an output schema (which handles return values), the description is complete enough. It covers purpose, behavior, data sources, return metrics, and parameter details, providing a solid foundation for an AI agent to understand and use the tool effectively.

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

Parameters5/5

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

The schema description coverage is 0%, so the description must compensate fully. It does so by clearly explaining the single parameter 'address' with its semantics (Bitcoin address in any format: legacy, P2SH, bech32, bech32m), adding value beyond the basic schema that only indicates it's a required string.

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 with specific verbs ('Get the total balance, transaction count, and first/last seen times') and resources ('for a Bitcoin address'), distinguishing it from siblings like get_address_history or get_address_utxos by focusing on aggregated balance metrics rather than historical details or UTXO listings.

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 retrieving address balance information but does not explicitly state when to use this tool versus alternatives like get_address_history or get_address_utxos. It mentions the data sources (Satoshi API, mempool.space) which provides some context, but lacks clear guidance on exclusions or specific scenarios favoring this tool over others.

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

get_address_historyA

Get paginated transaction history for a Bitcoin address.

Uses the Satoshi API blockchain indexer when available, falls back to mempool.space. Shows each transaction with block height, timestamp, and net value change for the address. Results are ordered newest-first.

Args: address: Bitcoin address (any format) offset: Skip this many transactions (for pagination, default 0) limit: Max transactions to return (default 25, max 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes
offsetNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: the dual data source strategy (Satoshi API with fallback), pagination behavior, ordering (newest-first), and what fields are shown per transaction. However, it doesn't mention rate limits, error conditions, or authentication requirements.

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?

Perfectly structured with a clear purpose statement followed by implementation details, behavioral context, and a dedicated parameter section. Every sentence earns its place with zero waste, and the information is front-loaded appropriately.

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 tool's moderate complexity, no annotations, but with an output schema present, the description is nearly complete. It covers purpose, behavior, and parameters thoroughly, though could benefit from mentioning typical use cases or performance characteristics given the blockchain data source.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by providing detailed semantic information for all 3 parameters: address format expectations, offset's pagination purpose with default, and limit's range constraints with default and maximum. This adds significant value beyond the bare schema.

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 specific action ('Get paginated transaction history') and resource ('for a Bitcoin address'), distinguishing it from sibling tools like get_address_balance or get_address_utxos which focus on different address data. It specifies the exact scope of what's retrieved.

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 context by mentioning the data source (Satoshi API, mempool.space) and ordering (newest-first), but doesn't explicitly state when to use this tool versus alternatives like analyze_transaction or search_blockchain. No explicit exclusions or prerequisites are provided.

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

get_address_utxosA

Scan the UTXO set for all unspent outputs belonging to an address. Note: scans full UTXO set, may take minutes.

Args: address: Bitcoin address to scan

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it's a scanning operation (not a simple lookup), it examines the full UTXO set, and it may take minutes (performance characteristic). The description doesn't mention error conditions, rate limits, or authentication requirements, but provides substantial operational context.

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

Conciseness5/5

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

The description is perfectly structured and front-loaded: the first sentence states the core purpose, the second provides critical behavioral context, and the Args section cleanly documents the parameter. Every sentence earns its place with zero wasted words.

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 this is a potentially slow scanning operation with no annotations but with an output schema (which handles return values), the description is quite complete. It covers purpose, performance implications, and parameter meaning. It could mention that this might be resource-intensive or have specific prerequisites, but provides good coverage for the tool's complexity.

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?

With 0% schema description coverage for the single parameter, the description compensates by explaining that 'address' is a 'Bitcoin address to scan.' This adds essential semantic meaning beyond the schema's basic type information. It doesn't specify address format requirements or validation details, but provides clear purpose for the parameter.

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 specific action ('Scan the UTXO set') and resource ('all unspent outputs belonging to an address'), distinguishing it from siblings like get_address_balance (which provides balance) or get_address_history (which provides transaction history). The verb 'scan' accurately captures the exhaustive search nature of this operation.

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 about when to use this tool ('Scan the UTXO set for all unspent outputs belonging to an address') and includes a performance warning ('may take minutes'). However, it doesn't explicitly state when NOT to use it or name specific alternatives like get_address_balance for a quicker balance check, which would have earned a 5.

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

get_blockchain_infoB

Get blockchain info: chain, difficulty, softfork statuses, chain work, pruning.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/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 full burden of behavioral disclosure. It states the tool retrieves information ('Get'), implying a read-only operation, but doesn't specify if it's safe, has rate limits, requires authentication, or details the response format. The description lacks behavioral traits beyond the basic action, leaving gaps in understanding how the tool behaves in practice.

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 extremely concise and front-loaded, using a single sentence that lists key data points without unnecessary words. Every part of the description earns its place by specifying what information is retrieved, making it efficient and easy to parse.

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 low complexity (0 parameters, no annotations) and the presence of an output schema, the description is minimally adequate. It covers the purpose but lacks behavioral context and usage guidelines. With an output schema handling return values, the description doesn't need to explain outputs, but it should provide more guidance on when to use it versus siblings to be fully complete.

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 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter information, which is appropriate here. A baseline score of 4 is applied as the description compensates adequately by focusing on the tool's purpose without redundant parameter details.

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 with the verb 'Get' and specifies the resource 'blockchain info', listing specific data points like chain, difficulty, softfork statuses, chain work, and pruning. It distinguishes itself from siblings by focusing on general blockchain metadata rather than specific analyses or operations, though it doesn't explicitly contrast with similar tools like get_network_info or get_node_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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or compare with sibling tools like get_network_info or get_node_status, which might overlap in functionality. Usage is implied only by the data points listed, with no explicit when/when-not instructions.

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

get_block_countA

Get current block height (lightweight, fast).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 full burden of behavioral disclosure. It mentions 'lightweight, fast' which gives useful context about performance characteristics, but doesn't cover other important aspects like error conditions, rate limits, or what 'block height' specifically means in this context. This provides some value but leaves gaps.

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 extremely concise (5 words) with zero wasted language. It's front-loaded with the core purpose ('Get current block height') followed by important behavioral context ('lightweight, fast'). Every word earns its place in this efficient description.

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 tool's simplicity (0 parameters, has output schema), the description provides adequate context. The output schema will document return values, so the description doesn't need to explain them. However, for a tool with no annotations, it could benefit from slightly more behavioral context about what 'block height' means in this specific implementation.

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 0 parameters with 100% schema description coverage, so the schema already fully documents the input requirements. The description doesn't need to add parameter information, and it appropriately focuses on the tool's purpose and behavior rather than repeating what's already clear from 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?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('current block height'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'get_blockchain_info' or 'get_block_stats' that might also provide block-related information, preventing a perfect score.

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 includes 'lightweight, fast' which implies this tool is preferred for quick block height queries over more comprehensive alternatives. However, it doesn't explicitly state when to use this versus other block-related tools (e.g., 'get_block_stats' for detailed statistics), leaving some ambiguity about alternatives.

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

get_block_statsB

Get raw block statistics: median fee, total output, subsidy, weight, tx count.

Args: height: Block height

ParametersJSON Schema
NameRequiredDescriptionDefault
heightYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden. It states the tool retrieves 'raw block statistics', implying a read-only operation, but doesn't disclose behavioral traits such as data freshness, error handling (e.g., invalid height), rate limits, or authentication needs. For a tool with no annotations, this leaves significant gaps in understanding its behavior, warranting a low score.

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 highly concise and well-structured: the first sentence states the purpose and lists metrics, and the second provides parameter semantics. Every sentence adds value without redundancy, and it's front-loaded with key information. This is efficient and clear, deserving a top score.

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 tool's low complexity (one parameter), no annotations, and the presence of an output schema (which handles return values), the description is reasonably complete. It covers purpose and parameter meaning adequately. However, it lacks usage guidelines and behavioral context, which are minor gaps in this simple context, so it scores a 4 instead of 5.

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

Parameters4/5

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

Schema description coverage is 0%, with one parameter ('height') documented only by title and type in the schema. The description adds crucial semantics by specifying 'height: Block height', clarifying that this refers to block height in the blockchain. This compensates well for the low schema coverage, though it doesn't detail constraints (e.g., valid range), earning a 4.

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 with specific verbs ('Get raw block statistics') and enumerates the specific metrics returned (median fee, total output, subsidy, weight, tx count). It distinguishes from siblings like 'analyze_block' or 'get_blockchain_info' by focusing on statistical metrics rather than analysis or general info. However, it doesn't explicitly contrast with all siblings, keeping it at 4 instead of 5.

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 provides no guidance on when to use this tool versus alternatives like 'analyze_block', 'compare_blocks', or 'get_blockchain_info'. It lacks context about use cases, prerequisites, or exclusions, leaving the agent to infer usage from the name and metrics alone. This is minimal guidance, scoring a 2.

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

get_btc_priceA

Get current BTC/USD price from CoinGecko (free, no API key). Returns price, 24h change, and market cap. Use this to convert sat/vB fees into dollar amounts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: the data source (CoinGecko), that it's free with no API key required, and what data it returns (price, 24h change, market cap). It doesn't mention rate limits or potential failures, but covers the essential operational context.

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

Conciseness5/5

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

Perfectly front-loaded with the core purpose in the first sentence, followed by the specific use case. Both sentences earn their place - the first explains what the tool does, the second explains when to use it. No wasted words.

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

Completeness5/5

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

For a simple 0-parameter tool with an output schema, the description is complete. It explains the tool's purpose, data source, authentication requirements, return values, and specific use case. The output schema will handle the detailed return structure.

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?

With 0 parameters and 100% schema description coverage, the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and instead focuses on the tool's purpose and output.

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 specific action ('Get current BTC/USD price'), resource ('from CoinGecko'), and scope ('free, no API key'). It distinguishes itself from sibling tools by focusing on external price data rather than blockchain analysis or transaction processing.

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?

Explicitly provides when-to-use guidance: 'Use this to convert sat/vB fees into dollar amounts.' This gives a concrete use case that differentiates it from other tools that handle blockchain data but not price conversion.

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

get_chain_tipsB

Get chain tips: active chain, forks, and stale branches. Useful for detecting chain splits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 full burden of behavioral disclosure. It mentions the tool retrieves data ('Get chain tips') and hints at a use case ('detecting chain splits'), but fails to disclose key behavioral traits such as whether it's read-only, requires authentication, has rate limits, or what the output format entails. This leaves significant gaps for an agent to understand how to invoke it safely and effectively.

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 highly concise and front-loaded, consisting of two short sentences that directly state the purpose and a key use case. Every word earns its place without redundancy or unnecessary elaboration, making it efficient for quick comprehension.

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 that there are 0 parameters, an output schema exists, and no annotations are provided, the description is somewhat complete but has gaps. It explains what the tool does and a use case, but without annotations, it lacks behavioral details like safety or performance traits. The output schema likely covers return values, so the description doesn't need to explain those, but overall completeness is moderate due to missing behavioral context.

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 0 parameters with 100% coverage, so there are no parameters to document. The description doesn't need to add parameter semantics, and it appropriately avoids discussing inputs. A baseline of 4 is applied as it compensates well for the lack of parameters by focusing on the tool's purpose and usage.

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 with specific verbs ('Get chain tips') and resources ('active chain, forks, and stale branches'), making it easy to understand what it retrieves. However, it doesn't explicitly differentiate from sibling tools like 'get_blockchain_info' or 'get_network_info', which might also provide related chain data, so it misses full sibling distinction.

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 provides implied usage guidance by mentioning it's 'Useful for detecting chain splits', which suggests a context for when to use it. However, it lacks explicit when-to-use vs. alternatives, such as comparing to tools like 'get_blockchain_info' or 'get_network_info', and doesn't specify exclusions or prerequisites.

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

get_chain_tx_statsB

Get transaction rate statistics over N blocks.

Args: nblocks: Number of blocks to average over (default 2016 = ~2 weeks)

ParametersJSON Schema
NameRequiredDescriptionDefault
nblocksNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden. It mentions the tool retrieves statistics (implying read-only) and specifies a time frame ('over N blocks'), but lacks details on rate limits, permissions, error conditions, or what 'transaction rate statistics' entails (e.g., average, median, format). For a tool with no annotation coverage, this is insufficient behavioral context.

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

Conciseness5/5

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

The description is front-loaded with the core purpose in the first sentence, followed by a concise parameter explanation. Every sentence earns its place, with no wasted words, making it highly efficient and well-structured for quick understanding.

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 tool's low complexity (one optional parameter) and the presence of an output schema (which handles return values), the description is mostly complete. It covers the purpose and parameter semantics adequately. However, without annotations, it could benefit from more behavioral details like data freshness or limitations, slightly reducing completeness.

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 description adds significant meaning beyond the input schema, which has 0% coverage. It explains 'nblocks' as 'Number of blocks to average over' and provides a default value context ('2016 = ~2 weeks'), clarifying the parameter's purpose and typical usage. Since there's only one parameter and the schema lacks descriptions, the description effectively compensates, though it could specify units or constraints more explicitly.

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: 'Get transaction rate statistics over N blocks.' It specifies the verb ('Get') and resource ('transaction rate statistics'), and the scope ('over N blocks') is explicit. However, it doesn't differentiate from siblings like 'get_block_stats' or 'get_fee_estimates', which might also provide statistical data, so it falls short of a perfect 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?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools like 'get_block_stats', 'analyze_transaction', or 'get_fee_estimates', there's no indication of context, prerequisites, or exclusions. The default value hint ('~2 weeks') is useful but doesn't constitute usage guidelines.

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

get_difficulty_adjustmentB

Calculate difficulty adjustment progress: blocks into epoch, blocks remaining, estimated time, and projected adjustment.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It describes what the tool calculates but doesn't mention whether this is a read-only operation, whether it requires specific permissions, rate limits, network dependencies, or what happens when invoked. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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, efficient sentence that lists all key outputs without unnecessary elaboration. It's front-loaded with the core purpose and immediately specifies what information will be provided. Every word serves a clear purpose in defining the tool's function.

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 has 0 parameters, 100% schema coverage, and an output schema exists, the description is reasonably complete for its complexity level. However, with no annotations and a specialized blockchain calculation function, additional context about when this information is needed or how it's typically used would improve completeness. The output schema will handle return value documentation.

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 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description appropriately doesn't discuss parameters since none exist. This meets the baseline expectation for a zero-parameter tool where the schema handles all parameter documentation.

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 calculates difficulty adjustment progress with specific outputs (blocks into epoch, blocks remaining, estimated time, projected adjustment). It distinguishes from siblings by focusing on difficulty adjustment metrics rather than block analysis, transaction processing, or other blockchain functions. However, it doesn't explicitly differentiate from all potential similar tools in the sibling list.

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 provides no guidance on when to use this tool versus alternatives. While it's clear this is for difficulty adjustment calculations, there's no mention of when this is needed versus other analysis tools, what triggers its use, or what context requires difficulty adjustment information. The agent must infer usage from the purpose alone.

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

get_fee_estimatesA

Get fee rate estimates for 1/3/6/25/144 block confirmation targets in sat/vB.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 of behavioral disclosure. It states the tool's function but does not cover critical aspects such as whether it's read-only, requires authentication, has rate limits, or describes the output format. This leaves significant gaps for a tool that likely interacts with external data.

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, efficient sentence that front-loads the core purpose without unnecessary details. Every word contributes directly to understanding the tool's function, making it highly concise and well-structured.

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 has 0 parameters, 100% schema coverage, and an output schema exists, the description is adequate for basic understanding. However, with no annotations and a likely data-fetching operation, it should ideally mention behavioral traits like read-only nature or data sources to be more complete.

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 0 parameters with 100% schema description coverage, so the schema fully documents the inputs. The description adds no parameter information, but since no parameters exist, this is acceptable. A baseline of 4 is appropriate as the description doesn't need to compensate for any parameter gaps.

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 specific action ('Get fee rate estimates') and resource ('for 1/3/6/25/144 block confirmation targets in sat/vB'), distinguishing it from sibling tools like 'estimate_smart_fee' or 'get_fee_recommendation' by specifying exact confirmation targets and units. It provides a precise, non-tautological purpose.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives like 'estimate_smart_fee' or 'get_fee_recommendation', nor does it mention prerequisites or exclusions. It implies usage for fee estimation but lacks explicit context for tool selection.

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

get_fee_recommendationB

Get a plain-English fee recommendation based on current estimates, with raw rate data.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/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 full burden of behavioral disclosure. It states the tool provides a 'fee recommendation' and includes 'raw rate data', but doesn't describe key behaviors: whether it's read-only, requires network calls, has rate limits, or how it generates recommendations. For a tool with zero annotation coverage, this leaves significant gaps in understanding its operational traits.

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, efficient sentence that front-loads the core purpose ('Get a plain-English fee recommendation') and adds clarifying details ('based on current estimates, with raw rate data'). Every word earns its place, with no redundancy or unnecessary elaboration, making it highly concise and well-structured.

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 has 0 parameters, 100% schema coverage, and an output schema exists, the description is minimally adequate. It explains the output ('plain-English fee recommendation' with 'raw rate data'), which aligns with the output schema's role. However, with no annotations and multiple sibling tools (e.g., 'get_fee_estimates'), it lacks context on differentiation and behavioral details, leaving room for improvement.

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 0 parameters, and schema description coverage is 100% (though trivial due to no parameters). The description doesn't need to explain parameters, and it appropriately doesn't mention any. It focuses on output characteristics ('plain-English fee recommendation' with 'raw rate data'), which is sufficient given the parameterless design.

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: 'Get a plain-English fee recommendation based on current estimates, with raw rate data.' It specifies the verb ('Get'), resource ('fee recommendation'), and output characteristics ('plain-English' with 'raw rate data'). However, it doesn't explicitly differentiate from sibling tools like 'get_fee_estimates' or 'estimate_smart_fee', which likely provide more technical or raw fee data.

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 provides no guidance on when to use this tool versus alternatives. It mentions 'based on current estimates' but doesn't specify context (e.g., for transaction planning, analysis) or compare to siblings like 'get_fee_estimates' or 'estimate_transaction_cost'. Without explicit when/when-not instructions, the agent lacks clear usage direction.

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

get_halving_countdownA

Get a focused countdown to the next Bitcoin halving: blocks remaining, estimated date, and subsidy change.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/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 full burden of behavioral disclosure. It mentions the tool retrieves countdown data (blocks, date, subsidy change), which implies a read-only operation, but does not specify data sources, update frequency, or error handling. It adds basic context but lacks details on reliability or limitations.

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, efficient sentence that front-loads the purpose and lists outputs without unnecessary details. Every word contributes to understanding the tool's function, making it highly concise and well-structured.

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 0 parameters, no annotations, and an output schema (implied by context signals), the description is reasonably complete for a simple read tool. It specifies the focus (Bitcoin halving) and outputs, but could enhance completeness by mentioning data sources or typical use cases, though the output schema likely covers return values.

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 0 parameters with 100% coverage, so no parameter documentation is needed. The description does not discuss parameters, which is appropriate, but it could have noted the lack of inputs more explicitly. Baseline is 4 for 0 parameters, as it avoids redundancy.

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 specific action ('Get a focused countdown') and the resource ('next Bitcoin halving'), with explicit outputs listed (blocks remaining, estimated date, subsidy change). It distinguishes itself from sibling tools by focusing exclusively on halving countdown rather than analysis, validation, or data retrieval of other blockchain elements.

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 implies usage context by specifying 'next Bitcoin halving,' indicating this tool is for tracking halving events. However, it does not explicitly state when to use it versus alternatives (e.g., for general blockchain info vs. halving-specific data) or provide exclusions, leaving some ambiguity in sibling tool differentiation.

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

get_indexed_transactionA

Get enriched transaction details from the blockchain indexer.

Unlike analyze_transaction (which uses raw RPC), this returns resolved input addresses, spent/unspent status for each output, and block context. Falls back to mempool.space when the indexer is unavailable.

Args: txid: Transaction ID (64-character hex string)

ParametersJSON Schema
NameRequiredDescriptionDefault
txidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/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 effectively describes key behavioral traits: the enriched nature of the data (resolved addresses, spent/unspent status, block context), the fallback mechanism to mempool.space, and the data source (blockchain indexer). It doesn't mention rate limits, authentication needs, or error conditions, but provides substantial operational context.

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

Conciseness5/5

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

The description is perfectly structured and concise. It begins with the core purpose, immediately provides differentiation from siblings, explains behavioral characteristics, and ends with parameter details. Every sentence earns its place with no wasted words, and the information is front-loaded appropriately.

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 moderate complexity (single parameter), no annotations, and the presence of an output schema (which handles return values), the description is complete. It covers purpose, differentiation, behavioral traits, and parameter semantics adequately. The output schema will document the return structure, so the description doesn't need to explain return values.

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 schema has 0% description coverage, so the description must compensate. It provides the parameter name 'txid' and adds valuable semantic context: it's a 'Transaction ID' and specifies the format as a '64-character hex string'. This goes beyond what the bare schema provides, though it doesn't explain validation rules or provide examples.

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 with specific verbs ('get enriched transaction details') and resource ('from the blockchain indexer'). It explicitly distinguishes this tool from its sibling 'analyze_transaction' by contrasting their data sources and output characteristics, making the differentiation unambiguous.

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?

The description provides explicit guidance on when to use this tool versus alternatives. It directly compares to 'analyze_transaction' (which uses raw RPC) and specifies that this tool returns resolved addresses, spent/unspent status, and block context. It also mentions the fallback behavior to mempool.space when the indexer is unavailable.

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

get_indexer_statusA

Check the blockchain indexer sync progress.

Returns current indexed height, chain tip, sync percentage, blocks/sec, and ETA. Use this to check if the indexer is running and how far along the initial sync is.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/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 effectively discloses key behavioral traits: it's a read-only status check (implied by 'Check' and 'Returns'), describes the specific metrics returned (indexed height, chain tip, sync percentage, etc.), and mentions the tool's purpose for monitoring sync progress. However, it doesn't cover potential limitations like error conditions or rate limits.

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 perfectly front-loaded with the core purpose in the first sentence, followed by usage guidance. Both sentences earn their place by adding distinct value—no wasted words or redundancy.

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

Completeness5/5

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

Given the tool's low complexity (0 parameters), no annotations, and the presence of an output schema (which handles return values), the description is complete. It clearly explains what the tool does, when to use it, and what information it provides, covering all necessary context for effective agent use.

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 0 parameters with 100% coverage, so the baseline is 4. The description appropriately doesn't discuss parameters, focusing instead on the tool's purpose and output, which is correct for a parameterless 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 states the specific action ('Check') and resource ('blockchain indexer sync progress'), distinguishing it from sibling tools like 'get_node_status' or 'get_blockchain_info' which focus on different aspects of blockchain/node status. It precisely defines what the tool monitors.

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?

The description explicitly states when to use this tool: 'Use this to check if the indexer is running and how far along the initial sync is.' This provides clear context for its application, distinguishing it from other status-checking tools in the sibling list.

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

get_market_sentimentA

Get Bitcoin Fear & Greed Index: current value (0-100), classification (Extreme Fear/Fear/Neutral/Greed/Extreme Greed), and 7-day history. Use this to gauge market sentiment alongside price data.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/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 effectively describes the tool's behavior by specifying the output format (current value 0-100, classification categories, and 7-day history). However, it lacks details on rate limits, data sources, or update frequency, which would enhance transparency for a sentiment index 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 front-loaded with the core purpose in the first sentence, followed by a usage guideline. Both sentences are essential—the first defines the tool's function, and the second provides contextual application—with no redundant or wasted words.

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 has 0 parameters, 100% schema coverage, and an output schema exists, the description is complete. It clearly explains what the tool does (retrieves sentiment index data) and when to use it (alongside price data), which is sufficient for an agent to understand and invoke this tool correctly without needing additional details on parameters or return values.

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 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately omits parameter details, focusing on output semantics. A baseline of 4 is applied since the schema fully covers the absence of parameters, and the description adds value by explaining what the tool returns.

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

Purpose5/5

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

The description explicitly states the tool retrieves the Bitcoin Fear & Greed Index, including current value, classification, and 7-day history. It clearly distinguishes this from sibling tools that focus on blockchain analysis, transactions, or price data, as it specifically targets market sentiment metrics.

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?

The description provides explicit guidance to 'Use this to gauge market sentiment alongside price data,' indicating when to use this tool (for sentiment analysis) and how it complements other data sources like price tools (e.g., get_btc_price). This clearly differentiates it from alternatives in the sibling list.

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

get_mempool_ancestorsA

Get all unconfirmed ancestor transactions of a mempool transaction. Useful for CPFP analysis.

Args: txid: Transaction hash (64 hex characters)

ParametersJSON Schema
NameRequiredDescriptionDefault
txidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/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 full burden. It mentions the tool is 'useful for CPFP analysis,' which adds some behavioral context about its application. However, it lacks details on permissions, rate limits, output format, or error handling. For a tool with no annotations, this is a significant gap in transparency.

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 appropriately sized and front-loaded. The first sentence states the purpose clearly, the second adds usage context, and the 'Args' section efficiently documents the parameter. Every sentence earns its place with no wasted words, making it easy to scan and understand.

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 tool's moderate complexity (one parameter, no annotations, but with an output schema), the description is fairly complete. It explains the purpose, usage, and parameter semantics. Since an output schema exists, it doesn't need to detail return values. However, it could improve by mentioning prerequisites (e.g., transaction must be in mempool) or error cases.

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 description adds meaningful semantics beyond the input schema. The schema has 0% description coverage and only defines 'txid' as a string. The description specifies that 'txid' is a 'Transaction hash (64 hex characters),' providing crucial format details. With one parameter and low schema coverage, this compensation is effective, though it could note if the hash must be lowercase or valid.

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: 'Get all unconfirmed ancestor transactions of a mempool transaction.' It specifies the verb ('Get') and resource ('unconfirmed ancestor transactions'), and distinguishes it from siblings like 'get_mempool_entry' or 'analyze_mempool' by focusing on ancestor relationships. However, it doesn't explicitly differentiate from all siblings, such as 'get_mempool_info'.

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 provides implied usage context: 'Useful for CPFP analysis.' This suggests when to use the tool (for analyzing Child-Pays-For-Parent scenarios), but it doesn't explicitly state when not to use it or name alternatives. For example, it doesn't clarify if this is for unconfirmed transactions only or how it differs from 'analyze_transaction'.

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

get_mempool_entryA

Get details of a specific unconfirmed transaction in the mempool.

Args: txid: Transaction hash (64 hex characters)

ParametersJSON Schema
NameRequiredDescriptionDefault
txidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/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 full burden. It states the tool retrieves details but doesn't disclose behavioral traits like what details are returned, error handling for invalid txids, rate limits, or authentication needs. The description is minimal beyond the basic operation.

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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by a concise parameter explanation. Every sentence adds value with no wasted words, making it 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?

Given the tool's low complexity (one parameter) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers purpose and parameter semantics adequately, though behavioral transparency could be improved for a tool with no annotations.

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 description adds significant meaning beyond the input schema, which has 0% coverage. It explains that 'txid' is a 'Transaction hash (64 hex characters),' providing crucial format details not in the schema. With only one parameter, this compensates well for the schema gap.

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 with a specific verb ('Get details') and resource ('specific unconfirmed transaction in the mempool'), distinguishing it from siblings like get_mempool_info (general mempool info) and get_mempool_ancestors (transaction relationships).

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 context by specifying 'specific unconfirmed transaction,' but doesn't explicitly state when to use this tool versus alternatives like analyze_transaction or get_indexed_transaction. No exclusions or prerequisites are mentioned.

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

get_mempool_infoA

Get quick mempool stats: transaction count, size in bytes, min relay fee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 of behavioral disclosure. While it indicates this is a read operation ('Get'), it doesn't disclose important behavioral traits such as whether this requires specific permissions, what format the stats are returned in, whether there are rate limits, or how current the data is. The description is minimal and lacks behavioral context.

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

Conciseness5/5

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

The description is perfectly concise - a single sentence that efficiently communicates the tool's purpose and what it returns. Every word earns its place, with no wasted language or unnecessary elaboration. The information is front-loaded and immediately understandable.

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 that this is a read-only tool with no parameters and an output schema exists, the description is reasonably complete for its basic purpose. However, with no annotations and multiple sibling tools that might overlap in functionality, the description could benefit from more context about when this specific quick stats tool is most appropriate versus other mempool analysis options.

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 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description appropriately doesn't discuss parameters since none exist, and it focuses on what the tool returns instead. This meets the baseline expectation 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 states the specific action ('Get quick mempool stats') and specifies the exact resources returned ('transaction count, size in bytes, min relay fee'), which distinguishes it from sibling tools like 'analyze_mempool' or 'get_mempool_ancestors' that likely provide different types of mempool analysis.

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 provides no guidance on when to use this tool versus alternatives. It doesn't mention when this quick stats tool is appropriate compared to more detailed mempool analysis tools like 'analyze_mempool' or 'get_mempool_entry', nor does it specify any 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_mining_infoB

Get mining info: difficulty, network hashrate, current block size.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/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 full burden. It states what data is returned but doesn't disclose behavioral traits like whether this is a read-only operation, potential rate limits, authentication requirements, or how current the data is. For a tool with zero annotation coverage, this is inadequate.

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, efficient sentence that front-loads the purpose and lists specific data points. Every word contributes value with zero waste or redundancy.

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 has 0 parameters, 100% schema coverage, and an output schema exists, the description is minimally complete. However, with no annotations and many sibling tools, it should provide more context about when to use it and behavioral characteristics to be fully helpful.

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 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description appropriately doesn't mention parameters, maintaining focus on the tool's purpose. Baseline 4 is correct for zero-parameter tools.

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 with specific resources listed (difficulty, network hashrate, current block size) and uses the verb 'Get'. However, it doesn't differentiate from sibling tools like 'get_blockchain_info' or 'get_network_info' that might provide overlapping or related mining data.

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. With many sibling tools like 'get_blockchain_info' and 'get_network_info' that might include mining-related data, the description offers no context about when this specific mining-focused tool is preferred.

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

get_mining_pool_rankingsA

Get top 10 Bitcoin mining pools by hashrate share over the last week. Returns pool name, percentage of total hashrate, and block count. Use this to understand mining centralization and pool dominance.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/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 full burden of behavioral disclosure. It describes the tool's function and output format but lacks details on potential limitations (e.g., data freshness, rate limits, or error handling). It does not contradict annotations, but for a tool with no annotations, more behavioral context would be beneficial.

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 front-loaded with the core functionality in the first sentence, followed by additional context in a second sentence. Both sentences are necessary and add value, with no redundant or wasted words, making it highly efficient.

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 tool's simplicity (0 parameters, no annotations, but an output schema exists), the description is largely complete. It explains what the tool does, its output, and its purpose. However, with no annotations, it could benefit from more behavioral details (e.g., data sources or update frequency) to fully compensate for the lack of structured metadata.

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 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing instead on the tool's purpose and output. This meets the baseline for tools with no 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 specific action ('Get top 10 Bitcoin mining pools by hashrate share'), resource ('mining pools'), and scope ('over the last week'), distinguishing it from sibling tools like get_mining_info or get_blockchain_info. It explicitly mentions the return data format (pool name, percentage, block count) and the analytical purpose (understanding mining centralization).

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 ('to understand mining centralization and pool dominance'), which differentiates it from general mining or blockchain data tools. However, it does not explicitly state when not to use it or name specific alternatives among siblings, such as get_mining_info for broader mining statistics.

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

get_network_infoA

Get network info: protocol version, relay fee, connections, warnings. In hosted API mode, reflects the API server's network view.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 full burden of behavioral disclosure. It adds useful context about the 'hosted API mode' limitation, which clarifies that results depend on the server's perspective. However, it doesn't cover other behavioral traits like performance, error handling, or data freshness, leaving gaps for a read operation.

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 front-loaded with the core purpose in the first phrase, followed by a clarifying sentence about the hosted API mode. Both sentences earn their place by adding value without redundancy, making it efficient and well-structured.

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 tool's low complexity (0 parameters, read-only operation inferred from name), rich annotations (none provided), and presence of an output schema (which handles return values), the description is reasonably complete. It covers the purpose and a key contextual limitation, though it could benefit from more behavioral details given the lack of annotations.

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 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately adds no parameter details, focusing on the tool's output and context. A baseline of 4 is applied since the schema fully handles parameters, and the description doesn't introduce confusion.

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 with a specific verb ('Get') and resource ('network info'), listing key data points like protocol version, relay fee, connections, and warnings. However, it doesn't explicitly differentiate from sibling tools (e.g., get_node_status, get_peer_info) that might provide overlapping or related network information.

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 context by mentioning 'hosted API mode' and that it 'reflects the API server's network view,' which suggests when this tool is appropriate. However, it lacks explicit guidance on when to use this versus alternatives (e.g., get_node_status for node-specific details) or any exclusions, leaving some ambiguity.

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

get_node_statusA

Get Bitcoin network status: chain, height, sync progress, disk usage, connections, version. In hosted API mode, reflects the API server's node.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/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 that the tool is a read operation ('Get') and adds important behavioral context: in hosted API mode, it reflects the API server's node, which clarifies the data source. However, it lacks details on rate limits, error conditions, or response format, leaving some gaps.

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 front-loaded with the core purpose in the first clause, followed by a clarifying note about hosted API mode. Both sentences are essential—the first defines the tool, and the second adds critical behavioral context—with no wasted words or unnecessary details.

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 tool's low complexity (0 parameters) and the presence of an output schema, the description is mostly complete. It covers the purpose and key behavioral nuance (hosted API mode). However, without annotations, it could benefit from more explicit safety or operational details, though the output schema mitigates this gap.

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 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing on the tool's purpose instead. A baseline of 4 is applied since it efficiently handles the zero-parameter case without redundancy.

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 verb 'Get' and the resource 'Bitcoin network status', listing specific components like chain, height, sync progress, etc. It distinguishes from siblings by focusing on overall node status rather than specific analyses (e.g., analyze_block) or data queries (e.g., get_address_balance).

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 it: to retrieve comprehensive node status information. It implicitly distinguishes from siblings by not covering specific analyses or queries, but it does not explicitly state when not to use it or name alternatives, which prevents a perfect score.

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

get_peer_infoA

Get connected peer details: addresses, latency, services, version. In hosted API mode, shows the API server's peers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/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 full burden. It discloses the tool's behavior by specifying what data it returns and clarifying the hosted API mode behavior. However, it doesn't mention potential limitations like rate limits, authentication needs, or whether the data is real-time vs cached.

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 perfectly concise with two sentences that each add distinct value. The first sentence states the core purpose and returned data, while the second adds important contextual information about hosted API mode without 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?

Given the tool has 0 parameters, no annotations, but has an output schema, the description is reasonably complete. It explains what the tool does and provides important context about hosted API mode. However, with no annotations, it could benefit from mentioning whether this is a read-only operation or has any side effects.

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 0 parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, focusing instead on what the tool returns.

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 specific action ('Get connected peer details') and resource ('peer'), listing the exact data returned (addresses, latency, services, version). It distinguishes from siblings by focusing on peer information rather than blockchain data, transactions, or other network metrics.

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 it ('Get connected peer details') and includes a specific usage scenario ('In hosted API mode, shows the API server's peers'). However, it doesn't explicitly state when not to use it or name alternatives among the many sibling tools for network-related queries.

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

get_situation_summaryA

Get a quick Bitcoin briefing: price, fees, mempool, and chain tip in one call. Use this as your first call to understand current conditions — replaces calling 5+ tools separately.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/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 describes the tool as a 'quick briefing' that consolidates data from multiple sources, which implies it's a read-only operation for current conditions. However, it lacks details on rate limits, error handling, or data freshness, leaving behavioral gaps.

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 that are front-loaded with the core purpose and usage guideline. Every word earns its place, with no redundancy or unnecessary details, making it highly efficient and well-structured.

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 tool has 0 parameters, an output schema exists, and no annotations, the description is largely complete for its purpose. It explains what the tool does and when to use it, but could improve by hinting at output structure or limitations, though the output schema mitigates this.

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 0 parameters with 100% coverage, so no parameter documentation is needed. The description adds value by explaining the tool aggregates data from multiple sources, but since there are no parameters, a baseline of 4 is appropriate as it compensates with context.

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

Purpose5/5

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

The description explicitly states the tool's purpose: 'Get a quick Bitcoin briefing: price, fees, mempool, and chain tip in one call.' It uses specific verbs ('get', 'understand') and resources ('Bitcoin briefing', 'price, fees, mempool, and chain tip'), and clearly distinguishes itself from siblings by noting it 'replaces calling 5+ tools separately.'

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?

The description provides explicit guidance on when to use this tool: 'Use this as your first call to understand current conditions.' It also indicates alternatives by mentioning it replaces multiple other tools, though it doesn't name specific siblings, the implication is clear for efficiency.

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

get_supply_infoA

Get Bitcoin supply data: circulating supply, max supply, inflation rate, subsidy per block, and next halving estimate.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/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 full burden. It states the tool retrieves data ('Get'), implying a read-only operation, but does not disclose behavioral traits such as whether it requires authentication, has rate limits, returns real-time or cached data, or handles errors. The description adds no context beyond the basic purpose.

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 that front-loads the purpose ('Get Bitcoin supply data') and lists the specific data points concisely. Every word contributes to understanding the tool's function, with zero wasted information.

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 tool has 0 parameters, 100% schema coverage, and an output schema exists, the description is reasonably complete. It specifies the data returned, which compensates for the lack of annotations. However, it could be more complete by mentioning the output format or data source, though the output schema may cover this.

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 0 parameters, and schema description coverage is 100%. The description correctly indicates no parameters are needed by not mentioning any, aligning with the schema. Since there are no parameters to document, a baseline score of 4 is appropriate, as the description efficiently conveys the tool's purpose without unnecessary parameter details.

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 specific action ('Get') and resource ('Bitcoin supply data'), listing the exact data points returned: circulating supply, max supply, inflation rate, subsidy per block, and next halving estimate. It distinguishes itself from sibling tools by focusing on supply metrics rather than blocks, transactions, addresses, or network status.

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 when Bitcoin supply data is needed, but provides no explicit guidance on when to use this tool versus alternatives like 'get_halving_countdown' (for halving details) or 'get_blockchain_info' (for broader blockchain data). No exclusions or prerequisites are mentioned.

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

get_treasury_companiesA

List all Bitcoin treasury companies tracked by Treasury-MCP.

Returns a table of all tracked companies with their ticker, exchange, country, approximate BTC holdings, and last data update date.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden of behavioral disclosure. It clearly indicates a read-only operation ('List', 'Returns a table') and specifies the data structure returned, which helps the agent understand output format. However, it doesn't mention potential limitations like rate limits, data freshness, or error conditions, leaving gaps in behavioral context.

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

Conciseness5/5

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

The description is efficiently structured in two sentences: the first states the action and scope, and the second details the return format. Every sentence adds value without redundancy, and it's front-loaded with the core purpose. No wasted words or unnecessary elaboration.

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 tool's simplicity (0 parameters, no annotations, but has an output schema), the description is reasonably complete. It clearly explains what the tool does and the structure of returned data, which aligns with the output schema's role. However, it could be more comprehensive by addressing behavioral aspects like data sources or update frequency, slightly reducing completeness for a tool with no annotations.

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 0 parameters, and schema description coverage is 100% (as there are no parameters to describe). The description appropriately doesn't add parameter details, maintaining focus on the tool's purpose and output. A baseline score of 4 is applied since no parameters exist, and the description doesn't attempt to compensate for non-existent schema gaps.

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 specific action ('List all Bitcoin treasury companies') and resource ('tracked by Treasury-MCP'), with explicit mention of the returned data fields (ticker, exchange, country, BTC holdings, update date). It distinguishes itself from sibling tools like 'get_treasury_holdings' by focusing on company metadata rather than holdings details.

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 context by specifying it returns 'all tracked companies' with comprehensive fields, suggesting it's for obtaining a complete overview. However, it lacks explicit guidance on when to use this versus alternatives like 'get_treasury_holdings' or other data-fetching tools, leaving the agent to infer based on the data scope.

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

get_treasury_holdingsA

Get detailed Bitcoin treasury holdings for a specific company.

Returns BTC holdings, average acquisition cost, total treasury value in USD and KRW, BTC-per-share, and data source information.

Args: ticker: Company ticker or key (e.g. 'MSTR', 'METAPLANET', 'SEMLER', 'MARA', 'RIOT')

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/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 states what data is returned (e.g., BTC holdings, average acquisition cost) but does not cover critical traits like whether this is a read-only operation, potential rate limits, data freshness, error handling, or authentication needs. For a tool with no annotations, this leaves significant behavioral gaps.

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 front-loaded with the core purpose in the first sentence, followed by a bullet-like list of return values and a clear parameter explanation. Every sentence adds value without redundancy, and the structure is efficient for quick comprehension.

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 tool's moderate complexity (single parameter, no annotations, but with an output schema), the description is reasonably complete. It explains the purpose, return data, and parameter semantics. Since an output schema exists, it need not detail return values further, though it could improve by addressing behavioral aspects like data sources or limitations.

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 schema description coverage is 0%, so the description must compensate. It adds meaningful semantics by explaining the 'ticker' parameter as 'Company ticker or key' and providing concrete examples (e.g., 'MSTR', 'METAPLANET'). This clarifies the parameter's purpose and format beyond the bare schema, though it doesn't detail constraints like valid ticker formats or error cases.

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 specific action ('Get detailed Bitcoin treasury holdings') and resource ('for a specific company'), distinguishing it from siblings like get_treasury_companies (which likely lists companies) or get_btc_price (which provides price data). The verb 'Get' combined with the detailed resource scope makes the purpose explicit and differentiated.

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 when detailed treasury data for a company is needed, but provides no explicit guidance on when to use this tool versus alternatives like get_treasury_companies or parse_latest_filing. It mentions the required 'ticker' parameter, which gives some context, but lacks when-not scenarios or named alternatives.

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

get_utxo_set_infoA

Get UTXO set statistics: total UTXOs, total supply, disk size. Note: this is a slow operation (1-2 minutes on local nodes, may vary on hosted API).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/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 effectively adds critical context beyond the input schema by warning that this is a 'slow operation (1-2 minutes on local nodes, may vary on hosted API)', which is essential for an AI agent to manage expectations and avoid timeouts. This covers performance characteristics not inferable from other fields.

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 highly concise and front-loaded: the first sentence states the purpose and outputs, and the second adds crucial behavioral context. Every sentence earns its place with no wasted words, making it easy for an AI agent to parse quickly.

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 complexity (a potentially slow statistical query), the description is complete enough. It explains what the tool does, what it returns, and key behavioral traits (slowness). With an output schema present, it does not need to detail return values, and the lack of annotations is compensated by the description's transparency. This suffices for effective agent use.

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 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately adds no parameter details, maintaining focus on the tool's purpose and behavior. A baseline of 4 is applied as it compensates adequately for the lack of parameters by providing other necessary context.

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 specific action ('Get UTXO set statistics') and enumerates the exact metrics returned (total UTXOs, total supply, disk size). It directly distinguishes itself from sibling tools like 'get_address_utxos' or 'check_utxo' by focusing on aggregate statistics rather than individual address or transaction data.

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 aggregate UTXO statistics are needed. It implicitly distinguishes from siblings by not being for address-specific queries or transaction analysis. However, it does not explicitly name alternatives or state when not to use it, such as for real-time data needs.

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

list_rpc_commandsB

List all available RPC commands grouped by category.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/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 states the action but doesn't cover aspects like whether this is a read-only operation, if it requires authentication, rate limits, or what the output format looks like (though an output schema exists). This leaves significant gaps for a tool that likely interacts with system commands.

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, efficient sentence that directly states the tool's function without any fluff or redundancy. It's front-loaded and appropriately sized for a simple listing tool, making it easy to parse quickly.

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 has 0 parameters, 100% schema coverage, and an output schema exists, the description is minimally adequate. However, with no annotations and a lack of behavioral context (e.g., safety, permissions), it doesn't fully prepare an agent for real-world usage, especially in a server with many sibling 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 has 0 parameters, and the input schema has 100% description coverage (though empty). The description doesn't need to add parameter details, so it meets the baseline expectation. No additional semantic value is required or provided.

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 verb ('List') and resource ('all available RPC commands grouped by category'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'describe_rpc_command' which provides details about a specific command, though the distinction is somewhat implied by the scope difference.

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 provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for usage, or compare it to sibling tools like 'describe_rpc_command' for detailed command information, leaving the agent to infer usage scenarios independently.

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

parse_latest_filingA

Fetch and parse the latest Bitcoin-related corporate filing for a treasury company.

For US companies: queries SEC EDGAR for the most recent 8-K filing mentioning Bitcoin. For Metaplanet (Japan): scrapes the official IR page for the latest disclosure.

Returns a structured summary including recent filings and current baseline holdings.

Args: ticker: Company ticker or key (e.g. 'MSTR', 'METAPLANET', 'SEMLER', 'MARA', 'RIOT')

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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. It discloses that the tool fetches and parses data from external sources (SEC EDGAR and IR pages), which implies network calls and potential rate limits or authentication needs. It also mentions returning a structured summary, but does not detail error handling, data freshness, or specific behavioral traits like response time or data formats beyond 'structured summary.' This is adequate but lacks depth for a tool with external dependencies.

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 appropriately sized and front-loaded: the first sentence clearly states the purpose, followed by specifics on implementation for different company types, return value, and parameter details. Every sentence adds value without redundancy, and the structure is logical and easy to parse.

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 complexity (external data fetching and parsing), no annotations, and an output schema present, the description is reasonably complete. It covers the purpose, usage context, parameter semantics, and return value at a high level. However, it could benefit from more details on behavioral aspects like error cases or data sources, but the output schema likely handles return values, so this is sufficient for most use cases.

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 1 parameter with 0% description coverage, so the description must compensate. It adds meaning by explaining that 'ticker' is a 'Company ticker or key' and provides examples (e.g., 'MSTR', 'METAPLANET'). This clarifies the parameter's purpose and format, though it does not specify constraints like valid ticker formats or handling of invalid inputs. Since there's only one parameter, the description does a good job of explaining it beyond the schema.

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: 'Fetch and parse the latest Bitcoin-related corporate filing for a treasury company.' It specifies the action (fetch and parse), resource (Bitcoin-related corporate filing), and target (treasury company). It also distinguishes itself from sibling tools by focusing on corporate filings rather than blockchain analysis, transaction processing, or other Bitcoin-related operations.

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: for retrieving the latest Bitcoin-related corporate filings for treasury companies. It differentiates between US companies (using SEC EDGAR) and Metaplanet (Japan, using IR page scraping). However, it does not explicitly state when NOT to use it or name specific alternatives among sibling tools, though the context implies it's for corporate data rather than blockchain analysis.

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

query_remote_apiA

Query a remote Satoshi API instance, auto-paying with Lightning if needed.

Requires SATOSHI_API_URL environment variable. Supports L402 micropayments.

Args: endpoint: API path (e.g. "/api/v1/fees", "/api/v1/blocks/latest") params: Optional query parameters as key=value pairs separated by &

ParametersJSON Schema
NameRequiredDescriptionDefault
endpointYes
paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 full burden of behavioral disclosure. It adds valuable context: auto-payment with Lightning, environment variable requirement, and L402 micropayment support. However, it doesn't cover rate limits, error handling, authentication details beyond micropayments, or what the response looks like (though an output schema exists). It provides some behavioral insight but leaves gaps for a tool with external dependencies.

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

Conciseness5/5

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

The description is well-structured and front-loaded: the first sentence states the core purpose, followed by prerequisites and payment support, then parameter details. Every sentence adds value, with no wasted words. It's appropriately sized for a tool with two parameters and external dependencies.

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 tool's complexity (external API with payment handling), no annotations, 0% schema coverage, but an output schema exists, the description is fairly complete. It covers purpose, prerequisites, payment mechanism, and parameter semantics. The output schema likely handles return values, so the description doesn't need to explain those. However, it could benefit from more behavioral details like error cases or rate limits.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It explains both parameters: 'endpoint' as 'API path' with examples (e.g., '/api/v1/fees'), and 'params' as 'Optional query parameters as key=value pairs separated by &.' This adds clear meaning beyond the bare schema. However, it doesn't detail format constraints or provide more examples for complex cases.

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: 'Query a remote Satoshi API instance, auto-paying with Lightning if needed.' It specifies the verb ('query') and resource ('remote Satoshi API instance'), and distinguishes it from sibling tools by focusing on external API interaction rather than local blockchain analysis. However, it doesn't explicitly differentiate from potential alternative query tools (though none are listed among siblings).

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 provides some usage context: 'Requires SATOSHI_API_URL environment variable' and 'Supports L402 micropayments,' which implies prerequisites and payment handling. However, it doesn't explicitly state when to use this tool versus alternatives (e.g., for remote vs. local data) or provide exclusions. The guidance is implied 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_blockchainA

Smart search: auto-detects if query is a txid, block hash, block height, or address and returns the right data.

Args: query: A txid (64 hex), block hash (64 hex starting with 0000), block height (number), or Bitcoin address

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/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 full burden. It discloses key behavioral traits: auto-detection of query types and returning 'the right data' based on detection. However, it doesn't cover important aspects like rate limits, authentication needs, error handling, or what 'the right data' entails (though output schema may help). It adds value but leaves gaps in behavioral context for a search tool.

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 appropriately sized and front-loaded: the first sentence states the core functionality, followed by a structured 'Args:' section for parameter details. There's minimal waste, though the formatting could be slightly more polished. Every sentence earns its place by adding clarity or specifics.

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 1 parameter with 0% schema coverage, no annotations, but an output schema exists, the description is reasonably complete. It explains the tool's purpose, parameter semantics, and auto-detection behavior. The output schema likely handles return values, so the description doesn't need to detail them. For a search tool with auto-detection, this covers the essentials, though more behavioral context would improve it.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It provides detailed semantics for the single parameter 'query', explaining it can be a 'txid (64 hex), block hash (64 hex starting with 0000), block height (number), or Bitcoin address'. This adds significant meaning beyond the schema's generic 'string' type, including format examples and constraints. However, it doesn't cover edge cases or validation rules fully.

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: 'Smart search: auto-detects if query is a txid, block hash, block height, or address and returns the right data.' This specifies the verb ('search'), resource ('blockchain'), and scope (multiple query types with auto-detection). It distinguishes from siblings like 'search_blocks' (specific to blocks) and 'analyze_transaction' (specific analysis). However, it doesn't explicitly contrast with all relevant siblings, keeping it at 4 rather than 5.

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 context by listing query types (txid, block hash, block height, address) and mentioning auto-detection, suggesting this is a general-purpose search tool. However, it lacks explicit guidance on when to use this versus alternatives like 'search_blocks' (blocks only) or 'analyze_transaction' (transaction analysis). No exclusions or prerequisites are stated, so usage is implied but not clearly defined.

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

search_blocksB

Get block statistics for a range of heights. Max 10 blocks.

Args: start_height: Starting block height (inclusive) end_height: Ending block height (inclusive)

ParametersJSON Schema
NameRequiredDescriptionDefault
start_heightYes
end_heightYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It mentions a constraint ('Max 10 blocks'), which adds some context, but fails to describe other critical behaviors such as error handling, performance characteristics, or what 'block statistics' entails. For a tool with no annotations, this is insufficient to guide safe and effective use.

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 appropriately sized and front-loaded, with the core purpose stated first followed by parameter details. It uses two sentences and a structured 'Args:' section efficiently. There is no wasted text, though it could be slightly more polished in formatting.

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 complexity (2 parameters, no annotations, but with an output schema), the description is partially complete. It covers the purpose and parameters but lacks usage guidelines and detailed behavioral context. The presence of an output schema reduces the need to explain return values, but overall, it falls short of being fully informative for effective tool selection.

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 description adds meaningful semantics beyond the input schema. The schema has 0% description coverage, providing only titles and types. The description clarifies that parameters define an inclusive range ('Starting block height (inclusive)', 'Ending block height (inclusive)'), which is crucial for understanding. However, it does not explain units or validation rules, leaving minor gaps.

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: 'Get block statistics for a range of heights.' It specifies the verb ('Get') and resource ('block statistics'), and includes a constraint ('Max 10 blocks'). However, it does not explicitly differentiate from sibling tools like 'get_block_stats' or 'search_blockchain', which reduces clarity in distinguishing its specific use case.

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 provides no guidance on when to use this tool versus alternatives. It mentions a constraint ('Max 10 blocks') but does not specify scenarios for its use, prerequisites, or comparisons to sibling tools such as 'get_block_stats' or 'search_blockchain'. This lack of context leaves the agent without clear usage direction.

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

send_raw_transactionA

Broadcast a signed raw transaction to the Bitcoin network.

WARNING: This sends a REAL transaction. Once broadcast, it cannot be reversed. Ensure the transaction is correctly signed and you understand the fee implications. In hosted API mode, the transaction is broadcast through the Satoshi API's node.

Args: hex_string: Signed raw transaction in hex format max_fee_rate: Maximum fee rate in BTC/kvB to prevent accidental overpayment (default 0.10)

ParametersJSON Schema
NameRequiredDescriptionDefault
hex_stringYes
max_fee_rateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/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 effectively communicates critical behavioral traits: the irreversible nature of the action ('cannot be reversed'), security implications ('correctly signed'), financial implications ('fee implications'), and implementation details ('broadcast through the Satoshi API's node'). This covers safety, cost, and operational context that annotations would normally provide.

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 efficiently structured with a clear purpose statement, critical warning, usage guidance, and parameter explanations in separate logical sections. Every sentence serves a distinct purpose: the first states the action, the warning highlights risks, the third provides implementation context, and the parameter section documents inputs. No wasted words.

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 this is a high-stakes mutation tool with no annotations, 0% schema description coverage, but with an output schema (which handles return values), the description provides complete contextual coverage. It addresses purpose, irreversible consequences, fee implications, implementation mode, and parameter semantics - everything needed for safe and correct usage beyond what structured fields provide.

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

Parameters5/5

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

With 0% schema description coverage, the description must fully compensate for the lack of parameter documentation. It successfully explains both parameters: 'hex_string' is described as 'Signed raw transaction in hex format' and 'max_fee_rate' as 'Maximum fee rate in BTC/kvB to prevent accidental overpayment (default 0.10)', including units, purpose, and default value. This adds essential meaning beyond the bare schema.

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 specific action ('Broadcast a signed raw transaction') and the target ('to the Bitcoin network'), distinguishing it from sibling tools like decode_raw_transaction or analyze_transaction that analyze rather than broadcast. It uses precise technical language that identifies the exact operation.

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?

The description provides explicit guidance on when to use this tool ('Ensure the transaction is correctly signed and you understand the fee implications') and includes a strong warning about irreversibility. It also mentions an alternative context ('In hosted API mode...') that helps differentiate usage scenarios.

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

validate_addressA

Validate a Bitcoin address and return its type (legacy/segwit/taproot), network, and script info. Use this to check if an address is valid before sending, or to identify what kind of address you're looking at.

Args: address: Bitcoin address to validate (any format: P2PKH, P2SH, P2WPKH, P2WSH, P2TR)

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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's behavior by stating it validates addresses and returns specific info, but lacks details on error handling, rate limits, authentication needs, or performance characteristics. The description does not contradict any annotations.

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 appropriately sized and front-loaded, with the first sentence clearly stating the purpose and output, followed by usage guidelines and parameter details. Every sentence adds value without 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?

Given the tool's low complexity (1 parameter) and the presence of an output schema (which handles return values), the description is mostly complete. It covers purpose, usage, and parameter semantics well, but could benefit from more behavioral details like error cases or limitations.

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

Parameters5/5

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

The description adds significant meaning beyond the input schema, which has 0% coverage. It explains that the 'address' parameter accepts any Bitcoin address format (P2PKH, P2SH, P2WPKH, P2WSH, P2TR), providing crucial context not present in the schema's minimal title and type.

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 with a specific verb ('validate') and resource ('Bitcoin address'), and distinguishes it from siblings by focusing on address validation rather than analysis, transaction handling, or data retrieval. It explicitly mentions returning address type, network, and script info.

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 on when to use the tool ('check if an address is valid before sending' or 'identify what kind of address you're looking at'), but does not explicitly state when not to use it or name specific alternatives among the sibling tools (e.g., get_address_balance or get_address_history).

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. Dates show when Glama detected each change.

  1. 53 tool updatesv0.5.1
    • First observedanalyze_block
    • First observedanalyze_mempool
    • First observedanalyze_next_block
    • First observedanalyze_psbt_security
    • First observedanalyze_transaction
    • First observedcalculate_mnav
    • First observedcheck_utxo
    • First observedcompare_blocks
    • First observedcompare_fee_estimates
    • First observeddecode_bolt11_invoice
    • First observeddecode_raw_transaction
    • First observeddescribe_rpc_command
    • First observedestimate_smart_fee
    • First observedestimate_transaction_cost
    • First observedexplain_inscription_listing_security
    • First observedexplain_script
    • First observedgenerate_keypair
    • First observedget_address_balance
    • First observedget_address_history
    • First observedget_address_utxos
    • First observedget_block_count
    • First observedget_block_stats
    • First observedget_blockchain_info
    • First observedget_btc_price
    • First observedget_chain_tips
    • First observedget_chain_tx_stats
    • First observedget_difficulty_adjustment
    • First observedget_fee_estimates
    • First observedget_fee_recommendation
    • First observedget_halving_countdown
    • First observedget_indexed_transaction
    • First observedget_indexer_status
    • First observedget_market_sentiment
    • First observedget_mempool_ancestors
    • First observedget_mempool_entry
    • First observedget_mempool_info
    • First observedget_mining_info
    • First observedget_mining_pool_rankings
    • First observedget_network_info
    • First observedget_node_status
    • First observedget_peer_info
    • First observedget_situation_summary
    • First observedget_supply_info
    • First observedget_treasury_companies
    • First observedget_treasury_holdings
    • First observedget_utxo_set_info
    • First observedlist_rpc_commands
    • First observedparse_latest_filing
    • First observedquery_remote_api
    • First observedsearch_blockchain
    • First observedsearch_blocks
    • First observedsend_raw_transaction
    • First observedvalidate_address

TDQS

A3.5/5.0
Disambiguation3/5

Most tools have distinct purposes, but there is notable overlap in analysis and retrieval functions. For example, analyze_transaction and get_indexed_transaction both decode transactions, and analyze_psbt_security and explain_inscription_listing_security cover similar PSBT vulnerabilities, which could cause confusion. However, descriptions help differentiate them by focusing on raw analysis versus enriched data or technical versus explanatory outputs.

Naming Consistency4/5

Tool names largely follow a consistent verb_noun pattern (e.g., analyze_block, get_address_balance, decode_raw_transaction), with clear and predictable naming. Minor deviations exist, such as compare_fee_estimates (verb_noun) versus get_fee_recommendation (verb_noun), but overall the naming is coherent and easy to understand across the set.

Tool Count2/5

With 53 tools, the count is excessive for a single server, leading to potential overwhelm and redundancy. While the domain (Bitcoin/treasury analysis) is broad, many tools could be consolidated (e.g., multiple fee estimation or block analysis tools). This high number suggests poor scoping and may hinder agent efficiency due to choice overload.

Completeness5/5

The tool set provides comprehensive coverage for Bitcoin and treasury analysis, including transaction decoding, fee estimation, address management, block analysis, PSBT security, corporate treasury data, and network status. There are no obvious gaps; it supports full workflows from data retrieval to analysis and broadcasting transactions, ensuring agents can handle a wide range of tasks without dead ends.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    26
    5
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that tracks Bitcoin's Unspent Transaction Outputs (UTXO) and block statistics, giving AI agents direct access to essential on-chain data.
    2
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides AI agents with real-time and historical Bitcoin network data by wrapping the mempool.space WebSocket and REST APIs. It enables tracking addresses, monitoring blocks, and retrieving transaction details or fee estimates through natural language.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bjunjo/treasury-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server