{"name":"com.coinbucha/bitcoin-signals","slug":"coinbucha-bitcoin-signals","title":null,"description":"Leading non-price Bitcoin signals over MCP: sovereign, hiring, hashrate. Not financial advice.","url":"https://mcp.market/server/coinbucha-bitcoin-signals","rating":null,"grade":"A","score":87,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-08T17:16:03.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T12:30:45.200Z","last_ok_at":"2026-11-04T12:30:45.200Z","latency_ms":191},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/jukkablomberg/coinbucha-mcp","website":"https://coinbucha.com","version":"0.1.2","remotes":[{"type":"streamable-http","url":"https://coinbucha.com/api/mcp"}],"packages":[],"tools":[{"name":"get_bitcoin_company_calendar","description":"Next results dates and SEC 10-Q/10-K filing windows of listed bitcoin holders (MSTR, COIN, MARA, HOOD and others): dates and windows from issuer and exchange sources. Takes optional { ticker, days_ahead (1-60, default 60) }. Returns { as_of, today, days_ahead, ticker, count, available, truncated, events[], full, disclaimer, cite, data_contract }; up to 5 events, soonest first, each with ticker, issuer, event_type, event_name, date_status, source_url, checked and either event_date (an issuer-announced date) or window_start/window_end with the SEC rule (a statutory window — never a date). date_status is the record's, verbatim: announced_primary_confirmed, occurred_primary_confirmed or unknown_exact_date_statutory_window. Example: {\"ticker\": \"MSTR\"} or {\"days_ahead\": 14}. Every row with history, rule locators and recorded outcomes: the per-call x402 route /api/paid/calendar (USDC), named with its price in `full`; the same rows stay free as JSON and CSV. 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"type":"string","minLength":1,"maxLength":12,"description":"One ticker, e.g. MSTR, COIN, 3350"},"days_ahead":{"type":"integer","minimum":1,"maximum":60,"description":"How many days ahead to look (1-60, default 60)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_daily_brew","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_etf_flows","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_hiring_signal","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"company":{"type":"string","description":"Case-insensitive company filter"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_network_signal","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_signal_history","description":"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. Beyond that window: a cut answer carries `more`, naming the per-call x402 route /api/paid/signal-history (every signal's full series in one call, USDC) and whether it is open now; or data_contract.bulk_url names the free 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"signal_type":{"type":"string","enum":["sovereign_adoption","hiring_velocity","corporate_treasury","network_hashrate"],"description":"Which signal's history to return"},"days":{"type":"integer","minimum":1,"maximum":90,"description":"How many of the most recent dated points to return (1-90)"}},"required":["signal_type"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_sovereign_reserves","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string","description":"Country name or ISO code"},"tier":{"type":"integer","minimum":1,"maximum":5,"description":"Holding tier; 1 = largest holders"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_treasury_holdings","description":"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 }, and listed_exposure[] lists every company in the CoinBucha Listed Bitcoin record as { id, name, ticker, venue, status, btc, page, exposure, record_check } — exposure = { btc_per_share, usd_of_bitcoin_per_share, usd_of_bitcoin_per_1000_usd, btc_per_1000_usd, btc_pct_of_market_cap, as_of { holdings, shares, btc_usd_close, share_close } }, arithmetic on primary filings and closes. 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"scan_signals","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"min_strength":{"type":"number","minimum":0,"maximum":100,"description":"Only signals with strength >= this"},"direction":{"type":"string","enum":["tailwind","headwind","neutral"],"description":"Keep only signals carrying this direction label"},"signal_types":{"type":"array","items":{"type":"string"},"description":"e.g. ['sovereign_adoption','hiring_velocity']"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sovereign_diff","description":"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. The whole frozen series in one call: the per-call x402 route /api/paid/sovereign-snapshots (USDC); the per-date snapshot files stay free. 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Earlier snapshot date, YYYY-MM-DD"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Later snapshot date, YYYY-MM-DD"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":87,"grade":"A","scanned_at":"2026-11-03T19:42:26.559Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-03T19:42:26.537Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 758ms"]},"poisoning":{"score":15,"max":15,"notes":["10 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":12,"max":15,"notes":["last push 56 days ago"]},"identity":{"score":8,"max":10,"notes":["endpoint served from the registry-verified namespace domain"]}},"findings":[],"inputs":{"probes":[{"url":"https://coinbucha.com/api/mcp","reachable":true,"authRequired":false,"latencyMs":758,"serverInfo":{"name":"coinbucha","version":"0.1.2"}}],"packages":[],"repo":{"found":true,"owner":"jukkablomberg","repo":"coinbucha-mcp","archived":false,"pushedAt":"2026-09-08T17:16:03Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/22443011?v=4","ownerCreatedAt":"2016-09-26T08:14:33Z","license":"MIT"},"icon":{"url":"https://coinbucha.com/icon.png?4e9f5a0bd5d43a93","source":"registry","width":512,"height":512},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-08T17:16:03.000Z","score":18}}}},"grade_history":[],"reviews":[]}