Skip to main content
Glama
TIBSP

startmining-mcp

@startminingmcp/mcp

MCP (Model Context Protocol) server for Bitcoin mining data. Get real-time hashprice, difficulty, profitability calculations, and more.

🚀 Features

  • Real-time market data — BTC price, hashprice, difficulty, network stats

  • Profitability calculator — Calculate ROI for any ASIC setup

  • Historical data — Price and difficulty history since 2009

  • Halving tracker — Current era, next halving, supply stats

  • Mempool & blocks — Fee estimates and recent blocks

  • ASIC prices — Market prices by efficiency tier

Related MCP server: @bitcoinbenji/mcp

📦 Installation

npm install -g @startminingmcp/mcp

Or use directly with npx:

npx @startminingmcp/mcp

⚙️ Configuration

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "startmining": {
      "command": "npx",
      "args": ["@startminingmcp/mcp"]
    }
  }
}

With API Key (optional, for higher rate limits)

{
  "mcpServers": {
    "startmining": {
      "command": "npx",
      "args": ["@startminingmcp/mcp"],
      "env": {
        "STARTMINING_API_KEY": "your_api_key"
      }
    }
  }
}

🛠️ Available Tools

Tool

Description

get_market_data

Current BTC price, hashprice, difficulty, network stats

get_hashprice

Hashprice breakdown ($/PH/day)

get_difficulty

Current difficulty + next adjustment prediction

get_halving_info

Halving era, next date, supply stats

get_price_history

Historical BTC prices (from, to, granularity)

get_difficulty_history

Historical difficulty & hashrate

get_monthly_averages

Calendar-month averages (UTC) of BTC price, hashrate, hashprice USD & BTC (month: YYYY-MM)

get_weekly_stats

Closed ISO-week stats (UTC): block time, real fees, implied hashrate, real hashprice BTC & USD, difficulty adjustments, daily rows (default: last 2 weeks)

calculate_profitability

Mining profitability for given setup

calculate_breakeven

Breakeven BTC price

get_mempool

Mempool status & fee estimates

get_recent_blocks

Recent blocks info (max 50)

get_asic_prices

ASIC market prices by efficiency

💡 Example Queries

Once configured, you can ask Claude:

  • "What's the current hashprice?"

  • "Calculate profitability for an S21 (200 TH/s, 3500W) at $0.05/kWh"

  • "When is the next halving?"

  • "Show me BTC price history for last month"

  • "What's the mempool fee situation?"

  • "Give me the September 2026 monthly averages for price, hashrate and hashprice"

  • "Compare the last two closed weeks: block time, fees and hashprice"

📊 Data Sources

  • Price data: Internal database (since 2009-01-03)

  • Network data: Direct Bitcoin Core node

  • Calculations: Real-time based on current conditions

📄 License

MIT © Startmining

Available Tools

13 tools
calculate_breakevenC

Calculate breakeven BTC price for mining operation

ParametersJSON Schema
NameRequiredDescriptionDefault
hashrate_thYesHashrate in TH/s
power_wattsYesPower consumption in watts
electricity_costYesElectricity cost in $/kWh

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no assumptions about network difficulty, block reward, pool fees, or BTC/USD input, no indication that it is a read-only computation, and no information about the returned value's units. For a tool with zero annotation coverage this is a notable gap.

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?

A single short sentence that front-loads the verb and the computed quantity with no filler. It is efficient, though its extreme brevity is partly why other dimensions are thin.

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?

The three required inputs are fully documented in the schema, but there is no output schema and the description does not clarify what the returned breakeven price represents or what underlying network assumptions are baked in. Given the absence of annotations and output schema, slightly more context would be warranted.

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%, with each of the three required parameters (hashrate_th, power_watts, electricity_cost) documented with units in the schema. The description adds nothing beyond that, so the baseline 3 applies.

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 names a specific verb (Calculate) and a specific resource (breakeven BTC price for a mining operation), so an agent can tell what it produces. It is distinguishable from pure data-fetch siblings like get_price_history or get_difficulty, but it does not contrast itself with the closest sibling, calculate_profitability.

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?

There is no statement of when to use this tool versus calculate_profitability or how to obtain the required inputs (e.g., whether hashrate/power must be user-supplied or can be inferred). The agent gets no context, prerequisites, or exclusions.

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

calculate_profitabilityC

Calculate mining profitability for given hashrate and electricity cost

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to calculate (default: 30)
btc_priceNoBTC price (optional, uses current if not provided)
hashrate_thYesHashrate in TH/s
power_wattsYesPower consumption in watts
pool_fee_pctNoPool fee percentage (default: 2)
electricity_costYesElectricity cost in $/kWh

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It never states that this is a read-only computation, which network assumptions it uses (current difficulty, block reward, hashprice), or that results are estimates rather than live network data — all material for a profitability model.

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?

A single compact sentence with no filler and the core resource front-loaded. It is under-specified rather than bloated, so length is not the problem.

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 six parameters, no annotations, and no output schema, the description should say what the calculation returns (daily/monthly revenue, profit, breakeven days) and what network assumptions underpin it. Neither is present, so an agent cannot predict the result shape or trust boundary.

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 all six parameters including defaults for days, pool_fee_pct, and btc_price. The description names only hashrate and electricity_cost and omits the required power_watts, so it adds nothing beyond the schema; baseline 3 applies.

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?

States a specific verb and resource ('Calculate mining profitability') with the two headline inputs, so an agent immediately knows the domain. It does not, however, distinguish itself from the closest sibling, calculate_breakeven, which also takes hashrate/cost inputs.

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?

There is no indication of when to pick this over calculate_breakeven or any of the data-retrieval siblings. No exclusions, prerequisites, or scenario cues are given, leaving the agent to infer selection from the name alone.

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

get_asic_pricesB

Get ASIC miner price data and efficiency stats

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It does not state that the call is read-only, whether the data is real-time or cached, what units the efficiency stats use (e.g., J/TH), or what timeframe is covered.

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 short sentence with the resource front-loaded and zero filler. Nothing is wasted, though there is also very little content.

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?

For a no-parameter, no-output-schema tool the description needs only to convey what comes back, and 'price data and efficiency stats' is a reasonable minimum. It still leaves the shape and scope of 'efficiency stats' undefined, which matters for an agent choosing among the many sibling data tools.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline of 4 applies. There is no parameter documentation gap to compensate for, and the schema is empty as expected.

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?

States a specific verb (get) and resource (ASIC miner price data and efficiency stats), which is more informative than the bare tool name. However, it offers no differentiation from siblings like get_hashprice or get_market_data that also return price-oriented data, so an agent must infer which one fits.

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?

There is no guidance on when to use this tool versus alternatives such as get_hashprice, get_market_data, or calculate_profitability, all of which appear related to miner economics. No preconditions or exclusions are stated.

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

get_difficultyB

Get current difficulty and next adjustment prediction

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It implies a harmless zero-parameter read and reveals that a forward-looking prediction is included, but it says nothing about the prediction model, data source, or update cadence.

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 front-loaded sentence containing both the primary result and the secondary prediction, with no filler or redundancy.

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

Completeness3/5

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

With no output schema, the description must carry return-value meaning. It names the two returned concepts but omits units, the estimated adjustment magnitude, and when the next adjustment occurs, leaving the agent to guess at the payload shape.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. No parameter meaning is missing.

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?

States a specific verb ('Get') and resource ('current difficulty') plus an extra output ('next adjustment prediction'), so the agent knows what it retrieves. It does not explicitly distinguish itself from the sibling get_difficulty_history, relying on the agent to infer current-vs-historical.

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?

There is no when-to-use guidance, no condition distinguishing it from get_difficulty_history, and no mention of prerequisites or freshness. The agent must infer usage entirely from the name.

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

get_difficulty_historyC

Get historical difficulty and hashrate data

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd date (YYYY-MM-DD)
fromNoStart date (YYYY-MM-DD)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the behavioral burden. It does not state default time range, output shape, pagination, rate limits, units, or whether results are aggregated, leaving key operational behavior undisclosed.

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 phrase and is front-loaded with the action and resource. It is appropriately short, though the brevity contributes to the missing guidance noted elsewhere.

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 historical-data tool with no annotations and no output schema, the description is too sparse. It omits default date behavior, result granularity, and distinctions from closely related sibling tools.

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%, and both from/to parameters have clear YYYY-MM-DD descriptions, so the schema handles parameter semantics adequately. The description adds no additional parameter meaning or constraints 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 gives a clear verb (Get) and resource (historical difficulty and hashrate data), so the basic purpose is understandable. However, with siblings like get_difficulty, get_hashprice, get_weekly_stats, and get_monthly_averages, it does not distinguish scope or granularity from these alternatives.

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 when-to-use guidance is provided. It does not explain when to choose this historical endpoint instead of get_difficulty, get_hashprice, or get_monthly_averages, nor does it mention default date behavior despite optional from/to parameters.

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

get_halving_infoA

Get Bitcoin halving information - current era, next halving date, supply stats

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It partially compensates by enumerating what is returned (current era, next halving date, supply stats), but says nothing about freshness/caching, units, rate limits, or response shape for a tool with no output schema.

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 front-loaded line with the resource stated first and the returned fields listed after the dash. No filler sentences to trim.

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

Completeness4/5

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

For a read-only, zero-parameter tool with no annotations or output schema, the description is nearly sufficient because it enumerates the three data points returned. It stops short of describing format/units or data currency, which would be needed for full completeness.

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

Parameters4/5

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

The tool takes zero parameters, so there are no parameter semantics to document; the baseline for a parameterless tool is 4. Nothing in the description misleads about inputs.

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?

States a specific verb ('Get') and resource ('Bitcoin halving information') and then enumerates the concrete payload (current era, next halving date, supply stats). None of the sibling tools (get_difficulty, get_price_history, get_market_data, etc.) cover halving data, so an agent can route to it unambiguously.

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?

Usage is only implied: an agent should call it when halving/era/supply context is wanted. There is no explicit when-to-use, when-not-to-use, or named alternative, though no sibling overlaps this domain, so the cost of the omission is low.

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

get_hashpriceB

Get current hashprice (mining revenue per PH/day) with detailed breakdown

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden, and it does disclose that the value is current-snapshot and comes with a 'detailed breakdown'. It does not say whether data is cached, how fresh it is, or what the breakdown comprises, which is a gap for a read tool with zero annotation support.

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?

A single front-loaded sentence with no filler; the metric definition is parenthetical and tightly scoped. It could arguably be a touch more informative without losing brevity, but nothing is wasted.

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?

There is no output schema, so the description should ideally characterize the 'detailed breakdown' it promises — what fields or dimensions the agent will receive. As written, an agent knows what the number means but not what the payload looks like, leaving the return shape underspecified.

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

Parameters4/5

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

The tool takes no parameters, so there is no schema semantics to add beyond; the baseline for a zero-parameter tool applies. The description uses the sentence space instead on defining the returned metric, which is reasonable.

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?

Specific verb ('Get') plus resource ('hashprice') with an inline definition of the metric and its unit (mining revenue per PH/day). It is distinguishable from siblings like get_market_data or calculate_profitability by domain specificity, though it never explicitly contrasts itself with them.

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 statement of when to use this versus related tools such as get_market_data or calculate_profitability, and no prerequisites or context. The 'current' qualifier hints at a now-focused snapshot but is not framed as guidance.

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

get_market_dataA

Get current Bitcoin market and mining data including price, hashprice, difficulty, and network stats

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a read-only operation and the returned fields are listed, but there is no mention of caching/freshness, rate limits, or auth requirements for what is presumably a live external data fetch.

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 front-loaded sentence that names the resource first and then lists contents; no filler or redundancy.

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

Completeness4/5

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

For a zero-parameter read tool with no output schema, the description adequately enumerates what comes back (price, hashprice, difficulty, network stats). The remaining gap is that it does not clarify the aggregation relationship with overlapping siblings.

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

Parameters4/5

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

The schema has zero parameters with 100% coverage, and the base case for a no-argument tool is 4. Nothing about invocation needs further clarification.

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 states a specific verb (Get) and resource (current Bitcoin market and mining data) and enumerates the contents: price, hashprice, difficulty, network stats. It is clear, but it never distinguishes itself from siblings like get_hashprice and get_difficulty, which return overlapping subsets of the same data.

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

Usage Guidelines3/5

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

The word 'current' implicitly signals a snapshot rather than history, weakly steering the agent away from get_price_history and get_difficulty_history. However, it never explains when to use this aggregate call versus the narrower get_hashprice/get_difficulty siblings that return the same fields.

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

get_mempoolB

Get mempool status and fee estimates

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It restates the returned categories ('status and fee estimates') and implies a read via 'Get', but discloses nothing about data freshness, source, rate limits, or output characteristics.

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, front-loaded six-word sentence with no filler. Every word earns its place for a low-complexity read operation.

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?

With no annotations and no output schema, the description should ideally indicate return shape or key metrics. It names two data categories but leaves units and structure unspecified, making it minimally viable but incomplete for an agent that must interpret the response.

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

Parameters4/5

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

The tool has zero parameters, so there are no parameter semantics to document. Baseline 4 applies because the schema is empty and no additional parameter meaning is needed.

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?

States a specific verb 'Get' and the resources 'mempool status' and 'fee estimates'. Clear enough to distinguish from sibling tools, none of which cover mempool data, but it does not explicitly differentiate beyond the unique resource name.

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 when-to-use guidance, no alternatives, and no exclusions are provided. The description only implies the tool is for mempool and fee data, leaving all selection context to inference.

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

get_monthly_averagesA

Get calendar-month averages (UTC) of BTC price, network hashrate, and hashprice in USD and BTC, for monthly mining reports. The month must be complete.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthYesCalendar month (YYYY-MM), e.g. 2026-09 for 1-30 September 2026

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the UTC aggregation convention and the precondition that the month be complete, but says nothing about error behavior for incomplete months, permissions, or response shape.

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

Conciseness5/5

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

Two tight sentences with no filler; the resource and metrics lead, and the completeness constraint closes. Every clause adds information.

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

Completeness4/5

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

For a simple one-parameter tool with no output schema, the description compensates well by naming the returned metrics and units in place of a return-value spec. Only the absence of annotations leaves a minor gap around error/precondition handling.

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% and the single parameter is fully documented there, including a format example, so the baseline of 3 applies. The description's "(UTC)" adds only marginal clarification about timezone of aggregation beyond the schema's own month format.

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?

States a specific verb (get) and resource (calendar-month averages) and enumerates the exact metrics returned — BTC price, network hashrate, hashprice — with their units (USD and BTC). This clearly separates it from aggregation siblings like get_weekly_stats, though no sibling is named explicitly, so it falls just short of a 5.

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

Usage Guidelines4/5

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

"For monthly mining reports" supplies a clear use context, and "The month must be complete" is an effective implicit exclusion (no current/partial months). It stops short of naming an alternative such as get_weekly_stats or get_price_history for finer-grained data.

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

get_price_historyC

Get historical Bitcoin prices

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd date (YYYY-MM-DD)
fromNoStart date (YYYY-MM-DD)
granularityNoData granularity (default: day). For calendar-month averages use get_monthly_averages

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about read-only semantics, the default granularity of "day", date-range behavior when from/to are omitted, or what the returned series looks like. For an unannotated data tool this is a real gap.

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?

A single front-loaded sentence with zero filler, which is efficient. It is arguably too terse for the information an agent needs, but the sentence itself is well-formed and wastes nothing.

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 annotations and no output schema, the description should at least state defaults and the relationship to get_monthly_averages/get_market_data. It omits both, leaving the agent to infer scope and behavior from the schema alone.

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%, and the schema already documents from, to, and granularity (including the enum and the get_monthly_averages pointer). The description adds no parameter meaning beyond that, so the baseline 3 applies.

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?

"Get historical Bitcoin prices" names a specific verb and resource, so the agent knows this retrieves time-series price data. However, it does not differentiate from siblings that also return price/market data, such as get_market_data or get_monthly_averages.

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?

There is no guidance on when to use this tool versus get_market_data, get_monthly_averages, or get_hashprice. The only routing hint ("use get_monthly_averages for calendar-month averages") lives in the schema, not the description.

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

get_recent_blocksA

Get the most recent Bitcoin blocks (max 50, i.e. a few hours). For weekly block time, fees or hashprice use get_weekly_stats

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of blocks to return (default: 10, max: 50)

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It does usefully convey the temporal scope ('a few hours') and the 50-block ceiling, but says nothing about read-only nature (only implied by 'get'), pagination, or what a returned block looks like.

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

Conciseness5/5

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

Two tight sentences with no filler; the primary capability is front-loaded and the routing hint follows immediately after.

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

Completeness4/5

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

For a zero-required-parameter read tool with full schema coverage and no output schema, the description supplies the scope, time span, and the key alternative. Nothing critical is missing, though return shape and error/limit behavior remain unaddressed.

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% and already documents the limit parameter with its default and max, so the baseline is 3. The description earns a bump by contextualizing what a limit of 50 means in time ('a few hours'), which the schema does not convey.

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?

States a specific verb (get) and resource (recent Bitcoin blocks) with an explicit scope bound of max 50 / a few hours. It distinguishes itself from get_weekly_stats, but does not differentiate from other siblings like get_difficulty or get_mempool, so it stops short of a 5.

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

Usage Guidelines4/5

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

Gives an explicit alternative for adjacent needs: 'For weekly block time, fees or hashprice use get_weekly_stats.' That is clear routing guidance, though it offers no when-not condition for the tool itself and no prerequisites.

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

get_weekly_statsA

Get closed ISO-week (Monday 00:00 UTC to Monday 00:00 UTC) Bitcoin network stats for weekly mining reports: block count and average block time, real transaction fees, implied hashrate, real hashprice in BTC and USD, difficulty adjustments with timestamps, BTC price, raw daily rows, methodology and coverage. Defaults to the last 2 closed weeks.

ParametersJSON Schema
NameRequiredDescriptionDefault
weekNoAny day (YYYY-MM-DD) of the most recent week wanted. Default: last fully closed week
weeksNoNumber of consecutive weeks ending with `week`, oldest first (default: 2, max: 8)

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it defines the ISO week (Monday 00:00 UTC to Monday 00:00 UTC), specifies closed weeks only (no partial/in-progress data), and states the default span. It stops short of describing response shape limits, error conditions, or rate limits, but the temporal semantics are unusually well disclosed.

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?

Front-loaded with verb, resource, and the precise temporal scope before the long field enumeration. The output list is dense but each item is informative; the only cost is that the single sentence becomes long, but nothing is redundant.

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

Completeness4/5

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

With no output schema and no annotations, the description compensates by enumerating returned content (block count, avg block time, fees, hashrate, hashprice in BTC/USD, difficulty adjustments, raw daily rows, methodology) and the default window. An agent knows what it gets and how the week is bounded; only edge cases and limits are unaddressed.

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%, so both parameters are already documented, including the max of 8 weeks. The description adds the default span ('last 2 closed weeks') which reinforces the schema but adds no syntax or format detail beyond it — the baseline 3 for fully-covered schemas.

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?

States a specific verb+resource with tight scope: closed ISO-week Bitcoin network stats, with the exact week boundary defined. The output list (fees, hashrate, hashprice, difficulty adjustments, BTC price) makes it clearly distinguishable from siblings like get_monthly_averages, get_price_history, and get_hashprice.

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?

Gives context ('for weekly mining reports') and states the default window (last 2 closed weeks), which implies when it applies. However, it never says when to prefer this over get_monthly_averages or get_price_history, and offers no exclusions or prerequisites, leaving routing to inference.

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.

  1. 13 tool updatesv1.2.0
    • First observedcalculate_breakeven
    • First observedcalculate_profitability
    • First observedget_asic_prices
    • First observedget_difficulty
    • First observedget_difficulty_history
    • First observedget_halving_info
    • First observedget_hashprice
    • First observedget_market_data
    • First observedget_mempool
    • First observedget_monthly_averages
    • First observedget_price_history
    • First observedget_recent_blocks
    • First observedget_weekly_stats

TDQS

A3.5/5.0

Scored across 13 tools

Disambiguation4/5

Most tools target distinct resources (mempool, ASIC prices, halving, recent blocks), and descriptions cross-reference alternatives like get_weekly_stats. However, get_market_data bundles price/hashprice/difficulty/network stats and overlaps with get_hashprice, get_difficulty, and get_price_history, creating some selection ambiguity.

Naming Consistency5/5

Every tool follows a clean verb_noun snake_case pattern: get_* or calculate_*. The convention is completely predictable across all 13 tools.

Tool Count5/5

13 tools is well within the ideal range and each covers a meaningful slice of the mining-analytics domain (current stats, historical series, profitability calcs). Nothing feels padded or missing at the count level.

Completeness4/5

The surface covers current data (difficulty, hashprice, mempool, market), history (price, difficulty, weekly/monthly aggregates, blocks), and calculators (profitability, breakeven), which is strong lifecycle coverage. Minor gaps remain, e.g. no historical profitability or per-pool/miner comparison, but core workflows are supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • 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
  • A
    license
    B
    quality
    D
    maintenance
    MCP server offering 26 Lightning-paid tools for Bitcoin mempool intelligence and sovereign on-prem AI inference, with no third-party APIs and pay-per-call in sats.
    26
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables querying public Bitcoin network data including fees, mempool status, hashrate, transactions, address stats, and Lightning network information without requiring API keys.
    MIT