Bitcoin Data MCP Server
Provides Bitcoin blockchain data and analysis tools including real-time blockchain data from Blockstream.info, price and market data from CoinGecko, network metrics from Mempool.space, UTXO analysis, and transaction pattern detection.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bitcoin Data MCP Servershow me current Bitcoin price and mempool state"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bitcoin Data MCP Server
A Model Context Protocol (MCP) server that provides Bitcoin blockchain data and analysis tools through free data sources.
Features
Real-time blockchain data from Blockstream.info API
Bitcoin price and market data from CoinGecko API
Network metrics and fee estimates from Mempool.space API
UTXO analysis and basic transaction pattern detection
Data caching for improved performance and reduced API load
Related MCP server: DuckChain MCP Server
Tools Available
Blockchain Data
get_block: Retrieve block information by hash or heightget_transaction: Get transaction details by TXIDget_address: View address information, balance, and transaction historyget_utxos: Retrieve unspent transaction outputs for an address
Market Data
get_price_data: Current Bitcoin price and market metricsget_historical_price: Historical price data for specified time periods
Network Analysis
get_network_metrics: Bitcoin network health metricsanalyze_fee_landscape: Current fee recommendations and analysisanalyze_mempool_state: Mempool congestion analysis
Advanced Analysis
analyze_utxo_distribution: UTXO distribution analysis for multiple addressestrace_coin_lineage: Basic tracing of coin movementdetect_transaction_patterns: Identify common transaction patterns
Installation
# Clone the repository
git clone https://github.com/myownipgit/bitcoin-data-mcp.git
cd bitcoin-data-mcp
# Install dependencies
npm install
# Build the TypeScript code
npm run buildUsage
# Start the MCP server
npm startThe server runs on stdio, which allows it to be used as a plugin for AI models and tools that support the Model Context Protocol.
Integration with Claude Desktop
This MCP server can be integrated with Claude Desktop to give Claude direct access to Bitcoin blockchain data without requiring internet access from Claude itself.
Setting up Claude Desktop Integration:
Start your Bitcoin MCP Server:
npm startIn Claude Desktop:
Open Settings
Navigate to the "Tools" or "MCP Connections" section
Add a new MCP connection by clicking "Add Tool"
Name: "Bitcoin Data MCP"
Connection Type: "stdio"
Command: The full path to the server launch command, e.g.,
/path/to/bitcoin-data-mcp/dist/server.jsClick "Save"
Claude will now have access to all the Bitcoin data tools provided by this server
Example query to Claude: "What's the current Bitcoin price and network congestion level?"
This integration allows Claude to access real-time Bitcoin data and perform analysis without needing internet access itself, as your local MCP server handles all API calls to Blockstream, CoinGecko, and Mempool.space.
Development
# Run in development mode (build and start)
npm run devData Sources
License
MIT
Available Tools
12 toolsanalyze_fee_landscapeC
Analyze current fee landscape and get recommendations
| Name | Required | Description | Default |
|---|---|---|---|
| prediction_horizon | No | Fee prediction horizon | current |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It only says 'analyze' and 'get recommendations', lacking details on side effects, read-only nature, required permissions, or output format. Agent cannot assess safety or 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?
Single sentence, no wasted words. However, extreme brevity sacrifices necessary detail. Efficient but not fully informative.
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?
Only 1 optional parameter, no output schema, no annotations. Description does not explain what the output looks like, what 'recommendations' entail, or how prediction_horizon affects results. Incomplete for a recommendation 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?
Schema coverage is 100% with description 'Fee prediction horizon' for the only parameter. The tool description adds no extra meaning beyond the schema. Baseline 3 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?
Description states it analyzes fee landscape and provides recommendations. It is clear and distinct from sibling tools like analyze_mempool_state and analyze_utxo_distribution. Could be more specific about scope (e.g., on-chain fees).
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?
No guidance on when to use this tool versus alternatives. No context about prerequisites or typical use cases. The description does not help an agent decide 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.
analyze_mempool_stateC
Analyze current mempool state
| Name | Required | Description | Default |
|---|---|---|---|
| include_predictions | No | Include basic predictions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavioral traits. It does not state whether the tool is read-only, what side effects exist, or any authentication requirements. The agent cannot assess safety or impact.
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 very concise at one sentence, which is positive for brevity, but it lacks essential details that would make it useful. It is more under-specified than efficiently 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?
Given the tool's simplicity (one optional param, no output schema), the description should at least indicate the nature of the output or the type of analysis performed. It fails to provide enough context for an agent to understand the tool's capabilities.
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 description coverage is 100% for the single parameter 'include_predictions', which already has clear description in the schema. The tool description adds no extra context for parameters, so baseline score of 3 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 'Analyze current mempool state' clearly states the verb and resource, but it does not distinguish from sibling tools like analyze_fee_landscape or analyze_utxo_distribution, which also analyze aspects of the mempool. The purpose is understood but not uniquely defined.
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?
No guidance is provided on when to use this tool vs alternatives. With siblings focusing on specific aspects (fees, UTXO distribution), the description should indicate that this tool provides a general overview or certain predictions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_utxo_distributionB
Analyze UTXO distribution for multiple addresses
| Name | Required | Description | Default |
|---|---|---|---|
| address_list | Yes | List of Bitcoin addresses |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits, but it only says 'Analyze UTXO distribution'. It fails to explain what analysis is performed (e.g., aggregation, histogram), performance implications, or error handling.
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 a single short sentence, but it is vague and lacks informative detail. It is concise but not sufficiently rich.
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 complexity (analysis of UTXO distribution), the description is too minimal. It omits what the 'distribution' entails, return format, and when to use it, making it incomplete for effective 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?
Schema description coverage is 100% for the only parameter. The description adds no extra meaning beyond the schema's 'List of Bitcoin addresses', such as format constraints or size limits.
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 'Analyze' and the resource 'UTXO distribution', and specifies it handles multiple addresses. This distinguishes it from sibling tools like 'get_utxos' which likely returns UTXOs for a single address.
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?
No guidance is provided on when to use this tool versus alternatives such as 'get_utxos' for single addresses. It lacks context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_transaction_patternsC
Detect patterns in a transaction (basic analysis)
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | Transaction ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only says 'basic analysis', leaving the agent unaware of side effects, permissions, or read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is too minimal (one sentence, 7 words) and lacks structure. While concise, it sacrifices necessary detail.
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 simple tool with one parameter and no output schema, the description should at least hint at what patterns are detected. It provides insufficient context for correct usage.
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 description coverage is 100% (txid described as 'Transaction ID'), so the baseline is 3. The description does not add additional meaning 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 states 'Detect patterns in a transaction (basic analysis)', which gives a verb and resource, but it is vague about what patterns are detected and does not distinguish it from sibling tools like analyze_fee_landscape or trace_coin_lineage.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_addressB
Get address information including balance and transaction history
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Bitcoin address | |
| limit | No | Limit number of transactions | |
| offset | No | Offset for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states the tool retrieves information, without disclosing read-only nature, performance characteristics, rate limits, or any 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?
Single sentence of 9 words, front-loaded with action and result. No redundant or irrelevant 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?
With no output schema and 3 parameters, the description should explain the return structure (e.g., balance format, pagination details, transaction fields). It is too minimal for a tool that likely returns complex nested data.
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 100% with descriptions for all parameters. The description adds value by specifying that the tool returns 'balance and transaction history', which is not explicit in the schema 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 states 'Get address information including balance and transaction history', clearly specifying the verb (Get), resource (address information), and scope (balance and transaction history). This distinguishes it from sibling tools like get_transaction (single transaction) and get_utxos (only UTXOs).
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?
No guidance on when to use this tool versus alternatives such as get_utxos or get_transaction. The description lacks context about prerequisites or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_blockA
Get block information by hash or height
| Name | Required | Description | Default |
|---|---|---|---|
| block_hash_or_height | Yes | Block hash or height | |
| include_transactions | No | Include transaction details |
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 of behavioral disclosure. It does not mention that the tool is read-only, what specific information is returned, or any potential side effects. The description is minimal and lacks important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the essential purpose without any waste. Every word earns its place.
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 there is no output schema, the description does not specify what the tool returns (e.g., block details, transaction count). It is adequate for a simple retrieval tool but leaves some ambiguity about the output structure.
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 100% for both parameters. The description adds no additional meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get block information by hash or height' clearly specifies the action (get), the resource (block), and the two possible identifiers (hash or height). This distinguishes it from sibling tools like get_transaction or get_address.
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?
No explicit guidance on when to use this tool vs alternatives. The context implies it's for retrieving block data, but there are no when-not or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historical_priceC
Get historical Bitcoin price data
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days of historical data |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose any behavioral traits such as whether it is read-only, rate limits, or data source. The minimal description carries the full burden but fails to inform.
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?
Single sentence, no waste. Efficient but lacks structure; could be slightly expanded without losing 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?
The tool has no output schema, and the description does not indicate the return format (e.g., daily prices, timestamps). Given the simplicity, the description is incomplete.
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 covers the only parameter 'days' with a description, and the tool description does not add extra meaning. Baseline 3 is appropriate given full schema coverage.
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 historical Bitcoin price data, and given sibling tools like 'get_price_data', the purpose is reasonably clear. However, it does not explicitly distinguish itself from siblings.
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?
No guidance on when to use this tool versus alternatives like 'get_price_data'. No context on prerequisites or constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_network_metricsC
Get Bitcoin network health metrics
| Name | Required | Description | Default |
|---|---|---|---|
| timeframe | No | Timeframe for metrics | current |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description fully shoulders transparency. It fails to disclose any behavioral traits (e.g., read-only, side effects, rate limits, or caching 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 a single concise sentence, front-loaded with the key action and resource. However, it could be slightly more informative without losing brevity.
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 one parameter and no output schema, the description is too minimal. It does not explain what 'network health metrics' are returned or how the 'timeframe' parameter affects results, leaving the agent uninformed.
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 description coverage is 100% (the only parameter 'timeframe' has a description). Baseline 3 is appropriate since the description adds no extra meaning 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 tool's verb 'Get' and resource 'Bitcoin network health metrics', distinguishing it from sibling tools which focus on specific aspects like fee landscape or mempool state.
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?
No guidance on when to use this tool versus alternatives like analyze_fee_landscape or analyze_mempool_state. The description does not specify use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_price_dataC
Get current Bitcoin price and market data
| Name | Required | Description | Default |
|---|---|---|---|
| timeframe | No | Timeframe for historical data | current |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states a vague action ('get current Bitcoin price and market data') without mentioning that it is read-only, what data fields are included, or any rate limits. The agent lacks essential behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. However, it is overly terse given the complexity of the sibling tools and parameter semantics, sacrificing completeness for brevity.
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 the tool's simplicity, the description is incomplete. It does not define 'market data', fails to distinguish the tool from 'get_historical_price', and does not specify valid values for the 'timeframe' parameter. Key contextual information is missing.
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 100% coverage with a single parameter described. The tool description adds no extra meaning beyond the schema's description of 'timeframe'. Since the schema already covers the parameter, a baseline of 3 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 states 'Get current Bitcoin price and market data', specifying a verb and resource. However, it conflicts with the input schema's 'timeframe' parameter, which suggests historical data can be retrieved, creating ambiguity with the sibling tool 'get_historical_price'. The purpose is vague regarding scope and 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?
No usage guidance is provided. The description fails to indicate when to use this tool versus siblings like 'get_historical_price' or 'get_network_metrics', leaving the agent without context for correct tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transactionC
Get transaction information by txid
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | Transaction ID | |
| include_analysis | No | Include basic analysis |
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 only says 'Get transaction information' but does not disclose specific behaviors like whether it's read-only, what data is returned by default, or any rate limits. The brief description lacks transparency.
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 single-sentence description is concise with no wasted words. However, it is extremely brief (4 words) and could benefit from more detail while remaining concise. It earns its place but is on the edge of under-specification.
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 output schema, no annotations, and two parameters with full schema coverage, the description is minimally complete. It does not explain what 'transaction information' includes or how 'include_analysis' changes the output. More detail would improve completeness.
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 100%, with both parameters (txid and include_analysis) having descriptions in the schema. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get transaction information by txid' clearly specifies the verb (get) and resource (transaction information) with a method (by txid). However, it does not differentiate from sibling tools like 'trace_coin_lineage' or 'get_block', which could also involve transactions. It is clear but generic.
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?
No guidance on when to use this tool versus alternatives. There is no mention of when not to use it or any prerequisites. The description simply states the function without contextual usage hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_utxosB
Get unspent transaction outputs for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Bitcoin address | |
| min_value | No | Minimum UTXO value in satoshis |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention any behavioral traits such as data freshness, potential pagination, or that UTXOs are typically used for spending.
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?
A single, concise sentence with no unnecessary words. It is perfectly front-loaded and 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?
Given the simplicity of the tool (2 params, no output schema) and high schema coverage, the description is minimally adequate. However, for a blockchain tool, it could benefit from mentioning potential pagination or use cases.
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 description coverage is 100%, so the schema already documents both parameters adequately. The description adds no additional meaning beyond what is in 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 'unspent transaction outputs for an address', making the tool's purpose immediately obvious. It distinguishes from siblings like get_address and get_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?
No guidance on when or when not to use this tool compared to alternatives. For instance, it doesn't mention that UTXOs are needed for constructing transactions or that the results may be unspent at the time of query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trace_coin_lineageB
Trace the lineage of coins from a transaction output
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | Transaction ID | |
| output_index | Yes | Output index | |
| depth | No | Trace depth |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the function, not any behavioral traits such as read-only nature, required permissions, rate limits, or output format. This is insufficient for a tool that likely involves complex blockchain data 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?
The description is a single sentence with no wasted words, effectively conveying the core purpose.
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 having a clear purpose and well-documented parameters, the description lacks crucial context about the tool's output and behavior. For a tracing tool with no output schema, more details on the structure of the lineage or any limitations are needed to be 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?
The input schema already describes all three parameters with 100% coverage. The description does not add additional meaning beyond what the schema provides (e.g., the format of txid, the meaning of output_index in the context of a transaction, or how depth affects the trace). Baseline of 3 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 the tool's specific purpose: tracing the lineage of coins from a transaction output. It uses a specific verb ('trace') and resource ('lineage of coins') and distinguishes from sibling tools that focus on fees, mempool, UTXO distribution, etc.
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 no guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical use cases, or when not to use it. The sibling tools exist but are not referenced in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
12 tool updates
v1.0.0- First observed
analyze_fee_landscape - First observed
analyze_mempool_state - First observed
analyze_utxo_distribution - First observed
detect_transaction_patterns - First observed
get_address - First observed
get_block - First observed
get_historical_price - First observed
get_network_metrics - First observed
get_price_data - First observed
get_transaction - First observed
get_utxos - First observed
trace_coin_lineage
TDQS
Each tool targets a distinct aspect of Bitcoin data, such as fee analysis, mempool state, UTXO distribution, transaction patterns, address info, block info, price data, network metrics, and coin lineage. There is no ambiguity or overlap between tools, making it clear which to use for a specific query.
All tool names follow a consistent verb_noun pattern using lowercase and underscores (e.g., analyze_fee_landscape, get_address, trace_coin_lineage). This uniformity aids predictability and ease of selection for agents.
With 12 tools, the server covers its domain without being sparse or overwhelming. The number is well-scoped for a Bitcoin data server, providing enough granularity without unnecessary redundancy.
The tool surface covers most key aspects of Bitcoin data: blockchain info, mempool, fees, UTXOs, transaction patterns, prices, and network metrics. A minor gap is the absence of a transaction broadcast tool, but for a data-focused server, this is acceptable.
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
Read-only Bitcoin blockchain, mempool, mining, market, and on-chain analytics; no API key.
Bitcoin intelligence API. Pay per call via L402 Lightning (10-200 sats). No accounts needed.
Blockchain analytics API for AI agents. Smart Money signals, wallet profiling, token analytics.
Blockchain analytics API for AI agents. Smart Money signals, wallet profiling, token analytics.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides real-time Bitcoin blockchain data by querying the mempool.space API, offering tools to get address statistics, transaction history, UTXOs, transaction details, and block information.7274MIT
- FlicenseNot gradedqualityDmaintenanceEnables comprehensive blockchain data analysis and exploration through the BlockScout API. Provides 56+ tools for transaction analysis, address exploration, token management, smart contract analysis, and market research across multiple blockchain networks.-
- AlicenseNot gradedqualityCmaintenanceEnables querying Bitcoin blockchain data including blocks, transactions, addresses, mempool, and fee estimates via the Blockstream.info Esplora API.20MIT
- AlicenseNot gradedqualityCmaintenanceProvides real Bitcoin full node data via 17 tools, with pay-per-call in USDC on Base mainnet. Free tools include blockchain info, fees, and mempool; paid tools enable transaction tracking, address analysis, and more.MIT
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/myownipgit/bitcoin-data-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server