Bitcoin-MCP-Server
Provides comprehensive access to the Bitcoin network, enabling real-time data retrieval for blocks, transactions, addresses, and network statistics such as hashrate and mining difficulty.
Utilizes Blockchain.com as a primary data source to provide address intelligence, transaction history, and detailed block analysis directly through the MCP server.
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.
📋 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
For Developers & Analysts
For Researchers & Educators
For Business Intelligence
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)
Option 1: Using UV (Recommended)
Install UV (if not already installed) UV is a fast Python package installer and resolver.
Linux :
curl -LsSf https://astral.sh/uv/install.sh | shWindows :
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Restart your command-line window after installing this.
Clone the repository:
git clone https://github.com/teamssUTXO/bitcoin_mcp.git
cd bitcoin_mcpInstall dependencies:
uv venv
uv pip install -e .Install to Claude Desktop:
uv run mcp install src/main.pyCheck How to configure MCP Server
Option 2: Using Python/Pip
Clone the repository:
git clone https://github.com/teamssutxo/bitcoin_mcp.git
cd bitcoin_mcpCreate a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activateInstall dependencies:
pip install -r requirements.txtRun 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_overviewget_info_about_address
📦 Block Tools
get_10_latest_blocks_informationsget_block_hash_with_heightget_summary_of_latest_block
💸 Transaction Tools
get_bitcoin_transaction_infosget_transaction_input_outputget_transactions_of_address
💰 Market Tools
get_bitcoin_price_usdget_bitcoin_market_dataget_cryptomarket_overviewget_bitcoin_market_sentimentget_trending_coinsget_trending_categoriesget_trending_nfts
⛏️ Mining Tools
get_mining_pools_hashrates_3monthget_top_10_mining_pools_rankget_bitcoin_network_mining_pools_statisticsget_top1_mining_poolget_mining_pool_by_slugl
🌐 Network Tools
get_bitcoin_network_overviewget_bitcoin_network_recommended_feesget_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.pyThis 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
Fork the repository
Create a feature branch
Make your changes
Test with MCP Inspector
Commit your changes
Push to your branch
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.
Available Tools
23 toolsget_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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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`.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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_network_recommended_feesA
Use this to get current recommended Bitcoin transaction fees for different confirmation speed priorities.
Returns fee recommendations in string format with four priority levels:
- **Fastest** (~10 minutes): Highest fee for next block inclusion
- **Half-hour** (~30 minutes): Medium-high fee for confirmation within 30 min
- **Standard** (~60 minutes): Medium fee for confirmation within 1 hour
- **Economy**: Lowest fee for non-urgent transactions
Each recommendation includes:
- Fee rate in sat/vB (satoshis per virtual byte)
- Estimated confirmation time
- Approximate total cost in BTC for a typical transaction
Fees are dynamic and change based on current network congestion and mempool size.
Use cases: When you need to know how much to pay for a Bitcoin transaction, to optimize transaction costs vs. speed, or to check if the network is congested.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that fees are dynamic based on network conditions and lists the four priority levels with details. However, it lacks information on rate limits, authentication, or error handling, but these are not critical for a simple 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bullet points and front-loaded purpose. It is not overly verbose; each sentence adds information. Could be slightly more concise, but still effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 (not shown), the description fully explains the return format, priority levels, and dynamic nature. 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (schema coverage 100%). With 0 parameters, the baseline is 4. The description adds value by explaining the output, which is more important than parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 current recommended Bitcoin transaction fees for different confirmation speed priorities.' It specifies the resource (Bitcoin transaction fees) and the action (get). Among sibling tools, none overlap, providing clear differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit use cases: 'When you need to know how much to pay for a Bitcoin transaction, to optimize transaction costs vs. speed, or to check if the network is congested.' It does not mention when not to use, but the narrow scope makes it obvious.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| height | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
get_trending_categoriesA
Use this to get the top 6 trending cryptocurrency categories sorted by the most popular user searches on CoinGecko.
Returns detailed metrics in string format for each of the 6 trending categories:
- Category name and trending rank (1-6)
- Number of coins in the category
- Total market capitalization in USD for the entire category
- Market cap 24 hours ago with percentage change
- Total 24-hour trading volume in USD across all coins in the category
Categories represent thematic groups of cryptocurrencies (e.g., "DeFi", "Layer 1", "Meme Coins", "NFT", "GameFi", etc.).
Use cases: When you need to identify which cryptocurrency sectors are gaining attention, understand macro trends in the crypto ecosystem, or find emerging narratives. This is based on real user search behavior for category pages.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 explains what the tool returns (detailed metrics in string format for 6 categories) and lists the specific fields. However, it does not explicitly state that the tool is read-only or discuss any side effects, though none are expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with three sentences that front-load the main purpose and then provide necessary detail. Every sentence adds value, and there is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the output schema is present (though not shown), the description fully details the return values. It covers all necessary information for an agent to understand the tool's purpose and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and schema description coverage is 100%. Since there are no parameters, the description adds no parameter information, but the baseline for 0 parameters is 4, and the description is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('get'), the resource ('top 6 trending cryptocurrency categories'), and the sorting criterion ('most popular user searches'). It effectively distinguishes from sibling tools like get_trending_coins and get_trending_nfts by focusing on categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases ('when you need to identify which cryptocurrency sectors are gaining attention'), but does not explicitly mention when not to use the tool or list alternatives beyond the implied distinction from sibling tools. This is still strong guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trending_coinsA
Use this to get the top 15 trending cryptocurrencies sorted by the most popular user searches on CoinGecko.
Returns detailed metrics in string format for each of the 15 trending coins:
- Coin name and symbol
- Trending rank (1-15 based on search popularity)
- Current price in USD (up to 8 decimal places for precision)
- Price 24 hours ago with percentage change
- Market capitalization in USD
- Market cap rank (global ranking by market size)
- Total 24-hour trading volume in USD
- Brief project description
Use cases: When you need to discover what cryptocurrencies are currently attracting the most attention, identify emerging trends, or find coins gaining popularity.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 for 15 coins, including prices with up to 8 decimal places. It implies a read-only, no-side-effect operation. Without annotations, it covers the behavior well, but does not mention data freshness 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise, starting with a clear one-sentence purpose, followed by a bullet list of returned fields. Every sentence adds value, but the list could be slightly trimmed without losing information. Overall well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of parameters and the presence of an output schema, the description fully describes what the tool does and what it returns. It lists all relevant metrics and provides usage context. No gaps are apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema is fully covered. The description adds meaning by explaining what the tool does without requiring any input. This meets the baseline of 4 and the description adds value by detailing the nature of the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the top 15 trending cryptocurrencies sorted by search popularity on CoinGecko. It distinguishes itself from sibling tools like 'get_trending_categories' and 'get_trending_nfts' by specifying 'cryptocurrencies'. The verb 'get' and the resource 'trending_coins' are explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: discovering attention-attracting cryptocurrencies, identifying emerging trends, or finding coins gaining popularity. It does not explicitly mention when not to use or compare with alternatives, but the name and context make it clear this is for trending coins, not categories or NFTs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trending_nftsA
Use this to get the top 7 trending NFT collections sorted by the most popular user searches on CoinGecko.
Returns detailed metrics in string format for each of the 7 trending NFT collections:
- NFT collection name and symbol
- Trending rank (1-7 based on search popularity)
- Native currency used for trading (e.g., ETH, SOL, MATIC)
- Current floor price (lowest price to buy one NFT from the collection)
- Floor price percentage change in the last 24 hours
- Total trading volume in the last 24 hours
- Average sale price in the last 24 hours
Use cases: When you need to discover which NFT collections are currently attracting the most attention, identify trending digital art or collectibles, or monitor NFT market activity. This is based on real user search behavior.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the return format in detail (string with 7 metrics) and notes the data source (user search behavior). Without annotations, it adequately conveys this is a read-only query, though it could explicitly state no side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is relatively concise with a logical flow: purpose, output details, use cases. The list of metrics is embedded in prose, which is acceptable but could be more scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and empty input schema, the description provides sufficient behavioral context and output details. It covers purpose, output, and use cases, but could mention any limitation (e.g., only top 7).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters, so the description does not need to explain them. The description adds value by detailing the output metrics beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves the top 7 trending NFT collections based on popular user searches, with a specific verb and resource. It distinguishes from sibling tools like get_trending_coins and get_trending_categories by focusing on NFTs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists use cases for discovery and monitoring of NFT trends. However, it does not specify when not to use this tool or mention alternative tools for broader market trends, leaving some gap in guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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.
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.
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.
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
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
Personal MCP server for humans who create. Proof of authorship, license control.
A MCP server built for developers enabling Git based project management with project and personal…
Related MCP Servers
- AlicenseBqualityFmaintenanceAn MCP server that provides cryptocurrency project data to AI agents11MIT

Desk3 MCP Serverofficial
AlicenseBqualityDmaintenanceCryptocurrency 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.163MIT- AlicenseAqualityBmaintenanceMCP Server for ChainAnalyzer(https://chain-analyzer.com)6651MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Bitcoin block explorer and mempool/fee statistics, providing tools to query fees, mempool stats, blocks, transactions, addresses, hashrate, and mining pools.16MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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