protogrid

Search / com.mooncatcherwire/wire

Mooncatcher Wire

R0· no sign-in

Free crypto news for agents: top stories by market impact, search, topics, AI digest.

v1.0.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality72needs work
Trust83of 100
Uptime, 30 days100%
Latency p50191 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "wire": {
      "type": "http",
      "url": "https://mooncatcherwire.com/mcp"
    }
  }
}
claude mcp add --transport http wire https://mooncatcherwire.com/mcp
[mcp_servers.wire]
url = "https://mooncatcherwire.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "wire": {
      "type": "remote",
      "url": "https://mooncatcherwire.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "wire": {
      "type": "http",
      "url": "https://mooncatcherwire.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=wire&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbW9vbmNhdGNoZXJ3aXJlLmNvbS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "wire": {
      "type": "http",
      "url": "https://mooncatcherwire.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "wire": {
      "httpUrl": "https://mooncatcherwire.com/mcp"
    }
  }
}
extensions:
  "wire":
    enabled: true
    name: "wire"
    type: streamable_http
    uri: "https://mooncatcherwire.com/mcp"
    timeout: 300

Quality 72 / 100needs work

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length5 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations12 of 12 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,265 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes33 tool changes in 30 days
  • fail
    stability.rug_pull2 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

12 tools, about 3,265 tokens to load them all · tool set 65de80c224b4 · tools last changed 2026-10-19 · checked 2026-10-19 10:52 UTC

Tool changes

  • mcw-signals-thesischangeddescription
    before

    Bitcoin only, beta. The bull, base and bear cases for three horizons (scalp, short and long), as the Signals page's Thesis tab shows them. For each horizon: `most_probable_arm`, TSP's own most probable case (bull, base, bear or none; null when not known), with `probabilities_tie` true when two or more cases share the highest probability, and TSP's pick among them then its own tie-break (null when a probability is missing); `dominant_case`, TSP's own label: the highest-probability case with price levels (bull, base, bear or none; null when not known; the levels themselves are not published), so it can name a different case from the most probable one; the aggregate confidence; and each case's action, its probability, whether it has a signal for its direction (`has_signal`) and whether TSP marks it degenerate. Each horizon's inputs are judged at the moment of the answer, each series against its own cadence (judged_on[].cadence_check, and stale per input family; ETF flows by two days since their row was written). `horizon_timeframes` names the timeframe analyses each horizon is built from, and `timeframes` holds their rows, each with its own analyzed_at. Direction and probability only: no entry, target or stop is published, nor any of TSP's reasoning text. Not investment advice.

    after · 92% of words in common

    Bitcoin only, beta. The bull, base and bear cases for three horizons (scalp, short and long), as the Signals page's Thesis tab shows them. For each horizon: `most_probable_arm`, TSP's own most probable case (bull, base, bear or none; null when not known), with `probabilities_tie` true when two or more cases share the highest probability, and TSP's pick among them then its own tie-break (null when a probability is missing); `dominant_case`, TSP's own label: the highest-probability case with price levels (bull, base, bear or none; null when not known; the levels themselves are not published), so it can name a different case from the most probable one; the aggregate confidence; and each case's action, its probability, whether it has a signal for its direction (`has_signal`) and whether TSP marks it degenerate. Each horizon's inputs are judged at the moment of the answer, each series against its own cadence (judged_on[].cadence_check, and stale per input family; ETF flows by two days since their row was written). `horizon_timeframes` names the timeframe analyses each horizon is built from, and `timeframes` holds their rows, each with its own analyzed_at and `cadence_check` (its `ok` false past half an hour, three of TSP's ten-minute re-runs). Direction and probability only: no entry, target or stop is published, nor any of TSP's reasoning text. Not investment advice.

  • mcw-signals-chartschangeddescription
    before

    Bitcoin only, beta. One timeframe's analysis, its OHLCV candles and the support, resistance and FBB band levels the analysis lists. `granularity` names the bars: 2H, 6H, 8H and 12H are built from TSP's 1h bars, and 1m, 3m, 5m and 15m have levels only, no bars (the finest bars the Signals run takes from TSP are 30m); `note` says so. A built series is judged on the 1h bars it is built from: its health and its freshness are the 1h series' (source_newest_bar_at and source_interval_ms say which bar and cadence). `bars` defaults to the newest 50 and accepts up to 200. The newest bar can carry a partial flag: when true it was read before it closed, ingested_at says when (null if not known), and its high, low and close are as of then. When TSP also marks it live, it has no ingested_at: its high, low and close are a live sample TSP took at as_of (null if not known; extremes is TSP's word for how its high and low were taken, sampled or null), and volume_ingested_at says when its volume was recorded (null if not known). On a built series, live, as_of and volume_ingested_at are its last 1h bar's: only its close is that sample, its high and low span the 1h bars it holds (extremes null), and its volume is their sum. A bar TSP makes from its sample before that interval's bar is recorded is left out, so a series ends at its newest recorded bar: partial is true there when TSP moved its flag from it onto the bar it made, or left it unlabelled with its volume recorded before it closed. Levels, not a trade plan. Not investment advice.

    after · 89% of words in common

    Bitcoin only, beta. One timeframe's analysis, its OHLCV candles and the support, resistance and FBB band levels the analysis lists. The analysis carries its own analyzed_at and `cadence_check` (its `ok` false past half an hour, three of TSP's ten-minute re-runs). `granularity` names the bars: 2H, 6H, 8H and 12H are built from TSP's 1h bars, and 1m, 3m, 5m and 15m have levels only, no bars (the finest bars the Signals run takes from TSP are 30m); `note` says so. A built series is judged on the 1h bars it is built from: its health and its freshness are the 1h series' (source_newest_bar_at and source_interval_ms say which bar and cadence). `bars` defaults to the newest 50 and accepts up to 200. The newest bar can carry a partial flag: when true it was read before it closed, ingested_at says when (null if not known), and its high, low and close are as of then. When TSP also marks it live, it has no ingested_at: its high, low and close are a live sample TSP took at as_of (null if not known; extremes is TSP's word for how its high and low were taken, sampled or null), and volume_ingested_at says when its volume was recorded (null if not known). On a built series, live, as_of and volume_ingested_at are its last 1h bar's: only its close is that sample, its high and low span the 1h bars it holds (extremes null), and its volume is their sum. A bar TSP makes from its sample before that interval's bar is recorded is left out, so a series ends at its newest recorded bar: partial is true there when TSP moved its flag from it onto the bar it made, or left it unlabelled with its volume recorded before it closed. Levels, not a trade plan. Not investment advice.

  • mcw-signals-overviewchangeddescription
    before

    Bitcoin only, beta. The BTC spot price with the change TSP reports beside it (`spot.delta_pct`, in percent; TSP says it is the exchange-reported change over a rolling day), the trend, direction and confidence on each of thirteen timeframes with their consensus, each timeframe's direction recomputed every minute (`live`), the bull, base and bear cases with their probabilities for three horizons (TSP's own labels for them, `most_probable_arm` and `dominant_case`, are defined in mcw-signals-thesis), and support and resistance by how often they recur. Direction and confidence only: no entry, target or stop is published. Every value carries its own observed time, and `freshness` says how old the snapshot is. Each horizon's inputs are judged at the moment of the answer, each series against its own cadence (judged_on[].cadence_check, and stale per input family; ETF flows by two days since their row was written, as stopped_refreshing judges them). TSP re-runs its timeframe rows only hourly (1m to 4H) or six-hourly (6H to 1W); `live.timeframes` gives each timeframe's direction recomputed every minute from candles by TSP's own rule (the live price against the mean of the last 20 closes; `distance_pct` is how far from it, in percent), or a null direction with `why`. `live.age_s` is its price's age (roughly 100 to 170 s on a working lane: the price is dated by its own one-minute bar, not when it was read) and `live.stale` is true past five minutes, judged at the moment of the answer; `live` is null when none is stored. Not investment advice.

    after · 89% of words in common

    Bitcoin only, beta. The BTC spot price with the change TSP reports beside it (`spot.delta_pct`, in percent; TSP says it is the exchange-reported change over a rolling day), the trend, direction and confidence on each of thirteen timeframes with their consensus, each timeframe's direction recomputed every minute (`live`), the bull, base and bear cases with their probabilities for three horizons (TSP's own labels for them, `most_probable_arm` and `dominant_case`, are defined in mcw-signals-thesis), and support and resistance by how often they recur. Direction and confidence only: no entry, target or stop is published. Every value carries its own observed time, and `freshness` says how old the snapshot is. Each horizon's inputs are judged at the moment of the answer, each series against its own cadence (judged_on[].cadence_check, and stale per input family; ETF flows by two days since their row was written, as stopped_refreshing judges them). TSP re-runs its timeframe rows about every ten minutes, though a round is sometimes skipped, and each row's `cadence_check` judges its analysis against that at the moment of the answer, its `ok` false past half an hour, three re-runs; `live.timeframes` gives each timeframe's direction recomputed every minute from candles by TSP's own rule (the live price against the mean of the last 20 closes; `distance_pct` is how far from it, in percent), or a null direction with `why`. `live.age_s` is its price's age (roughly 100 to 170 s on a working lane: the price is dated by its own one-minute bar, not when it was read) and `live.stale` is true past five minutes, judged at the moment of the answer; `live` is null when none is stored. Not investment advice.

  • mcw-signals-overviewchangeddescription
    before

    Bitcoin only, beta. The BTC spot price with the change TSP reports beside it (`spot.delta_pct`, in percent; TSP says it is the exchange-reported change over a rolling day), the trend, direction and confidence on each of thirteen timeframes with their consensus, the bull, base and bear cases with their probabilities for three horizons (TSP's own labels for them, `most_probable_arm` and `dominant_case`, are defined in mcw-signals-thesis), and support and resistance by how often they recur. Direction and confidence only: no entry, target or stop is published. Every value carries its own observed time, and `freshness` says how old the snapshot is. Each horizon's inputs are judged at the moment of the answer, each series against its own cadence (judged_on[].cadence_check, and stale per input family; ETF flows by two days since their row was written, as stopped_refreshing judges them). Not investment advice.

    after · 72% of words in common

    Bitcoin only, beta. The BTC spot price with the change TSP reports beside it (`spot.delta_pct`, in percent; TSP says it is the exchange-reported change over a rolling day), the trend, direction and confidence on each of thirteen timeframes with their consensus, each timeframe's direction recomputed every minute (`live`), the bull, base and bear cases with their probabilities for three horizons (TSP's own labels for them, `most_probable_arm` and `dominant_case`, are defined in mcw-signals-thesis), and support and resistance by how often they recur. Direction and confidence only: no entry, target or stop is published. Every value carries its own observed time, and `freshness` says how old the snapshot is. Each horizon's inputs are judged at the moment of the answer, each series against its own cadence (judged_on[].cadence_check, and stale per input family; ETF flows by two days since their row was written, as stopped_refreshing judges them). TSP re-runs its timeframe rows only hourly (1m to 4H) or six-hourly (6H to 1W); `live.timeframes` gives each timeframe's direction recomputed every minute from candles by TSP's own rule (the live price against the mean of the last 20 closes; `distance_pct` is how far from it, in percent), or a null direction with `why`. `live.age_s` is its price's age (roughly 100 to 170 s on a working lane: the price is dated by its own one-minute bar, not when it was read) and `live.stale` is true past five minutes, judged at the moment of the answer; `live` is null when none is stored. Not investment advice.

  • mcw-signals-sentimentchangeddescription
    before

    Bitcoin only, beta. TSP's sentiment readings for BTC, each with its own time and none combined with another. `hourly`: TSP's rollup across its sources, not scoped to one org, its newest hourly buckets (up to 48), each with its `hour`, `mean_sentiment`, `stddev_sentiment` and `sample_count`; a bucket with fewer than `thin_below` readings is thin; a null mean is no data, never 0; an hour with no readings has no bucket; TSP rewrites an hour after it closes, and `newest_bucket_open` says whether the newest is still open at the moment of the answer. `ema`: TSP's 24-hour EMA of that rollup, each point with its `hour` and the `computed_at` TSP gives it. A score outside -1 to 1 is published as null: that is the Wire's filter, not a scale TSP states. `news_index`: TSP's own daily news index (0 to 100, 100 = extreme greed), with TSP's label and `article_count`; a day with too few articles has a null value, never a low one. `blend`: TSP's blend, the `weighted_sentiment`, `confidence` and `source_count` of its canonical row over that row's own window (`window_start` to `window_end`); it is not a combination of the indexes. The hourly, EMA and news blocks each carry their own `cadence_check`, and the blend its `age_s` and `stale`, judged at the moment of the answer. By default each series is the newest 3 points; the answer's `history` block reports how many older points were left out. Set `history` to true for the full stored series. Not investment advice.

    after · 93% of words in common

    Bitcoin only, beta. TSP's sentiment readings for BTC, each with its own time and none combined with another. `hourly`: TSP's hourly rollup (TSP says its sentiment is global by design: one TSP-wide series, not scoped to one org), its newest hourly buckets (up to 48), each with its `hour`, `mean_sentiment`, `stddev_sentiment` and `sample_count`; a bucket with fewer than `thin_below` readings is thin; a null mean is no data, never 0; an hour with no readings has no bucket; TSP rewrites an hour after it closes, and `newest_bucket_open` says whether the newest is still open at the moment of the answer. `ema`: TSP's 24-hour EMA of that rollup, each point with its `hour` and the `computed_at` TSP gives it. TSP says the scores run roughly -1 to 1; a score outside -1 to 1 is published as null (the Wire's filter). `news_index`: TSP's own daily news index (0 to 100, 100 = extreme greed), with TSP's label and `article_count`; a day with too few articles has a null value, never a low one. `blend`: TSP's blend, the `weighted_sentiment`, `confidence` and `source_count` of its canonical row over that row's own window (`window_start` to `window_end`); it is not a combination of the indexes. The hourly, EMA and news blocks each carry their own `cadence_check`, and the blend its `age_s` and `stale`, judged at the moment of the answer. By default each series is the newest 3 points; the answer's `history` block reports how many older points were left out. Set `history` to true for the full stored series. Not investment advice.

  • mcw-signals-overviewchangeddescription
    before

    Bitcoin only, beta. The BTC spot price with the change TSP reports beside it (`spot.delta_pct`, in percent; TSP does not say over what period), the trend, direction and confidence on each of thirteen timeframes with their consensus, the bull, base and bear cases with their probabilities for three horizons (TSP's own labels for them, `most_probable_arm` and `dominant_case`, are defined in mcw-signals-thesis), and support and resistance by how often they recur. Direction and confidence only: no entry, target or stop is published. Every value carries its own observed time, and `freshness` says how old the snapshot is. Each horizon's inputs are judged at the moment of the answer, each series against its own cadence (judged_on[].cadence_check, and stale per input family; ETF flows by two days since their row was written, as stopped_refreshing judges them). Not investment advice.

    after · 92% of words in common

    Bitcoin only, beta. The BTC spot price with the change TSP reports beside it (`spot.delta_pct`, in percent; TSP says it is the exchange-reported change over a rolling day), the trend, direction and confidence on each of thirteen timeframes with their consensus, the bull, base and bear cases with their probabilities for three horizons (TSP's own labels for them, `most_probable_arm` and `dominant_case`, are defined in mcw-signals-thesis), and support and resistance by how often they recur. Direction and confidence only: no entry, target or stop is published. Every value carries its own observed time, and `freshness` says how old the snapshot is. Each horizon's inputs are judged at the moment of the answer, each series against its own cadence (judged_on[].cadence_check, and stale per input family; ETF flows by two days since their row was written, as stopped_refreshing judges them). Not investment advice.

  • mcw-signals-chartschangeddescription
    before

    Bitcoin only, beta. One timeframe's analysis, its OHLCV candles and the support, resistance and FBB band levels the analysis lists. `granularity` names the bars: 2H, 6H, 8H and 12H are built from TSP's 1h bars, and 1m, 3m, 5m and 15m have levels only, no bars (the finest bars the Signals run takes from TSP are 30m); `note` says so. `bars` defaults to the newest 50 and accepts up to 200. The newest bar can carry a partial flag: when true it was read before it closed, ingested_at says when (null if not known), and its high, low and close are as of then. When TSP also marks it live, it has no ingested_at: its high, low and close are a live sample TSP took at as_of (null if not known; extremes is TSP's word for how its high and low were taken, sampled or null), and volume_ingested_at says when its volume was recorded (null if not known). A bar TSP makes from its sample before that interval's bar is recorded is left out, so a series ends at its newest recorded bar: partial is true there when TSP moved its flag from it onto the bar it made, or left it unlabelled with its volume recorded before it closed. Levels, not a trade plan. Not investment advice.

    after · 89% of words in common

    Bitcoin only, beta. One timeframe's analysis, its OHLCV candles and the support, resistance and FBB band levels the analysis lists. `granularity` names the bars: 2H, 6H, 8H and 12H are built from TSP's 1h bars, and 1m, 3m, 5m and 15m have levels only, no bars (the finest bars the Signals run takes from TSP are 30m); `note` says so. A built series is judged on the 1h bars it is built from: its health and its freshness are the 1h series' (source_newest_bar_at and source_interval_ms say which bar and cadence). `bars` defaults to the newest 50 and accepts up to 200. The newest bar can carry a partial flag: when true it was read before it closed, ingested_at says when (null if not known), and its high, low and close are as of then. When TSP also marks it live, it has no ingested_at: its high, low and close are a live sample TSP took at as_of (null if not known; extremes is TSP's word for how its high and low were taken, sampled or null), and volume_ingested_at says when its volume was recorded (null if not known). On a built series, live, as_of and volume_ingested_at are its last 1h bar's: only its close is that sample, its high and low span the 1h bars it holds (extremes null), and its volume is their sum. A bar TSP makes from its sample before that interval's bar is recorded is left out, so a series ends at its newest recorded bar: partial is true there when TSP moved its flag from it onto the bar it made, or left it unlabelled with its volume recorded before it closed. Levels, not a trade plan. Not investment advice.

  • mcw-signals-sentimentadded

    Bitcoin only, beta. TSP's sentiment readings for BTC, each with its own time and none combined with another. `hourly`: TSP's rollup across its sources, not scoped to one org, its newest hourly buckets (up to 48), each with its `hour`, `mean_sentiment`, `stddev_sentiment` and `sample_count`; a bucket with fewer than `thin_below` readings is thin; a null mean is no data, never 0; an hour with no readings has no bucket; TSP rewrites an hour after it closes, and `newest_bucket_open` says whether the newest is still open at the moment of the answer. `ema`: TSP's 24-hour EMA of that rollup, each point with its `hour` and the `computed_at` TSP gives it. A score outside -1 to 1 is published as null: that is the Wire's filter, not a scale TSP states. `news_index`: TSP's own daily news index (0 to 100, 100 = extreme greed), with TSP's label and `article_count`; a day with too few articles has a null value, never a low one. `blend`: TSP's blend, the `weighted_sentiment`, `confidence` and `source_count` of its canonical row over that row's own window (`window_start` to `window_end`); it is not a combination of the indexes. The hourly, EMA and news blocks each carry their own `cadence_check`, and the blend its `age_s` and `stale`, judged at the moment of the answer. By default each series is the newest 3 points; the answer's `history` block reports how many older points were left out. Set `history` to true for the full stored series. Not investment advice.

  • mcw-signals-metachangeddescription
    before

    Bitcoin only, beta. When the BTC signals snapshot was made, how old its newest value is, whether it is degraded and why, and every source with its own observed time and whether it was carried from an earlier run. Also the beta and not-advice notice. It is the only one of the signals tools that is purely about the age of the data.

    after · 57% of words in common

    Bitcoin only, beta. When the BTC signals snapshot was made, how old its newest value is, whether it is degraded and why, and every source with its own observed time and whether it was carried from an earlier run. Also the beta and not-advice notice. It is the only one of the signals tools that is purely about the age of the data. Also TSP's own verdict on each BTC price feed (`feed_freshness`: `tsp_status` fresh, stale, errored or null, as of `verdict_at`, and `last_updated_at`, when TSP last wrote it) beside the Wire's own verdict for the same series (`wire_check`), with `verdicts_differ` true when the two disagree; neither replaces the other.

  • mcw-signals-market-datachangeddescription
    before

    Bitcoin only, beta. The BTC derivatives market: funding, open interest, liquidations, long/short, taker volume, ETF flows, options max pain and a fear and greed index (0 to 100, 100 = extreme greed), each with its own observed time and cadence. Open interest comes for one contract (`instrument`, its venue in `exchange`) and for several together: `contracts` lists the perpetual contracts in that one figure, `contracts_unlisted` counts any leg it does not name, and `includes_single_contract` says whether the one contract is among them; a venue not shown here is null. `flow.retail` is the all-accounts long/short ratio (the global account ratio, by number of accounts), set against the top-trader position ratio. A pending ETF day has a null flow, never 0, whatever TSP's own word for it (tsp_status: reported, provisional or null). Clock verdicts (cadence_check, open_bucket.closed, stopped_refreshing, max pain's nearest expiry) are judged at the moment of the answer. By default the latest reading of every metric is complete and the back-history beside it is the newest 3 points per series; the answer's `history` block reports how many older points were left out. Set `history` to true for the full stored series. Not investment advice.

    after · 76% of words in common

    Bitcoin only, beta. The BTC derivatives market: funding, open interest, liquidations, long/short, taker volume, ETF flows, options max pain and two fear and greed indexes from two publishers (each 0 to 100, 100 = extreme greed; `fear_greed` and `fear_greed_alternative`, each with its own reading, label and date, never averaged or combined), each with its own observed time and cadence. `stats` is TSP's open, high, low, close and range over its latest hourly bars, from `window_start` to `window_end` (TSP's window, not always 24 hours): `newest_partial` is true when the newest hour was still open when TSP read it, at `as_of` (null when not known), and `newest_bar_open` says whether it is open at the moment of the answer. Open interest comes for one contract (`instrument`, its venue in `exchange`) and for several together: `contracts` lists the perpetual contracts in that one figure, `contracts_unlisted` counts any leg it does not name, and `includes_single_contract` says whether the one contract is among them; a venue not shown here is null. `flow.retail` is the all-accounts long/short ratio (the global account ratio, by number of accounts), set against the top-trader position ratio. A pending ETF day has a null flow, never 0, whatever TSP's own word for it (tsp_status: reported, provisional or null). Clock verdicts (cadence_check, open_bucket.closed, newest_bar_open, stopped_refreshing, max pain's nearest expiry) are judged at the moment of the answer. By default the latest reading of every metric is complete and the back-history beside it is the newest 3 points per series; the answer's `history` block reports how many older points were left out. Set `history` to true for the full stored series. TSP's sentiment readings are in mcw-signals-sentiment, and its verdict on each price feed in mcw-signals-meta. Not investment advice.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-21d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mooncatcherwire.com/mcp streamable-httpnoneyes100%191 ms2025-06-182026-10-19

Tools (12)

mcw-get-boardread-onlyThe current crypto news board: mood, counts, the top stories by market impact, and the AI digest. This is what www.mooncatcherwire.com shows.
mcw-get-digestread-onlyThe AI-written market digest for the current board: overview, the bull/neutral/bear split, per-ticker takeaways and the clustered highlights.
mcw-get-storyread-onlyOne story in full by its id, including TSP's own review state and the Moon Catcher Wire editor state if one has been set.
mcw-list-storiesread-onlyStories with filters. `ticker` matches TSP's ticker tags (BTC, ETH, SOL…). `topic` matches a Moon Catcher Wire topic (see mcw-list-topics) — these are OUR keyword rules, not TSP's, because TSP has no topic model. `since_hours` bounds by publication time. `breaking_only` keeps just the high-impact wires.
mcw-list-topicsread-onlyThe Moon Catcher Wire topics and the rules behind them. These are ours: TSP classifies only by ticker, so a topic like "ai" is not representable upstream and is a keyword rule over the headline and summary here.
mcw-searchread-onlyCase-insensitive search over headlines and summaries of the current board. A query that equals a ticker tag (BTC, ETH, SOL…) also finds every story tagged with it.
mcw-signals-chartsread-onlyBitcoin only, beta. One timeframe's analysis, its OHLCV candles and the support, resistance and FBB band levels the analysis lists. The analysis carries its own analyzed_at and `cadence_check` (its `ok` false past half an hour, three of TSP's ten-minute re-runs). `granularity` names the bars: 2H, 6H, 8H and 12H are built from TSP's 1h bars, and 1m, 3m, 5m and 15m have levels only, no bars (the finest bars the Signals run takes from TSP are 30m); `note` says so. A built series is judged on the 1h bars it is built from: its health and its freshness are the 1h series' (source_newest_bar_at and source_interval_ms say which bar and cadence). `bars` defaults to the newest 50 and accepts up to 200. The newest bar can carry a partial flag: when true it was read before it closed, ingested_at says when (null if not known), and its high, low and close are as of then. When TSP also marks it live, it has no ingested_at: its high, low and close are a live sample TSP took at as_of (null if not known; extremes is TSP's word for how its high and low were taken, sampled or null), and volume_ingested_at says when its volume was recorded (null if not known). On a built series, live, as_of and volume_ingested_at are its last 1h bar's: only its close is that sample, its high and low span the 1h bars it holds (extremes null), and its volume is their sum. A bar TSP makes from its sample before that interval's bar is recorded is left out, so a series ends at its newest recorded bar: partial is true there when TSP moved its flag from it onto the bar it made, or left it unlabelled with its volume recorded before it closed. Levels, not a trade plan. Not investment advice.
mcw-signals-market-dataread-onlyBitcoin only, beta. The BTC derivatives market: funding, open interest, liquidations, long/short, taker volume, ETF flows, options max pain and two fear and greed indexes from two publishers (each 0 to 100, 100 = extreme greed; `fear_greed` and `fear_greed_alternative`, each with its own reading, label and date, never averaged or combined), each with its own observed time and cadence. `stats` is TSP's open, high, low, close and range over its latest hourly bars, from `window_start` to `window_end` (TSP's window, not always 24 hours): `newest_partial` is true when the newest hour was still open when TSP read it, at `as_of` (null when not known), and `newest_bar_open` says whether it is open at the moment of the answer. Open interest comes for one contract (`instrument`, its venue in `exchange`) and for several together: `contracts` lists the perpetual contracts in that one figure, `contracts_unlisted` counts any leg it does not name, and `includes_single_contract` says whether the one contract is among them; a venue not shown here is null. `flow.retail` is the all-accounts long/short ratio (the global account ratio, by number of accounts), set against the top-trader position ratio. A pending ETF day has a null flow, never 0, whatever TSP's own word for it (tsp_status: reported, provisional or null). Clock verdicts (cadence_check, open_bucket.closed, newest_bar_open, stopped_refreshing, max pain's nearest expiry) are judged at the moment of the answer. By default the latest reading of every metric is complete and the back-history beside it is the newest 3 points per series; the answer's `history` block reports how many older points were left out. Set `history` to true for the full stored series. TSP's sentiment readings are in mcw-signals-sentiment, and its verdict on each price feed in mcw-signals-meta. Not investment advice.
mcw-signals-metaread-onlyBitcoin only, beta. When the BTC signals snapshot was made, how old its newest value is, whether it is degraded and why, and every source with its own observed time and whether it was carried from an earlier run. Also the beta and not-advice notice. It is the only one of the signals tools that is purely about the age of the data. Also TSP's own verdict on each BTC price feed (`feed_freshness`: `tsp_status` fresh, stale, errored or null, as of `verdict_at`, and `last_updated_at`, when TSP last wrote it) beside the Wire's own verdict for the same series (`wire_check`), with `verdicts_differ` true when the two disagree; neither replaces the other.
mcw-signals-overviewread-onlyBitcoin only, beta. The BTC spot price with the change TSP reports beside it (`spot.delta_pct`, in percent; TSP says it is the exchange-reported change over a rolling day), the trend, direction and confidence on each of thirteen timeframes with their consensus, each timeframe's direction recomputed every minute (`live`), the bull, base and bear cases with their probabilities for three horizons (TSP's own labels for them, `most_probable_arm` and `dominant_case`, are defined in mcw-signals-thesis), and support and resistance by how often they recur. Direction and confidence only: no entry, target or stop is published. Every value carries its own observed time, and `freshness` says how old the snapshot is. Each horizon's inputs are judged at the moment of the answer, each series against its own cadence (judged_on[].cadence_check, and stale per input family; ETF flows by two days since their row was written, as stopped_refreshing judges them). TSP re-runs its timeframe rows about every ten minutes, though a round is sometimes skipped, and each row's `cadence_check` judges its analysis against that at the moment of the answer, its `ok` false past half an hour, three re-runs; `live.timeframes` gives each timeframe's direction recomputed every minute from candles by TSP's own rule (the live price against the mean of the last 20 closes; `distance_pct` is how far from it, in percent), or a null direction with `why`. `live.age_s` is its price's age (roughly 100 to 170 s on a working lane: the price is dated by its own one-minute bar, not when it was read) and `live.stale` is true past five minutes, judged at the moment of the answer; `live` is null when none is stored. Not investment advice.
mcw-signals-sentimentread-onlyBitcoin only, beta. TSP's sentiment readings for BTC, each with its own time and none combined with another. `hourly`: TSP's hourly rollup (TSP says its sentiment is global by design: one TSP-wide series, not scoped to one org), its newest hourly buckets (up to 48), each with its `hour`, `mean_sentiment`, `stddev_sentiment` and `sample_count`; a bucket with fewer than `thin_below` readings is thin; a null mean is no data, never 0; an hour with no readings has no bucket; TSP rewrites an hour after it closes, and `newest_bucket_open` says whether the newest is still open at the moment of the answer. `ema`: TSP's 24-hour EMA of that rollup, each point with its `hour` and the `computed_at` TSP gives it. TSP says the scores run roughly -1 to 1; a score outside -1 to 1 is published as null (the Wire's filter). `news_index`: TSP's own daily news index (0 to 100, 100 = extreme greed), with TSP's label and `article_count`; a day with too few articles has a null value, never a low one. `blend`: TSP's blend, the `weighted_sentiment`, `confidence` and `source_count` of its canonical row over that row's own window (`window_start` to `window_end`); it is not a combination of the indexes. The hourly, EMA and news blocks each carry their own `cadence_check`, and the blend its `age_s` and `stale`, judged at the moment of the answer. By default each series is the newest 3 points; the answer's `history` block reports how many older points were left out. Set `history` to true for the full stored series. Not investment advice.
mcw-signals-thesisread-onlyBitcoin only, beta. The bull, base and bear cases for three horizons (scalp, short and long), as the Signals page's Thesis tab shows them. For each horizon: `most_probable_arm`, TSP's own most probable case (bull, base, bear or none; null when not known), with `probabilities_tie` true when two or more cases share the highest probability, and TSP's pick among them then its own tie-break (null when a probability is missing); `dominant_case`, TSP's own label: the highest-probability case with price levels (bull, base, bear or none; null when not known; the levels themselves are not published), so it can name a different case from the most probable one; the aggregate confidence; and each case's action, its probability, whether it has a signal for its direction (`has_signal`) and whether TSP marks it degenerate. Each horizon's inputs are judged at the moment of the answer, each series against its own cadence (judged_on[].cadence_check, and stale per input family; ETF flows by two days since their row was written). `horizon_timeframes` names the timeframe analyses each horizon is built from, and `timeframes` holds their rows, each with its own analyzed_at and `cadence_check` (its `ok` false past half an hour, three of TSP's ten-minute re-runs). Direction and probability only: no entry, target or stop is published, nor any of TSP's reasoning text. Not investment advice.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.mooncatcherwire/wire",
  "title": "Mooncatcher Wire",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mooncatcherwire.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "websiteUrl": "https://www.mooncatcherwire.com/agents/",
  "description": "Free crypto news for agents: top stories by market impact, search, topics, AI digest."
}