SatoshiMacro Market Data
Server Details
Live crypto cycle data: 48-signal Bitcoin cycle model, Bitcoin ETF flows, ASX ETFs, altseason
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool targets a distinct market-data category, but get_market_snapshot overlaps with all five specific tools by bundling their key outputs. The snapshot description clarifies its aggregate role, so misselection risk is limited but present.
All tools follow a consistent get_ + snake_case noun phrase pattern. The naming is predictable and clearly indicates read-only data retrieval.
Six tools is well-scoped for a focused market-data server. Each tool covers a distinct dashboard or indicator family without obvious bloat or thinness.
The surface covers major SatoshiMacro metrics: cycle indicators, SMM scores, ETF flows, altcoin season, ASX Bitcoin ETFs, and an aggregate snapshot. Minor gaps include no standalone Crypto Fear & Greed Index tool and no configurable historical range, though agents can work around these via snapshot and included history fields.
Available Tools
6 toolsget_altcoin_seasonAltcoin Season IndexARead-onlyIdempotentInspect
Current Altcoin Season Index (0-100: share of the top 50 coins that beat Bitcoin over 90 days; 75+ is altcoin season, 25 or below is Bitcoin season) and the last 12 month-end readings.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuine context beyond them: the metric's construction (top 50 coins, 90-day window) and the interpretive thresholds for altcoin vs Bitcoin season, plus the return window of 12 month-end readings. No pagination or freshness caveats, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the resource name and metric definition, followed by the returned window. Every clause (scale, sample, lookback, thresholds, history length) carries information an agent needs; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 carries the burden of describing return values, and it does: a current 0-100 reading plus 12 month-end readings. Combined with threshold interpretation and full annotation coverage, an agent has everything needed to call and interpret this zero-arg read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4 and there is nothing for the description to clarify. It correctly does not invent parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Altcoin Season Index) and defines it operationally: 0-100 scale, share of the top 50 coins beating Bitcoin over 90 days, with explicit 75+/25- thresholds. That level of precision makes it unmistakable against siblings like get_market_snapshot or get_cycle_indicators, which cover different metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer you call this when you need the altcoin-vs-Bitcoin rotation reading, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g., get_market_snapshot for broad market context). Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_australian_bitcoin_etfsAustralian Bitcoin ETFsARead-onlyIdempotentInspect
Month-end assets under management (AUD millions) of ASX-quoted spot Bitcoin ETFs (VBTC, BTXX, QBTC, IBIT) by fund, with fees and the previous month total.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the concrete scope of the returned dataset (AUM, fees, previous-month total), but says nothing about update cadence, currency assumptions beyond AUD, pagination, or freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the metric, unit, and scope, then enumerates the funds and accompanying fields. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields (AUM, fees, prior-month total) so the agent knows what to expect. It still omits update frequency and time coverage, but for a simple zero-parameter retrieval tool it is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There is no parameter semantics to clarify, and the description correctly spends its words on the returned data instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and what it returns: month-end AUM in AUD millions of named ASX-quoted spot Bitcoin ETFs (VBTC, BTXX, QBTC, IBIT), plus fees and prior-month total. However, it never distinguishes itself from the sibling get_bitcoin_etf_flows, which an agent could plausibly confuse with this dataset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no sibling is named as an alternative despite get_bitcoin_etf_flows covering a related domain. Usage must be inferred from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bitcoin_etf_flowsUS spot Bitcoin ETF flowsBRead-onlyIdempotentInspect
Net daily flows into US spot Bitcoin ETFs in USD millions: latest day by fund, 5-day and 30-day sums, and up to 30 daily totals.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of recent daily totals to return (default 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description usefully discloses the return shape (latest day by fund, 5-day and 30-day sums), which matters because there is no output schema, but it adds nothing about data freshness, lag, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence that front-loads the resource and then enumerates the returned aggregates. No filler, no repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only one parameter, the description carries the return-value burden and does it well by listing the aggregate windows. It leaves out freshness/timing and whether data is in USD millions only for totals or also per fund, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'days' parameter is fully documented there, so the baseline is 3. The phrase 'up to 30 daily totals' corroborates the schema's maximum of 30 but adds no new semantics such as what the default returns or ordering.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('net daily flows into US spot Bitcoin ETFs') and scopes it to USD millions and US spot funds, which implicitly separates it from the sibling get_australian_bitcoin_etfs. It stops short of naming an alternative explicitly, so an agent must infer the routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool returns but never says when to reach for it over get_market_snapshot, get_cycle_indicators, or the Australian ETF sibling. Usage is only implied by the subject matter, with no prerequisites or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cycle_indicatorsBitcoin cycle indicatorsARead-onlyIdempotentInspect
Latest Bitcoin cycle indicator readings (MVRV Z-Score proxy, Risk Metric, 200-week MA rate of change, Pi Cycle Bottom ratio) with percentile zones from the full price history, plus the BTC price in AUD and USD.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world scope, so the safety profile is covered. The description adds real value beyond that by disclosing the exact content of the response, including that percentile zones are computed from the full price history and that prices are given in both AUD and USD — meaningful behavioral context given there is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with what is returned and keeps the parenthetical indicator list tight. It is dense but every clause carries information; slightly heavy for one sentence but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and zero parameters, the description carries the burden of describing the return payload, and it does so adequately by naming the indicators, the zone basis, and the currency pairs. Freshness semantics (how often 'Latest' refreshes) are the only notable omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The description correctly implies a no-argument call by not referencing any inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and enumerates exactly which indicator readings it returns (MVRV Z-Score proxy, Risk Metric, 200-week MA rate of change, Pi Cycle Bottom ratio), so an agent knows precisely what data comes back. It does not, however, distinguish itself from the sibling get_cycle_model_reading, which sounds closely related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as get_cycle_model_reading or get_market_snapshot. The agent must infer from the name alone when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cycle_model_readingSatoshiMacro Model readingARead-onlyIdempotentInspect
Current SatoshiMacro Model (SMM) score for Bitcoin or Ethereum: a 0-100 market-cycle confluence score built from 48 weighted signals (cycle timing, valuation, sentiment, rotation, miner, macro), with its zone (Deep Value, Accumulation, Neutral, Caution, Distribution, Cycle Top), 7- and 30-day change, tier scores and 30-day history.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | BTC (default) or ETH |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe, read-only, idempotent, non-destructive profile, so the bar is lower. The description goes beyond them by disclosing the return composition: the 0-100 scale, the 48 weighted signal families, the six named zones, 7/30-day deltas, tier scores and a 30-day history.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that puts the core output (current score) first and then enumerates the secondary fields. Dense but every clause conveys real content; the parenthetical signal list is the only mildly heavy element.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description has to describe the return value, and it does so thoroughly (score, zone, deltas, tier scores, history). The only gap is routing guidance relative to the sibling cycle/market tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single enum parameter (BTC default or ETH), so the schema already carries the semantics. The description's mention of 'Bitcoin or Ethereum' only restates that, adding no format or constraint detail beyond the enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource (current SatoshiMacro Model score for BTC/ETH) and defines what the score actually is (0-100 confluence of 48 weighted signals). The scope and the asset coverage make it clearly distinguishable from siblings like get_cycle_indicators and get_market_snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'Current ... score' and the default-BTC parameter, but the description never states when to reach for this instead of get_cycle_indicators or get_market_snapshot. No exclusions or prerequisites are given, so the agent must infer routing from the names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_snapshotCrypto market-cycle snapshotARead-onlyIdempotentInspect
One-call summary: Bitcoin and Ethereum SMM scores and zones, BTC price (AUD/USD), Altcoin Season Index, latest US spot Bitcoin ETF flow, ASX Bitcoin ETF assets, and the Crypto Fear & Greed Index.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description's added value is disclosing exactly what data is bundled in the snapshot, which helps the agent decide when one call replaces several. It does not add anything about data freshness, latency, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the framing phrase 'One-call summary', followed by a dense but purposeful inventory of returns. Every listed item earns its place because there is no output schema to document the payload; the only minor cost is sentence length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing return contents, and it does so comprehensively across all six data families. Annotations cover the safety profile. Remaining gaps are minor: no indication of whether values are live/cached or how stale they may be, and no statement about the relationship to the sibling one-topic tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There are no parameter semantics to clarify, and the description correctly spends no words on inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-free but clear scope: 'One-call summary' that returns BTC/ETH SMM scores, price, Altcoin Season Index, ETF flows, and Fear & Greed. That is a concrete, unambiguous resource. It does not, however, explicitly differentiate itself from siblings like get_altcoin_season or get_bitcoin_etf_flows, which appear to return subsets of the same data — an agent must infer the aggregation relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'One-call summary' implies the usage pattern (fetch everything at once instead of calling each sibling individually), which is a genuine hint. But there is no explicit when-to-use/when-not statement, no guidance on calling this versus the individual sibling tools, and no note on freshness or cost of the bundled call.
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.
6 tool updates
- First observed
get_altcoin_season - First observed
get_australian_bitcoin_etfs - First observed
get_bitcoin_etf_flows - First observed
get_cycle_indicators - First observed
get_cycle_model_reading - First observed
get_market_snapshot
Related MCP Connectors
Bitcoin and macro market briefings for AI agents: trend signals, regimes, liquidity and ETF flows.
Live spot crypto ETF flows for 16 assets, CEFI sentiment index and prices.
Crypto backtesting & Bitcoin cycle analytics. Point-in-time, DSR-corrected, look-ahead-aware.
Live crypto market data: prices, funding, OI, liquidations, regimes, GEX, whales, sentiment, macro.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceDaily Bitcoin/crypto cycle scoring, on-chain indicators, strategy insights, on-demand backtests. Bearer + x402 pay-per-callMIT
- AlicenseAqualityBmaintenancePre-reasoned Bitcoin and macro market briefings with trend signals, confidence scores, and regime classification. 17 briefings covering BTC, Fed balance sheet, M2, Treasury yields, and cross-asset correlations.7157 npm5MIT
- AlicenseAqualityDmaintenanceNarrative & signal intelligence for AI agents: crypto/AI/macro convergence & divergence.21MIT
- AlicenseAqualityCmaintenanceOn-chain stablecoin market cap and Bitcoin institutional holdings data.12MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.