Skip to main content
Glama
teamssUTXO

Bitcoin-MCP-Server

by teamssUTXO

Bitcoin MCP Server

A comprehensive Model Context Protocol (MCP) server that brings Bitcoin data and functionality directly to AI assistants like Claude, ChatGPT, and other MCP-compatible platforms.

Bitcoin Bitcoin MCP License: MIT Python 3.12


📋 Table of Contents


Related MCP server: Desk3 MCP Server

🤖 What is MCP?

The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect to external data sources and tools. Think of it as a universal adapter that lets AI models interact with your applications, databases, and APIs in a standardized way.

Key Benefits of MCP

  • Plug-and-Play Integration: Connect AI assistants to external tools without custom code

  • Secure: Controlled access to data and operations

  • Universal: Works across different AI platforms (Claude, ChatGPT, etc.)

  • Modular: Easy to add, remove, or update capabilities

Learn more at modelcontextprotocol.io


💡 Why Use Bitcoin MCP Server?

The Bitcoin MCP Server empowers AI assistants with real-time Bitcoin data and analysis capabilities:

  • Real-time Data: Access current Bitcoin prices, market data, and network statistics

  • Blockchain Analysis: Query blocks, transactions, and addresses directly

  • Mining Insights: Get hashrate, difficulty, and mining pool information

  • Market Intelligence: Track price movements, volume, and market capitalization

  • Network Health: Monitor mempool status, fee estimates, and node statistics

No Bitcoin expertise required - just ask questions in natural language, and the AI handles the technical queries for you!


✨ Features

  • Network Overview: Real-time Bitcoin network statistics including hashrate, difficulty, block production, and transaction volume

  • Transaction Analysis: Detailed transaction information with input/output breakdown, fee analysis, and confirmation status

  • Address Intelligence: Complete address analytics including balance, transaction history and UTXO management

  • Block Explorer: Access to block data with mining pool information, transaction counts, fees, and timestamps

  • Market Data: Real-time Bitcoin price, market capitalization, trading volume, and multi-timeframe performance analysis

  • Mining Insights: Top mining pools ranking, hashrate distribution, network dominance statistics, and 3-month historical trends

  • Fee Recommendations: Dynamic fee estimates for different confirmation speeds (fastest, half-hour, standard, economy)

  • Market Sentiment: Community sentiment tracking and Fear & Greed Index with 7-day historical data

  • Trending Analytics: Discover trending cryptocurrencies, NFT collections, and categories


💼 Use Cases

For Investors & Traders

img

For Developers & Analysts

img

For Researchers & Educators

img

For Business Intelligence

img

You can use these examples :

  • Transaction : a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d

  • Address : 1Ay8vMC7R1UbyCCZRVULMV7iQpHSAbguJP

  • Block (height) : 933135


🚀 Installation

Prerequisites

  • Python 3.12 installed on your system

  • UV package manager (obligatory)

  • An MCP-compatible AI client (e.g., Claude Desktop)

  1. Install UV (if not already installed) UV is a fast Python package installer and resolver.

  • Linux :

curl -LsSf https://astral.sh/uv/install.sh | sh
  • Windows :

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Restart your command-line window after installing this.

  1. Clone the repository:

git clone https://github.com/teamssUTXO/bitcoin_mcp.git
cd bitcoin_mcp
  1. Install dependencies:

uv venv
uv pip install -e .
  1. Install to Claude Desktop:

uv run mcp install src/main.py

Check How to configure MCP Server

Option 2: Using Python/Pip

  1. Clone the repository:

git clone https://github.com/teamssutxo/bitcoin_mcp.git
cd bitcoin_mcp
  1. Create a virtual environment (recommended):

python -m venv venv
source venv/bin/activate  # On Windows: .\venv\Scripts\activate
  1. Install dependencies:

pip install -r requirements.txt
  1. Run the server with Claude Desktop:

Follow the Claude configuration guide: : Config.README.md

Option 3: Using Docker

See README.Docker.md for detailed Docker deployment instructions.

Check server health

To check that the server is working correctly, use the endpoint /health.

Port Configuration

Customize the port with --port 8000 or -p 8000. Default: 3000.


🛠️ Available Tools

The Bitcoin MCP Server provides the following tools organized by category:

📬 Address Tools

  • get_address_overview

  • get_info_about_address

📦 Block Tools

  • get_10_latest_blocks_informations

  • get_block_hash_with_height

  • get_summary_of_latest_block

💸 Transaction Tools

  • get_bitcoin_transaction_infos

  • get_transaction_input_output

  • get_transactions_of_address

💰 Market Tools

  • get_bitcoin_price_usd

  • get_bitcoin_market_data

  • get_cryptomarket_overview

  • get_bitcoin_market_sentiment

  • get_trending_coins

  • get_trending_categories

  • get_trending_nfts

⛏️ Mining Tools

  • get_mining_pools_hashrates_3month

  • get_top_10_mining_pools_rank

  • get_bitcoin_network_mining_pools_statistics

  • get_top1_mining_pool

  • get_mining_pool_by_slugl

🌐 Network Tools

  • get_bitcoin_network_overview

  • get_bitcoin_network_recommended_fees

  • get_bitcoin_network_health

Total: 20+ tools and growing!

For detailed tool documentation, see the inline help in each tool module or use the MCP Inspector.


⚙️ Configuration

Quick Setup for Claude Desktop

After installation, configure Claude Desktop to use the Bitcoin MCP Server:

uv run mcp install src/main.py

This command automatically:

  • Detects your Claude Desktop installation

  • Creates the necessary configuration

  • Registers all Bitcoin tools

Then restart Claude Desktop to activate the server.

Manual Configuration for Claude Desktop

For detailed manual configuration instructions for Claude Desktop and other platforms, see how to configure MCP Server.

Configure the Server

You can customize the server behavior by editing the configuration file located at src/config.py.

Available Configuration Options

API Endpoints

  • MEMPOOL_API_URL: Mempool.space API endpoint (default: https://mempool.space/api)

  • COINGECKO_API_URL: CoinGecko API endpoint (default: https://api.coingecko.com/api/v3)

  • BLOCKCHAIN_INFO_API_URL: Blockchain.info API endpoint (default: https://blockchain.info)

  • HIRO_API_URL: Hiro API endpoint (default: https://api.hiro.so)

  • ALTERNATIVE_API_URL: Alternative.me API endpoint (default: https://api.alternative.me)

Bitcoin Constants

  • SATOSHI: Satoshi conversion factor (default: 100_000_000)

Performance & Reliability

  • ENABLE_CACHE: Enable response caching (default: True)

  • ENABLE_RETRY: Enable automatic retries on failures (default: True)

  • CACHE_TTL_TIME: Cache time-to-live in seconds (default: 60)

  • MAX_RETRIES: Maximum retry attempts for failed requests (default: 3)

Timeout Settings

  • API_CONNECT_TIMEOUT: Connection timeout in seconds (default: 5.0)

  • API_READ_TIMEOUT: Read timeout in seconds (default: 30.0)

  • API_WRITE_TIMEOUT: Write timeout in seconds (default: 10.0)

  • API_POOL_TIMEOUT: Connection pool timeout in seconds (default: 5.0)

Logging Configuration

  • LOGGER_NAME: Logger name (default: "bitcoin_mcp_server")

  • LOG_DIR: Directory for log files (default: "../logs")

  • LOG_LEVEL: Logging level - DEBUG, INFO, WARNING, ERROR (default: "INFO")

  • LOGGER_BACKUP_COUNT: Number of log files to retain (default: 30)

  • LOGGER_CONSOLE_OUTPUT: Enable console logging (default: True)

How to Modify

Edit src/config.py and change the values:

# Example: Increase cache time and reduce retries
CACHE_TTL_TIME: int = 300  # 5 minutes instead of 1
MAX_RETRIES: int = 2       # 2 retries instead of 3

# Example: Enable debug logging
LOG_LEVEL: str = "DEBUG"

Note: Restart the server after making configuration changes for them to take effect.


🔑 API Information

No API Keys Required!

The Bitcoin MCP Server uses free, public APIs that don't require authentication or API keys. This makes setup incredibly simple - just install and go!

Data Sources

The server aggregates data from multiple reliable sources:

Fair Use Policy

While these APIs are free and don't require keys, please use them responsibly:

  • Avoid excessive requests: Don't spam the APIs with rapid-fire queries

  • Rate limiting: The server implements reasonable delays between requests

  • Be respectful: These services are provided free of charge to the community

  • Cache when possible: Results are cached to minimize redundant requests

Note: If you plan to use this server at high volume or in a production environment, consider using API keys or self-hosting Bitcoin Core nodes for data access.


⚠️ Usage Considerations

Message Limits

Using MCP servers will consume more tokens from your AI assistant's message allowance because:

  • Each tool call requires additional context to be sent

  • Results from APIs add to the total token count

  • Complex queries may require multiple tool calls

Impact: You may reach your daily message limit faster when using Bitcoin MCP tools extensively.

Rate Limiting

While the APIs are free, rate limits apply. Intensive usage may result in temporary blocks. Please refer to the client website for specific API usage limits.

CORS

The current configuration allows requests from any origin, which is acceptable for local development but should be explicitly restricted before any production deployment.

Note also that combining allow_origins=["*"] with allow_credentials=True is technically invalid per the CORS spec — browsers will reject credentialed cross-origin requests when the origin is a wildcard. Consider either disabling credentials or explicitly listing allowed origins.


🤝 Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated ❤️.

How to Contribute

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Test with MCP Inspector

  5. Commit your changes

  6. Push to your branch

  7. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🔒 Security

For security concerns or vulnerability reports, please see our Security Policy.


This project was not vibe-coded.

bitcoin love

Available Tools

23 tools
get_10_latest_blocks_informationsA
Use this to get detailed information and statistics about the 10 most recently mined Bitcoin blocks.

Returns comprehensive metrics in string format for each of the last 10 blocks:
- Block height and unique identifier (hash)
- Mining timestamp
- Transaction count
- Block size (in MB) and weight
- Total fees collected and average fee rate (sat/vB)
- Block reward (in satoshis)
- Mining pool that found the block
- Nonce value

Also includes aggregate statistics across all 10 blocks:
- Total number of transactions
- Average transactions per block
- Average block size
- Average time between blocks (in minutes)

Use cases: When you need to analyze recent blockchain activity trends, compare mining pool performance, or monitor network congestion.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

No annotations exist, so the description carries the full burden. It thoroughly discloses the return format and enumerates all data fields and aggregate statistics. It does not mention rate limits or authentication, but for a read-only tool this is sufficient.

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

Conciseness5/5

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

The description is efficiently structured with a clear purpose statement followed by a bulleted list of returned metrics. Every sentence adds value, and it is 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.

Completeness5/5

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

Given zero parameters and an existing output schema, the description fully explains what the tool returns and why it is useful. It covers both individual block data and aggregate statistics, making it complete for an agent to understand its functionality.

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 no parameters, so the description adds value by explaining the output structure. Schema coverage is 100%, baseline for 0 parameters is 4, and the description meets this well.

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 retrieves detailed information about the 10 most recently mined Bitcoin blocks, listing specific metrics and aggregate statistics. It distinguishes from sibling tools like get_summary_of_latest_block by specifying the scope (10 blocks).

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 explicit use cases (analyze trends, compare pool performance, monitor congestion) and implies when to use the tool. However, it does not mention when not to use it or point to alternative tools for single-block queries.

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

get_address_overviewB
Use this to get a simplified overview of a Bitcoin address focusing on balance and cumulative transaction totals.

Returns detailed metrics in string format:
- Current balance (in BTC)
- Total amount ever received (in BTC)
- Total amount ever sent (in BTC)
- Total number of transactions

Accepted Bitcoin address format : base58 or hash160.

Use cases: When you need a quick financial summary without granular details.
ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes

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 provided, so description bears full burden. Only states returns string format and accepted address formats. Does not disclose any behavioral traits like read-only nature, error conditions, or idempotency. For a read operation, minimal but insufficient.

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?

Extremely concise: one sentence for purpose, bullet list of outputs, one line for accepted formats, one line for use case. No wasted words; all content is relevant and front-loaded.

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?

Output schema exists, so return values are covered externally. Description adds context on address format and use cases. Lacks error handling or edge cases, but for simple tool with output schema, generally complete.

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

Parameters3/5

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

Schema coverage is 0%, so description must add value. It specifies accepted address formats (base58 or hash160), which is helpful but minimal. No examples, length constraints, or validation details. Adds some meaning but not substantial.

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?

Clearly states the tool provides a simplified overview of a Bitcoin address with balance and cumulative totals. Lists specific metrics returned. Slightly differentiated from sibling 'get_info_about_address' by emphasizing 'simplified' vs 'granular details', but no explicit comparison.

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?

Explicitly says 'when you need a quick financial summary without granular details', which provides appropriate context for use. However, no explicit when-not or alternative tools are mentioned; guidance is implicit.

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

get_bitcoin_market_dataA
Use this to get a comprehensive technical and financial report on Bitcoin with extensive historical data and market analysis.

Returns an extensive report in string format including:

**Core Metrics:**
- Current price (USD) and market cap rank
- Total market capitalization
- Genesis date (blockchain creation date)

**Tokenomics & Supply:**
- Total supply and max supply
- Fully Diluted Valuation (FDV)
- Hashing algorithm and block time

**24-Hour Volatility:**
- Highest and lowest prices in last 24h
- Volatility percentage and price gap

**Historical Performance:**
- All-Time High (ATH) price, date, and percentage drop from ATH
- All-Time Low (ATL) price, date, and percentage rise from ATL

**Multi-Timeframe Price Analysis:**
- Price changes over 1 hour, 24 hours, 7 days, 30 days, 60 days, and 1 year
- Previous prices for each timeframe for trend comparison

**Additional Information:**
- GitHub repository link
- Whitepaper link
- Detailed project description

Use cases: When you need in-depth Bitcoin market analysis, historical performance tracking, or comprehensive investment research data. For quick price checks, use `get_bitcoin_price_usd`.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description fully covers behavioral transparency. It discloses that the tool returns a string report, and lists all data categories: core metrics, tokenomics, 24-hour volatility, historical performance, multi-timeframe price analysis, and additional info. There is no hidden 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 well-structured with clear sections and bullet points, front-loading the purpose. Every sentence adds value, and the length is appropriate for the complexity of the tool. It is concise yet comprehensive.

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 no parameters and an output schema exists, the description still provides a complete overview of what the tool returns. It includes use cases and differentiation from siblings, making it fully informative for an agent.

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

Parameters4/5

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

The tool has no parameters (input schema is empty), so schema coverage is 100%. Baseline for 0 parameters is 4. The description does not need to add parameter info, and it meets expectations by clearly listing the output. No param details are necessary.

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

Purpose5/5

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

The description clearly states the tool provides a comprehensive technical and financial report on Bitcoin with extensive historical data and market analysis. It explicitly distinguishes from a sibling tool (get_bitcoin_price_usd) for quick price checks, ensuring the agent knows when to use which tool.

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: when in-depth Bitcoin market analysis, historical performance tracking, or comprehensive investment research is needed. It also directly advises against using it for quick price checks and recommends the alternative sibling tool.

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

get_bitcoin_market_sentimentA
Use this to get a comprehensive sentiment analysis of the Bitcoin market based on community voting and the Fear & Greed Index.

Returns detailed psychological metrics in string format:

**Community Sentiment (CoinGecko):**
- Overall market trend label (bullish/bearish/neutral)
- Percentage of optimistic votes (thumbs up)
- Percentage of pessimistic votes (thumbs down)

**Fear & Greed Index History (7 days):**
- Daily Fear & Greed Index values from Alternative.me
- Historical trend showing market emotion evolution over the past week
- Index ranges from 0 (Extreme Fear) to 100 (Extreme Greed)

Use cases: When you need to gauge overall market sentiment, understand investor psychology, or determine if the market is in fear or greed mode.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

No annotations are provided, so the description carries the full burden. It discloses that the tool returns detailed psychological metrics in string format, including community sentiment and Fear & Greed Index history. However, it does not address data freshness, rate limits, or any potential failure modes.

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 with bullet points and use cases. It is appropriately sized, front-loads the main purpose, and every sentence adds value. 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 the tool's low complexity (no parameters, has output schema), the description is complete. It explains both elements of the response (community sentiment and Fear & Greed Index history) and provides use cases. The output schema exists, so return value explanation is optional but here it adds clarity.

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

Parameters4/5

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

The input schema has zero parameters, and the description does not need to explain parameters. According to guidelines, 0 params gives a baseline of 4. The description adds rich detail about the output, which is valuable.

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

Purpose5/5

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

The description clearly states it provides 'comprehensive sentiment analysis' based on community voting and Fear & Greed Index. This distinguishes it from siblings like get_bitcoin_market_data and get_bitcoin_price_usd, which focus on price and market data rather than sentiment.

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 explicitly lists use cases: 'when you need to gauge overall market sentiment, understand investor psychology, or determine if the market is in fear or greed mode.' It does not mention when not to use or alternative tools, but the context is clear.

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

get_bitcoin_network_healthA
Use this to get a simplified health assessment of the Bitcoin network with a single score and status label.

Returns a concise health summary in string format:
- Network status label (e.g., "Healthy", "Degraded", "Critical")
- Numerical health score out of 100 (0-100 scale)

The health score is a composite metric that considers factors like block production consistency, hashrate stability and transactions volume.
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?

No annotations are provided, so the description must fully inform about behavior. It describes the return format (status label and score) and what the score considers (block production, hashrate stability, transaction volume). However, it does not disclose potential latency, caching behavior, or data freshness.

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 short paragraphs, front-loaded with the purpose. Every sentence provides essential information—purpose, return format, and composition of the score. No 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 no parameters and an output schema, the description adequately explains the return value. It could mention if the tool is free or requires authentication, but for a public network health check, it is sufficiently 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?

There are no parameters, so the baseline is 4. The description adds value by explaining the output format and the factors considered in the health score, which is beyond what the empty schema provides.

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

Purpose5/5

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

The description clearly states the tool provides a 'simplified health assessment' with a single score and status label. The verb 'get' and resource 'Bitcoin network health' are specific. It distinguishes itself from sibling tools like get_bitcoin_network_overview which likely provides more detailed 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 starts with 'Use this to get a simplified health assessment' which clearly indicates the intended use case. It doesn't explicitly state when not to use or mention alternatives, but the context of sibling tools implies for more detailed data one should use other tools.

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

get_bitcoin_network_mining_pools_statisticsA
Use this to get aggregate statistics and analysis of the Bitcoin mining pool ecosystem.

Returns comprehensive metrics in string format about the entire mining landscape:

**Global Statistics:**
- Total number of active mining pools tracked
- Total blocks mined across all pools
- Average blocks mined per pool

**Network Dominance Analysis:**
- Name of the current leading pool
- Number of blocks mined by the leader
- Leader's dominance percentage (share of total network)

**Power Distribution Insights:**
- Smallest pool's block count (weakest actor)
- Ratio of leader's performance compared to average (centralization indicator)

This tool provides a macro view of mining centralization and competition in the Bitcoin network.

Use cases: When you need to understand the overall mining landscape, assess centralization risk, or compare the gap between dominant and small pools.
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?

No annotations provided; description adds context on return format (string) and metrics but does not disclose read-only nature or any side effects, which is acceptable for a query tool but the burden is higher without annotations.

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

Conciseness4/5

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

Well-organized with sections and bullet points; front-loaded with purpose. Could be slightly leaner but efficient.

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?

Complete for a tool with no parameters and an output schema; description explains all return fields and use cases, leaving no ambiguity.

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?

Input schema is empty; no parameters to document. Baseline is 4; description adds value by detailing output structure, which compensates for lack of parameters.

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

Purpose5/5

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

Description clearly states it returns aggregate statistics of Bitcoin mining pool ecosystem with specific metrics like total pools, blocks, dominance, etc. It is distinct from siblings like get_mining_pool_by_slug or get_top_10_mining_pools_rank.

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?

Provides explicit use cases ('assess centralization risk', 'compare gap between dominant and small pools') but does not mention when to avoid or alternatives among siblings.

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

get_bitcoin_network_overviewA
Use this for general Bitcoin blockchain questions about current state, health, or status.

Provides comprehensive network overview across five key areas:

**Network Statistics:**
- Current market price in USD
- Network hashrate in TH/s (total mining power)
- Current mining difficulty
- Next difficulty adjustment block height

**Block Metrics:**
- Blocks mined in the last 24 hours
- Total blocks in the blockchain
- Average time between blocks (target: 10 minutes)
- Average block size in bytes

**Transaction Activity:**
- Total transactions in the last 24 hours
- Estimated BTC sent in 24h
- Estimated transaction volume in USD

**Mining Economics:**
- BTC mined in the last 24 hours (new supply)
- Total transaction fees collected in 24h (in BTC)
- Total miner revenue in BTC and USD

**Supply Information:**
- Total BTC in circulation
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

No annotations are provided, so the description carries the full burden. It thoroughly describes all returned data across five categories, making the tool's behavior transparent. It does not mention side effects, rate limits, or data freshness, but as a read-only query, the output description is largely sufficient.

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 well-structured with clear headings and bullet points, front-loading the purpose. It is comprehensive but could be slightly more concise; however, the level of detail is appropriate for the tool's scope.

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 that the tool has no parameters and an output schema (not shown but present), the description is complete in explaining the returned data across all five areas. It could add notes on data recency or limitations, but overall it provides sufficient context for agent 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 input schema has zero parameters, so the description does not need to add parameter semantics. The baseline for zero-parameter tools is 4, and the description correctly avoids any misleading parameter references.

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: for general Bitcoin blockchain questions about current state, health, or status. It lists five specific areas with detailed data points, distinguishing it from sibling tools that cover narrower topics like market data or network health.

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 opens with 'Use this for general Bitcoin blockchain questions,' providing clear usage context. However, it does not explicitly mention when not to use this tool or list alternative sibling tools for more specific queries.

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

get_bitcoin_price_usdA
Use this to get Bitcoin's current USD price and essential market indicators.

Returns key metrics in string format:
- Current Bitcoin price in USD
- Estimated price 24 hours ago
- 24-hour price change percentage
- Total market capitalization in USD
- 24-hour trading volume in USD
- Volume-to-Cap ratio (liquidity indicator)
- Circulating supply (number of tokens)

Use cases: When you need a quick Bitcoin price check with essential market context.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 burden. It describes what is returned but does not explicitly state that the tool is read-only or has no side effects. The description is adequate but could be more transparent about behavioral 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 concise, front-loaded with the purpose, and uses a bullet-like list for metrics. Every sentence provides useful information without redundancy.

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

Completeness5/5

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

Given the tool's simplicity (no parameters) and the presence of an output schema, the description sufficiently explains the return values. It covers all necessary context for an agent to use the 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 tool has no parameters, so the input schema provides no information. The description adds value by detailing the returned fields, which is baseline 4 as per guidelines for 0-parameter tools.

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

Purpose5/5

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

The description clearly states the tool's purpose: getting Bitcoin's current USD price and essential market indicators. It lists specific metrics, and the name and sibling context differentiate it from other Bitcoin tools.

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 includes a 'Use cases' section that indicates when to use the tool ('quick Bitcoin price check with essential market context'). However, it does not explicitly mention when not to use or compare with siblings.

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

get_bitcoin_transaction_infosA
Use this to get comprehensive information about a specific Bitcoin transaction using its transaction ID (txid).

Returns detailed metrics in string format across four categories:

**Transaction Status:**
- Current status (Confirmed/Unconfirmed with visual indicator)
- Transaction date and time

**Economics & Flow:**
- Total amount transferred in BTC
- Transaction fees paid in BTC
- Fee rate in sat/vB (satoshis per virtual byte)

**Technical Structure:**
- Transaction size in bytes
- Number of inputs (sources of funds)
- Number of outputs (destinations)

**Block Information (if confirmed):**
- Block height where transaction was included
- Block hash containing the transaction

The txid is a unique 64-character hexadecimal identifier for each Bitcoin transaction.

Use cases: When you need to verify a payment, check transaction status, analyze fees paid, or investigate transaction details.
ParametersJSON Schema
NameRequiredDescriptionDefault
txidYes

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?

No annotations exist, so the description carries full burden. It details the return categories (status, economics, structure, block info) and notes that block info is conditional on confirmation. It is clear this is a read-only 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 well-structured with clear categories, front-loaded with the purpose, and every sentence adds value without being verbose.

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 presence of an output schema, the description sufficiently covers input, high-level output categories, and use cases, making it contextually complete for an agent to select and invoke the tool.

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% coverage for parameter descriptions, but the description compensates by explaining that txid is a 64-character hexadecimal identifier, adding necessary context 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 it retrieves comprehensive information about a specific Bitcoin transaction by txid. It distinguishes itself from sibling tools (e.g., block, address, market tools) by focusing on a single transaction.

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 lists explicit use cases (verify payment, check status, analyze fees, investigate details), but does not provide direct comparisons to alternative siblings like get_transaction_input_output or what situations to avoid.

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

get_block_hash_with_heightA
Use this to retrieve the unique hash identifier of a Bitcoin block by specifying its height (position in the blockchain).

Returns the block hash in string format for the given height.

Block height represents the block's position in the blockchain (e.g., height 0 is the Genesis block, height 875000 is the 875,000th block).

Use cases: When you need to identify a specific block by its position, to verify block integrity, or to look up historical blocks.
ParametersJSON Schema
NameRequiredDescriptionDefault
heightYes

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?

No annotations; description explains return format (hash string) and defines block height. Lacks details on error handling for invalid heights, but sufficient for a simple retrieval.

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

Conciseness4/5

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

Four sentences covering action, return, parameter meaning, and use cases. No wasted words, though slightly longer than minimal.

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?

Covers purpose, parameter, return format, and use cases. Does not mention possible errors or valid height ranges, but acceptable given tool simplicity.

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 has 0% description coverage; the tool description fully explains the 'height' parameter, including examples (Genesis block at 0), adding semantic value.

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?

Clearly states the tool retrieves a block hash by height, using specific verb and resource. Distinguishes from sibling tools that retrieve block summaries or latest blocks.

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?

Provides use cases like identifying a block by position or verifying integrity. No explicit when-not-to-use or alternatives, but context is clear.

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

get_cryptomarket_overviewA
Use this to get a comprehensive overview of the global cryptocurrency market conditions and metrics.

Returns detailed metrics in string format:
- Total number of active cryptocurrencies
- Total number of trading markets
- Overall market cap percentage change
- ICO status breakdown (upcoming, ongoing, ended)
- Total market capitalization (formatted by currency)
- Total trading volume (formatted by currency)
- Top 5 cryptocurrencies by market dominance percentage

Use cases: When you need a broad view of the entire crypto ecosystem health, to understand market trends, or to see which cryptocurrencies dominate the market.
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?

No annotations exist, so description carries full burden. It describes the return format as string and lists metrics, but does not disclose potential behaviors like caching, update frequency, 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?

The description is concise, front-loaded with the main purpose, uses bullet points for clarity, and contains no redundant 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 no parameters and no annotations, the description adequately covers purpose and return content. However, it could mention if the output is structured despite claiming string format, as an output schema exists.

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 no parameters, and schema coverage is 100%. The description adds no parameter info because none are needed. Baseline score of 4 for zero-parameter tools is appropriate.

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

Purpose5/5

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

The description clearly states it provides a comprehensive overview of global cryptocurrency market conditions and metrics, listing specific return values. It is distinct from sibling tools that focus on specific coins or network details.

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?

Explicit use cases are given (e.g., when needing a broad view, market trends, market dominance). The context of sibling tools helps differentiate, but no explicit 'when-not-to-use' is provided.

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

get_info_about_addressA
Use this to get comprehensive information about a Bitcoin address including balance, transaction activity, and spending patterns.

Returns detailed metrics in string format:
- Current confirmed and unconfirmed balance (in BTC and satoshis)
- Address category and status
- Total transaction count (confirmed + mempool)
- Received outputs count and total amount
- Spent outputs count and total amount

Accepts any Bitcoin address format (Legacy, SegWit, Bech32).

Use cases: When you need a complete snapshot of an address's financial activity and current state.
ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

Without annotations, the description effectively discloses the tool's read-only nature by describing data retrieval and accepted address formats. It does not mention rate limits or permissions, but the behavior is well-covered for a query 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 concise and front-loaded, with every sentence providing necessary context. It lists return metrics efficiently and ends with a use case, leaving 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?

The description includes all essential details: purpose, return metrics, address format acceptance, and use cases. With an output schema assumed to exist, it is complete for a simple tool with one parameter.

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 value beyond the input schema by specifying that any Bitcoin address format is accepted (Legacy, SegWit, Bech32). However, it does not detail constraints or format requirements, which is acceptable 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 specifies the action ('get comprehensive information') and resource ('Bitcoin address'), listing detailed metrics. While clear, it does not explicitly differentiate from similar siblings like 'get_address_overview' or 'get_transactions_of_address', though the comprehensiveness is implied.

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 a clear use case ('When you need a complete snapshot of an address's financial activity and current state'), guiding appropriate usage. It lacks explicit when-not-to-use or alternative tool references, but the context is sufficient.

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

get_mining_pool_by_slugA
Use this to get comprehensive information about a specific Bitcoin mining pool using its unique slug identifier.

Returns detailed metrics in string format for the requested mining pool:
- Pool name
- Official website link
- Current hashrate (mining power)
- Number of blocks found/mined
- Network share percentage (portion of total Bitcoin blocks)
- Pool's Bitcoin addresses used for receiving block rewards

The slug is a unique identifier for each mining pool (e.g., "foundry-usa", "antpool", "f2pool"). You can obtain slugs from `get_top1_mining_pool` or `get_top_10_mining_pools_rank`.

Use cases: When you need detailed information about a specific mining pool that you already know by name or slug, to investigate a pool's addresses, or to verify a pool's technical specifications.
ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes

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 lists the return data fields and states the format is string-based, but does not disclose any behavioral aspects like caching, latency, or side effects. Adequate for a read-only 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 moderately long but well-structured with bullet points for return fields and clear sections. It is not overly verbose, though some sentences could be combined for conciseness.

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

Completeness5/5

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

Given the tool's simplicity (one parameter) and the existence of an output schema, the description covers everything necessary: purpose, input semantics, usage context, and return data overview. No gaps are apparent.

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 zero description coverage for the single 'slug' parameter. The description compensates by explaining what a slug is, providing examples, and indicating how to obtain slugs from sibling tools, adding significant value 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 verb 'get' and the resource 'comprehensive information about a specific Bitcoin mining pool' using a unique slug. It distinguishes from siblings by explaining that sibling tools provide the slugs.

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 explicitly states when to use the tool, such as when needing detailed info about a known pool, and explains how to obtain slugs from sibling tools. It lacks explicit when-not-to-use guidance, but context is clear.

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

get_mining_pools_hashrates_3monthA
Use this to get the top 10 Bitcoin mining pools ranked by their average hashrate over the last 3 months.

Returns detailed metrics in string format for each of the 10 leading mining pools:
- Pool rank position (1-10)
- Pool name
- Average hashrate in EH/s (Exahashes per second) over the 3-month period
- Network share percentage (portion of total Bitcoin network hashrate)

This data shows the historical performance and consistency of mining pools over a 3-month timeframe, providing a more stable view than current block count alone.

Use cases: When you need to analyze mining pool trends over time, understand hashrate distribution patterns, or identify consistently dominant pools.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

No annotations are provided, so the description must fully convey behavior. It discloses that the tool returns top 10 pools with rank, name, average hashrate in EH/s, and network share percentage. It also notes the data represents historical performance over 3 months, providing a stable view. This is sufficient for a read-only tool; no contradictions exist.

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 efficient: the first sentence conveys the core purpose, followed by a bulleted list of metrics, and a closing use-case paragraph. Every sentence adds value, with no redundancy. It is front-loaded with the essential action and scope.

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 takes no parameters and has an output schema (likely defined elsewhere), the description provides all necessary context: what the tool returns, the exact metrics, the timeframe, and appropriate use cases. It is complete for an agent to select and invoke this tool without ambiguity.

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 parameters, so the description's burden is high. It fully compensates by explaining exactly what the tool returns and the context of the data. It adds meaning beyond the empty schema, detailing each returned field and their significance.

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 that the tool gets the top 10 Bitcoin mining pools by average hashrate over the last 3 months. It specifies the resource (mining pools), the metric (hashrate), the timeframe (3 months), and the ranking (top 10). This distinguishes it from siblings like 'get_top_10_mining_pools_rank' which likely provides current rank, and 'get_mining_pool_by_slug' for a single pool.

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 explicitly lists use cases: analyzing trends, understanding distribution, identifying dominant pools. While it doesn't explicitly say when NOT to use it or mention alternatives, the specific timeframe and metric make its usage context clear. It implies use for historical trend analysis versus short-term or current metrics from sibling tools.

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

get_summary_of_latest_blockA
Use this to get a summary of the most recently mined block on the Bitcoin blockchain.

Returns detailed metrics in string format:
- Block height (current blockchain tip)
- Block hash
- Timestamp of when the block was mined
- Block Index

Use cases: When you need current blockchain state information, to verify the latest block, or to check recent mining activity.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

With no annotations, the description carries the burden. It states it returns a string format with specific metrics, but does not disclose if it makes a network call, if results are cached, or any other behavioral traits. Adequate but not rich.

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

Conciseness5/5

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

Two sentences plus a bullet list. Front-loaded with the main purpose. No extraneous information. Every sentence adds value.

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 an output schema exists, the description need not detail return values, but it does list the metrics. With no parameters and clear use cases, it is complete for a simple retrieval tool.

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 is empty (0 parameters), so baseline is 4 per guidelines. The description adds no parameter info because none are needed. Schema coverage is 100% trivially.

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 'summary of the most recently mined block'. It explicitly ties to Bitcoin blockchain and lists specific metrics returned. It distinguishes from siblings like get_10_latest_blocks_informations which are about multiple blocks.

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 use cases ('When you need current blockchain state information, to verify the latest block, or to check recent mining activity') and implies scope. However, it does not explicitly state when not to use it or compare to alternatives.

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

get_top_10_mining_pools_rankA
Use this to get the ranking of the top 10 Bitcoin mining pools based on the number of blocks mined.

Returns detailed metrics in string format for each of the 10 leading mining pools:
- Pool name and rank position (1-10)
- Total number of blocks mined by the pool
- Percentage of total blocks mined (pool's share of network hashrate)
- Grand total of blocks across all pools

This ranking represents the current distribution of Bitcoin mining power and shows which pools control the most hashrate.

Use cases: When you need to understand mining centralization, identify the dominant mining pools, or analyze the distribution of network hashrate.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

The description discloses that the tool returns detailed metrics in string format, including pool name, rank, blocks mined, percentage, and grand total. This covers behavioral traits beyond the implicit read-only nature; no annotations are provided to rely on.

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 concise with six sentences, starting with purpose, then listing return details, and ending with use cases. Every sentence adds value, though it could be slightly more 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 presence of an output schema, the description adequately explains what is returned and when to use the tool. It covers the essential aspects for a simple data retrieval tool without missing key details.

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

Parameters4/5

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

The input schema has zero parameters, so schema coverage is 100%. The description adds value by explaining what the tool returns, which is more than the schema provides.

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 'get the ranking of the top 10 Bitcoin mining pools based on the number of blocks mined,' providing a specific verb and resource. It distinguishes itself from siblings like 'get_mining_pool_by_slug' by focusing on a ranked list of top pools.

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 lists clear use cases: understanding mining centralization, identifying dominant pools, and analyzing hashrate distribution. While it doesn't explicitly mention when not to use it or alternative sibling tools, the context is sufficient for appropriate selection.

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

get_top1_mining_poolA
Use this to get information about the current #1 ranked Bitcoin mining pool based on blocks mined over the last 3 months.

Returns detailed metrics in string format for the leading mining pool only:
- Pool name
- Pool slug identifier (used for searching specific pool details)
- Total number of blocks mined in the last 3 months
- Dominance percentage (share of all blocks mined in the 3-month period)
- Link to pool information page

This provides quick access to the most dominant mining pool without needing to retrieve data for all top pools.

Use cases: When you only need to know who currently dominates Bitcoin mining, to check if mining centralization is concerning, or to quickly identify the market leader.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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

No annotations exist, but the description fully discloses behavior: returns string format with specific metrics, no mention of side effects, and clearly a read-only operation.

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?

Well-structured with a clear opening sentence, bullet list, and use cases. Slightly verbose but each sentence adds information.

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 tool with no parameters and an output schema, the description is complete: explains output format, fields, time range, and use cases. No gaps.

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?

No parameters, so schema coverage is 100%. The description adds value by listing the returned fields, which is helpful 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 it retrieves info about the #1 ranked Bitcoin mining pool over 3 months. It uses specific verb 'get' and resource 'current #1 ranked Bitcoin mining pool', distinguishing from sibling tools like get_top_10_mining_pools_rank.

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

Usage Guidelines5/5

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

Explicit use cases are provided: when you need to know who dominates or check centralization. It implies not to use when you need all top pools, aligning with sibling tools.

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

get_transaction_input_outputA
Use this to get detailed input and output breakdown of a Bitcoin transaction, including all addresses and amounts involved.

Returns comprehensive flow analysis in string format across four sections:

**Accounting Summary:**
- Total incoming volume (sum of all inputs) in BTC
- Total outgoing volume (sum of all outputs) in BTC
- Network fees paid (difference between inputs and outputs) in BTC

**Detailed UTXO Flow:**
- List of all incoming movements (inputs) with:
  - Source address
  - Amount in BTC
  - Previous transaction reference (prev_out)
- List of all outgoing movements (outputs) with:
  - Destination address
  - Amount in BTC
  - Output index

**Participant Registry:**
- Complete list of sender addresses (count included)
- Complete list of recipient addresses (count included)

This provides full transparency into the transaction's inputs (where funds came from) and outputs (where funds went), essential for tracking fund flow and identifying all parties involved.

Use cases: When you need to trace Bitcoin flow, identify sender/recipient addresses, analyze UTXO structure, or investigate complex multi-party transactions.
ParametersJSON Schema
NameRequiredDescriptionDefault
txidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

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

No annotations are provided, so the description carries full burden. It thoroughly discloses behavioral traits: returns a comprehensive flow analysis in a structured string format with four sections (Accounting Summary, Detailed UTXO Flow, Participant Registry). No contradictions exist.

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 relatively long but well-structured with clear sections and bullet points. It front-loads the core purpose and then provides detailed output breakdown. Every sentence adds value, though some redundancy exists.

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?

Despite no annotations and a single parameter, the description is highly complete. It explains the purpose, when to use, the exact output format (four sections with field details), and addresses complexity of multi-party transactions. No gaps remain.

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

Parameters4/5

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

Schema coverage is 0%, but the single parameter 'txid' is implicitly explained by the context (Bitcoin transaction ID). The description does not explicitly define it, but the use cases and output details make its meaning clear. A direct mention would improve it.

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: 'get detailed input and output breakdown of a Bitcoin transaction, including all addresses and amounts involved.' It uses a specific verb-resource combination and distinguishes from sibling tools like 'get_bitcoin_transaction_infos' by focusing on flow analysis and UTXO details.

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 includes a dedicated 'Use cases' section that lists scenarios (trace Bitcoin flow, identify addresses, analyze UTXO structure, investigate multi-party transactions). It does not explicitly mention when not to use it or name alternatives, but the context is clear.

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

get_transactions_of_addressA
Use this to get the complete transaction history of a Bitcoin address.

Returns a chronological list of all transactions in string format, with each transaction showing:
- Transaction ID (txid) - unique identifier for the transaction
- Transaction date and time
- Amount sent in satoshis

This provides the full transaction history for an address, allowing you to see all incoming and outgoing payments over time. Each transaction can be further investigated using `get_bitcoin_transaction_infos` or `get_transaction_input_output` with the returned txid.

Accepts any Bitcoin address format (Legacy, SegWit, Bech32).

Use cases: When you need to audit an address's activity, track payment history, verify specific transactions, or investigate suspicious activity.
ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior4/5

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

Without annotations, the description transparently describes the output format (txid, date/time, amount in satoshis), chronological ordering, string representation, and address format acceptance. It does not mention rate limits or authentication, but as a read-only history tool, the behavioral disclosure is adequate.

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

Conciseness5/5

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

The description is concise and well-structured, starting with the main purpose, then listing output fields, followed by usage tips, accepted formats, and use cases. Every sentence adds value without redundancy.

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

Completeness5/5

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

Given the tool's simplicity (one parameter, output schema present), the description covers all necessary aspects: what it returns, how it orders results, acceptable inputs, and related tools. It is fully sufficient for an agent to understand when and how to use it.

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 explaining that the address parameter accepts any Bitcoin address format (Legacy, SegWit, Bech32), which adds meaningful context beyond the schema's bare type definition.

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 'get the complete transaction history of a Bitcoin address' with a specific verb and resource, and it distinguishes itself from siblings like get_info_about_address and get_bitcoin_transaction_infos by focusing on full history and mentioning related tools.

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

Usage Guidelines5/5

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

It explicitly provides use cases (auditing, tracking payments, verifying, investigating) and suggests when to use alternative tools (get_bitcoin_transaction_infos or get_transaction_input_output) for further details, offering clear guidance on when to invoke this tool.

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

TDQS

A4.1/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is overlap between get_address_overview and get_info_about_address, as well as between get_10_latest_blocks_informations and get_summary_of_latest_block. Descriptions help differentiate, but some ambiguity remains.

Naming Consistency4/5

Tools consistently use snake_case with a 'get_' prefix, but naming patterns vary in specificity and style (e.g., 'get_10_latest_blocks_informations' vs 'get_summary_of_latest_block'). Minor inconsistencies like 'informations' (grammatical error) and varying verbosity.

Tool Count4/5

23 tools is a reasonable number for a comprehensive Bitcoin information server. The scope is broad, covering network, transactions, mining, and market data, and each tool serves a clear purpose.

Completeness5/5

The tool set thoroughly covers Bitcoin-related queries: network stats, addresses, transactions, blocks, mining pools, fees, market data, sentiment, and trending crypto/NFTs. No obvious gaps for typical informational needs.

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
    Cryptocurrency MCP Server! Free! This powerful tool is designed for blockchain enthusiasts, providing comprehensive, real-time cryptocurrency information at your fingertips. Whether you're an experienced trader or just starting your journey into the crypto world.
    16
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Bitcoin block explorer and mempool/fee statistics, providing tools to query fees, mempool stats, blocks, transactions, addresses, hashrate, and mining pools.
    16
    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/teamssUTXO/bitcoin_mcp'

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