Skip to main content
Glama
myownipgit

Bitcoin Data MCP Server

by myownipgit

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 height

  • get_transaction: Get transaction details by TXID

  • get_address: View address information, balance, and transaction history

  • get_utxos: Retrieve unspent transaction outputs for an address

Market Data

  • get_price_data: Current Bitcoin price and market metrics

  • get_historical_price: Historical price data for specified time periods

Network Analysis

  • get_network_metrics: Bitcoin network health metrics

  • analyze_fee_landscape: Current fee recommendations and analysis

  • analyze_mempool_state: Mempool congestion analysis

Advanced Analysis

  • analyze_utxo_distribution: UTXO distribution analysis for multiple addresses

  • trace_coin_lineage: Basic tracing of coin movement

  • detect_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 build

Usage

# Start the MCP server
npm start

The 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:

  1. Start your Bitcoin MCP Server:

    npm start
  2. In 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.js

    • Click "Save"

  3. Claude will now have access to all the Bitcoin data tools provided by this server

  4. 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 dev

Data Sources

License

MIT

Available Tools

12 tools
analyze_fee_landscapeC

Analyze current fee landscape and get recommendations

ParametersJSON Schema
NameRequiredDescriptionDefault
prediction_horizonNoFee prediction horizoncurrent

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. 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

ParametersJSON Schema
NameRequiredDescriptionDefault
include_predictionsNoInclude basic predictions

TDQS

C2.5/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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

Given the tool's simplicity (one 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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool 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

ParametersJSON Schema
NameRequiredDescriptionDefault
address_listYesList of Bitcoin addresses

TDQS

B3/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives 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)

ParametersJSON Schema
NameRequiredDescriptionDefault
txidYesTransaction ID

TDQS

C2.2/5.0
Behavior1/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. 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

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesBitcoin address
limitNoLimit number of transactions
offsetNoOffset for pagination

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description 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.

Conciseness5/5

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.

Completeness2/5

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

With no output schema and 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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives 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

ParametersJSON Schema
NameRequiredDescriptionDefault
block_hash_or_heightYesBlock hash or height
include_transactionsNoInclude transaction details

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It 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.

Conciseness5/5

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.

Completeness3/5

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

Given there is no output schema, the description 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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of historical data

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives 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

ParametersJSON Schema
NameRequiredDescriptionDefault
timeframeNoTimeframe for metricscurrent

TDQS

C2.9/5.0
Behavior1/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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

The description clearly states the tool's 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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives 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

ParametersJSON Schema
NameRequiredDescriptionDefault
timeframeNoTimeframe for historical datacurrent

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description 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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
txidYesTransaction ID
include_analysisNoInclude basic analysis

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It 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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. 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

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesBitcoin address
min_valueNoMinimum UTXO value in satoshis

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.

Conciseness5/5

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.

Completeness3/5

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

Given the simplicity of the tool (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.

Parameters3/5

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.

Purpose5/5

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

The description clearly states the verb 'Get' and the resource '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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
txidYesTransaction ID
output_indexYesOutput index
depthNoTrace depth

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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

The description clearly states the tool's 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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It 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.

  1. 12 tool updatesv1.0.0
    • First observedanalyze_fee_landscape
    • First observedanalyze_mempool_state
    • First observedanalyze_utxo_distribution
    • First observeddetect_transaction_patterns
    • First observedget_address
    • First observedget_block
    • First observedget_historical_price
    • First observedget_network_metrics
    • First observedget_price_data
    • First observedget_transaction
    • First observedget_utxos
    • First observedtrace_coin_lineage

TDQS

B3.3/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides 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.
    7
    27
    4
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying Bitcoin blockchain data including blocks, transactions, addresses, mempool, and fee estimates via the Blockstream.info Esplora API.
    20
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides real Bitcoin full node data via 17 tools, with pay-per-call in USDC on Base mainnet. Free tools include blockchain info, fees, and mempool; paid tools enable transaction tracking, address analysis, and more.
    MIT

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/myownipgit/bitcoin-data-mcp'

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