bitcoin-signals
Server Details
Leading non-price Bitcoin signals over MCP: sovereign, hiring, hashrate. Not financial advice.
- Status
- Healthy
- Uptime
- 100.0% over 58 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- jukkablomberg/coinbucha-mcp
- GitHub Stars
- 0
- Server Listing
- CoinBucha
TDQS
Scored across 9 tools
Most tools target distinct resources (nation-state reserves, corporate treasuries, hiring, hashrate, per-signal history, sovereign snapshot diff), so boundaries are generally clear. The main overlap is between get_daily_brew and scan_signals, both of which return a cross-signal digest/feed view, which could cause misselection.
Seven of nine tools follow the get_noun pattern (get_daily_brew, get_etf_flows, get_hiring_signal, get_network_signal, get_signal_history, get_sovereign_reserves, get_treasury_holdings). scan_signals and sovereign_diff deviate with different verb styles, but the convention is still readable and predictable.
Nine tools is well-scoped for a multi-signal Bitcoin data server, with one tool per signal domain plus aggregate and historical views. However, get_etf_flows is explicitly retired and serves no data, so one slot is occupied by a non-functional tool.
Coverage spans the four named signal types (sovereign_adoption, hiring_velocity, corporate_treasury, network_hashrate) with dedicated tools, plus a generic get_signal_history and sovereign_diff for lifecycle/delta views. The ETF flow signal is a deliberate dead end and there is no standalone price tool, but core workflows are covered.
Available Tools
9 toolsget_daily_brewCoinBucha Daily BrewRead-onlyIdempotentInspect
The day's machine-readable digest of the whole signal set — the CoinBucha Daily Brew. Takes no arguments. Returns { date, btc_price_usd, headline, signals_summary[], attribution, source_terms }, one summary line per signal with its strength, direction and one-line why. Example: {}. CoinGecko values carry attribution: "Powered by CoinGecko" and source_terms. Information, not financial advice. Every answer carries data_contract { source, as_of, status, corrections_url, license }. This server answers bounded questions, one question, one answer; for bulk, history, backfills and scheduled pulls use the CSVs and datapackage.json at https://coinbucha.com/data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_etf_flowsSpot Bitcoin ETF flows (retired)Read-onlyIdempotentInspect
RETIRED: this tool is no longer advertised and serves no flow figures. No spot-Bitcoin-ETF flow source is available that is both key-free and permitted to redistribute, so CoinBucha never had a licensed figure to serve here. It remains callable so existing integrations do not break: it takes no arguments and returns { available: false, status, as_of, date_basis, unit, note, disclaimer }, stating the absence explicitly. Read that absence as absent — never as a zero flow. For live signals use scan_signals, get_sovereign_reserves, get_treasury_holdings, get_hiring_signal, get_network_signal or get_daily_brew. Example: {}. Information, not financial advice. Every answer carries data_contract { source, as_of, status, corrections_url, license }. This server answers bounded questions, one question, one answer; for bulk, history, backfills and scheduled pulls use the CSVs and datapackage.json at https://coinbucha.com/data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_hiring_signalBitcoin hiring velocityRead-onlyIdempotentInspect
Hiring velocity across tracked Bitcoin and crypto-infrastructure employers, counted from their live ATS boards. Returns { as_of, companies[], note, why, disclaimer }; each company carries company, ticker, category, ats, careers_url, open_roles, open_roles_30d_ago, open_roles_90d_ago and the derived delta_30d, delta_90d and pct_30d. Example: {"company": "coinbase"} for one employer, or {} for every employer tracked. When a company filter matches no tracked employer the response adds coverage_note and tracked_count, saying that the name is outside the tracked set — a limit of coverage, not a finding about whether that company is hiring. Information, not financial advice. Every answer carries data_contract { source, as_of, status, corrections_url, license }. This server answers bounded questions, one question, one answer; for bulk, history, backfills and scheduled pulls use the CSVs and datapackage.json at https://coinbucha.com/data.
| Name | Required | Description | Default |
|---|---|---|---|
| company | No | Case-insensitive company filter |
get_network_signalBitcoin network hashrateRead-onlyIdempotentInspect
Bitcoin network hashrate level and trend, derived from difficulty (expected, 2016-block epoch). hashrate_eh = difficulty × 2^32 / 600 s for the epoch in force, read from block headers — an expected rate, not a measured one. Takes no arguments. Returns { as_of, hashrate_eh (exahashes per second), pct_30d, pct_90d, hashrate_source, basis, difficulty, difficulty_height, difficulty_source_url, why, disclaimer }. Example: {}. Information, not financial advice. Every answer carries data_contract { source, as_of, status, corrections_url, license }. This server answers bounded questions, one question, one answer; for bulk, history, backfills and scheduled pulls use the CSVs and datapackage.json at https://coinbucha.com/data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_signal_historyBitcoin signal strength historyRead-onlyIdempotentInspect
Dated strength history for one CoinBucha signal, newest first. Returns { as_of, signal_type, title, unit, count, points[], truncated, available_points, tier_window_points, freshness, why, disclaimer, cite }, where each point carries date, signal_strength (0-100) and direction (tailwind | headwind | neutral). Example: {"signal_type": "network_hashrate", "days": 30}. signal_type is one of sovereign_adoption, hiring_velocity, corporate_treasury, network_hashrate. Anonymous and free-tier callers receive the most recent points only and are told so by truncated and available_points; no figure is ever altered or interpolated to fit a window. A history question beyond that window is a bulk question: data_contract.bulk_url names the CSV of the signal's dated figures. Observational data; information, not financial advice. Every answer carries data_contract { source, as_of, status, corrections_url, license }. This server answers bounded questions, one question, one answer; for bulk, history, backfills and scheduled pulls use the CSVs and datapackage.json at https://coinbucha.com/data.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many of the most recent dated points to return (1-90) | |
| signal_type | Yes | Which signal's history to return |
get_sovereign_reservesSovereign Bitcoin reservesRead-onlyIdempotentInspect
Nation-state Bitcoin holdings, ranked largest first. Returns { as_of, btc_price_usd, count, sovereigns[], disclaimer, attribution, source_terms }; each row carries country_name, country_code, holdings_btc, status, tier (1 = largest holders), framework, sources[], its own as_of, and source_quality (primary = confirmed against the state's own publication; secondary = reported, not confirmed at source — derived from that row's sources[]). Filter by country name or ISO code, or by tier. Example: {"country": "US"} or {"tier": 1} — call with {} for the full ranking. CoinGecko values carry attribution: "Powered by CoinGecko" and source_terms. Information, not financial advice. Every answer carries data_contract { source, as_of, status, corrections_url, license }. This server answers bounded questions, one question, one answer; for bulk, history, backfills and scheduled pulls use the CSVs and datapackage.json at https://coinbucha.com/data.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Holding tier; 1 = largest holders | |
| country | No | Country name or ISO code |
get_treasury_holdingsCorporate Bitcoin treasuriesRead-onlyIdempotentInspect
Bitcoin held on the balance sheets of tracked public companies, in aggregate and by largest holder. Takes no arguments. Returns { as_of, total_btc, company_count, total_value_usd, top[], why, disclaimer, attribution, source_terms }, where top[] lists the largest holders as { name, symbol, btc }. Example: {}. CoinGecko values carry attribution: "Powered by CoinGecko" and source_terms. Information, not financial advice. Every answer carries data_contract { source, as_of, status, corrections_url, license }. This server answers bounded questions, one question, one answer; for bulk, history, backfills and scheduled pulls use the CSVs and datapackage.json at https://coinbucha.com/data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
scan_signalsScan Bitcoin signalsRead-onlyIdempotentInspect
Ranked cross-signal feed of CoinBucha's leading, non-price Bitcoin indicators. Returns { as_of, btc_price_usd, count, signals[], disclaimer, attribution, source_terms }, where each signal carries id, type, title, value, unit, signal_strength (0-100), direction (tailwind | headwind | neutral), a one-line why, sources[] and its own as_of. Optional filters narrow by strength, direction or signal type. Example: {"min_strength": 70, "direction": "tailwind"} — call with {} for the full ranked list. CoinGecko values carry attribution: "Powered by CoinGecko" and source_terms. Observational data; information, not financial advice. Every answer carries data_contract { source, as_of, status, corrections_url, license }. This server answers bounded questions, one question, one answer; for bulk, history, backfills and scheduled pulls use the CSVs and datapackage.json at https://coinbucha.com/data.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | No | Keep only signals carrying this direction label | |
| min_strength | No | Only signals with strength >= this | |
| signal_types | No | e.g. ['sovereign_adoption','hiring_velocity'] |
sovereign_diffSovereign Bitcoin snapshot diffRead-onlyIdempotentInspect
What changed between two frozen, immutable sovereign-reserve snapshots. Takes optional { from, to } snapshot dates (YYYY-MM-DD); defaults to the two newest. Returns { status, as_of, from, to, counts, added[], removed[], changed[], envelope[], disclaimer, cite }, where each changed row carries country_code, country_name, source_quality { from, to } and changes[] of { field, basis (reported | derived), from, to }. With fewer than two snapshots it returns status "insufficient_snapshots" and diff: null — not an empty diff. Example: {"from": "2026-09-04", "to": "2026-10-01"}. CoinGecko values carry attribution: "Powered by CoinGecko" and source_terms. Information, not financial advice. Every answer carries data_contract { source, as_of, status, corrections_url, license }. This server answers bounded questions, one question, one answer; for bulk, history, backfills and scheduled pulls use the CSVs and datapackage.json at https://coinbucha.com/data.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Later snapshot date, YYYY-MM-DD | |
| from | No | Earlier snapshot date, YYYY-MM-DD |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
sovereign_diff
1 tool update
- Added
get_signal_history
6 tool updates
- Changed
get_daily_brew1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
get_etf_flows1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
get_network_signal1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
get_sovereign_reserves1 field changed- added
Input schema / properties / tier / descriptionAdded value: +"Holding tier; 1 = largest holders"
- Changed
get_treasury_holdings1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
scan_signals1 field changed- added
Input schema / properties / direction / descriptionAdded value: +"Keep only signals carrying this direction label"
7 tool updates
- First observed
get_daily_brew - First observed
get_etf_flows - First observed
get_hiring_signal - First observed
get_network_signal - First observed
get_sovereign_reserves - First observed
get_treasury_holdings - First observed
scan_signals
Related MCP Connectors
Cited Bitcoin coordination record search (~783k). Lightning. MCP. Not prices/chain analytics.
Whale & Institutional Flow MCP — 8 tools: TVL flows, alpha signals, stablecoin supply.
Live crypto cycle data: 48-signal Bitcoin cycle model, Bitcoin ETF flows, ASX ETFs, altseason
The Bitcoin credit markets, measured. Cross-venue rates, venue criteria, chain indicators.
Related MCP Servers
- AlicenseAqualityAmaintenanceFinancial market context for AI agents: macro, rates, bonds, FX, commodities, companies, and Bitcoin. The catalogue holds 32 live briefings and 270 individual metrics, among them the latest FOMC statement, Treasury auctions, who holds US Treasuries, US crude and gas inventories, gold, silver, Bitcoin price and momentum, spot Bitcoin ETF flows, and corporate Bitcoin treasuries.81,243 npm5MIT
- AlicenseAqualityDmaintenanceBitcoin market intelligence MCP server. Exposes Signal Lord's composite gauge scoring, on-chain and macro regime signals, and market data to AI agents.269 npm1MIT
- AlicenseAqualityDmaintenanceNarrative & signal intelligence for AI agents: crypto/AI/macro convergence & divergence.21MIT
- AlicenseAqualityDmaintenanceOn-chain stablecoin market cap and Bitcoin institutional holdings data.12MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.