Skip to main content
Glama

SatoshiMacro Market Data

Server Details

Live crypto cycle data: 48-signal Bitcoin cycle model, Bitcoin ETF flows, ASX ETFs, altseason

Ownership verified
Status
Healthy
Uptime
100.0% over 23 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.6/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct data slice (altcoin season, ASX ETF AUM, US ETF flows, individual cycle indicators, combined SMM score, and an overview), and the descriptions explicitly cross-reference each other to steer selection (e.g. get_cycle_indicators vs get_cycle_model_reading, ASX vs US ETFs). The only overlap is get_market_snapshot, which is clearly framed as a convenience aggregator with directions to use the specific tools for detail.

Naming Consistency5/5

All six tools follow a strict get_<subject> snake_case pattern (get_altcoin_season, get_bitcoin_etf_flows, get_cycle_model_reading, etc.), with no mixed conventions or vague verbs.

Tool Count5/5

Six tools is well-scoped for a read-only market data surface, with each tool covering a distinct metric group and the snapshot tool tying them together without redundancy.

Completeness4/5

The surface covers the main crypto-market metrics (cycle scores, indicators, ETF flows/AUM, altcoin season, prices), but Crypto Fear & Greed is only reachable through the snapshot tool, so an agent needing F&G history or a standalone query has no direct path. Historical access is also limited to the fixed windows each tool exposes.

Available Tools

6 tools
get_altcoin_seasonAltcoin Season IndexA
Read-onlyIdempotent
Inspect

Current Altcoin Season Index (0-100: share of the top 50 coins by market cap, stablecoins and wrapped tokens excluded, that beat Bitcoin over the trailing 90 days; 75 or above is altcoin season, 25 or below is Bitcoin season) with the count of outperforming coins, Bitcoin's 90-day change and the last 12 month-end readings. Use this when the user asks whether it is altcoin season or how altcoins are performing against Bitcoin. Refreshed daily; history is month-end only, computed point-in-time from that date's top-50 ranking.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the read-only/idempotent annotations, it discloses refresh cadence ('Refreshed daily'), a real history limitation ('history is month-end only'), and that history is 'computed point-in-time from that date's top-50 ranking' — exactly the kind of caveat an agent needs to avoid misreading the series.

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

Conciseness4/5

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

Front-loads the metric definition, then usage, then cadence caveats. The definition sentence is dense due to the nested parenthetical, but every clause (scale, exclusions, lookback, thresholds) carries meaning.

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

Completeness5/5

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

With no parameters, no output schema, and safety already covered by annotations, the description fully supplies the remaining burden: what the index means, what accompanying values are returned, how fresh the data is, and the history granularity.

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

Parameters4/5

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

The tool takes no parameters, so there is nothing for the description to disambiguate. Baseline for a zero-parameter tool is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource (Altcoin Season Index) and gives its exact scale, computation basis, exclusion rules, and thresholds. The verb/resource pairing plus the sibling set (ETF flows, cycle indicators, market snapshot) makes the scope unmistakable.

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

Usage Guidelines4/5

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

Explicitly states when to invoke it: 'Use this when the user asks whether it is altcoin season or how altcoins are performing against Bitcoin.' No alternatives or when-not-to-use cases are named, but the trigger conditions are clear.

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 ETFsA
Read-onlyIdempotent
Inspect

Month-end assets under management (AUD millions) of the spot Bitcoin ETFs quoted on the ASX (VBTC, BTXX, QBTC, IBIT), by fund with issuer and management fee, plus the previous month's total. Use this for questions about Australian Bitcoin ETFs, their size or fees. Monthly data from the ASX Investment Products report, published a few weeks after month end, so it lags; it does not cover US-listed ETFs (use get_bitcoin_etf_flows).

NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is low. The description adds genuinely useful operational context: the upstream source (ASX Investment Products report) and the publication lag ('published a few weeks after month end, so it lags'), which matters for freshness expectations. It stops short of stating pagination or exact return shape.

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

Conciseness5/5

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

Front-loads the data content, then usage, then the caveat and sibling pointer. Three sentences, each carrying distinct information, with no repetition of the title or annotations.

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

Completeness5/5

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

With no output schema, the description carries the burden of describing return content and does so (AUM by fund, issuer, management fee, plus prior-month total). Coverage boundaries, source and lag are all disclosed, leaving nothing an agent needs before calling it.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing to document and the baseline is 4. The description correctly implies a no-argument, fixed-scope retrieval.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource (month-end AUM of ASX-quoted spot Bitcoin ETFs), enumerates the covered tickers (VBTC, BTXX, QBTC, IBIT), and states the unit (AUD millions) and returned breakdown (by fund with issuer and management fee). An agent can distinguish it from get_bitcoin_etf_flows without opening any schema.

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

Usage Guidelines5/5

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

Explicit when-to-use ('questions about Australian Bitcoin ETFs, their size or fees') and explicit when-not-to-use with a named alternative ('does not cover US-listed ETFs (use get_bitcoin_etf_flows)'). Routing is fully determined.

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 flowsA
Read-onlyIdempotent
Inspect

Net daily flows into US spot Bitcoin ETFs in USD millions: the latest trading day split by fund (IBIT, FBTC, GBTC and others), 5-day and 30-day sums, and up to 30 recent daily totals (set days, default 10). Use this when the user asks about ETF inflows or outflows, institutional demand or a specific fund's flow. US trading days only, so weekends and US holidays have no entry; the latest day usually lags one US session. Flows only, not fund holdings or prices.

NameRequiredDescriptionDefault
daysNoNumber of recent daily totals to return (default 10)

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations (which only cover read-only/idempotent/safe) by disclosing data-availability behavior: US trading days only, no weekend/holiday entries, and a one-session publication lag for the latest day. That latency and gap information materially affects how an agent should call and interpret the tool.

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

Conciseness4/5

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

Front-loaded with purpose, then usage, then constraints and scope; no filler sentences. The opening sentence is dense with three comma-separated output clauses, which slightly reduces scannability but every clause carries information.

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

Completeness5/5

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

With no output schema, the description carries the return-value burden and does so: it names the per-fund breakdown, the 5-day/30-day sums, and the daily totals series. Data gaps (weekends/holidays) and freshness lag are also covered, so nothing needed to call it correctly is missing.

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

Parameters3/5

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

Schema coverage is 100% for the single 'days' parameter, so the schema already documents type, bounds (1-30) and default 10. The description restates the cap ('up to 30 recent daily totals') and default without adding new semantics, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Net daily flows into US spot Bitcoin ETFs in USD millions') and enumerates the exact outputs: per-fund split, 5-day/30-day sums, and up to 30 daily totals. The 'US spot' qualifier distinguishes it from the sibling get_australian_bitcoin_etfs without needing to open a schema.

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

Usage Guidelines4/5

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

Gives explicit triggering conditions ('Use this when the user asks about ETF inflows or outflows, institutional demand or a specific fund's flow') and a scope exclusion ('Flows only, not fund holdings or prices'). It does not name the sibling alternative (e.g. Australian ETFs) for non-US requests, so routing across siblings is only implied.

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 indicatorsA
Read-onlyIdempotent
Inspect

Latest readings of four individual Bitcoin cycle indicators (MVRV Z-Score using a 4-year moving-average proxy, Risk Metric, 200-week moving average rate of change, Pi Cycle Bottom ratio), each with a percentile zone from the full price history and its own date, plus the latest BTC price in AUD and USD. Use this when the user asks about a specific on-chain or valuation indicator or wants the components behind a cycle view; use get_cycle_model_reading for the combined 48-signal score. Daily and monthly indicators are mixed, so check each reading's date. USD price is derived from AUD at the daily AUDUSD rate and can differ from global USD quotes by 1-2%.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world. The description adds genuinely useful behavior beyond that: indicators mix daily/monthly cadence so each reading carries its own date, and USD price is derived from AUD at the daily AUDUSD rate with a 1-2% deviation from global quotes. This data-provenance caveat is exactly the kind of context annotations cannot convey.

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

Conciseness4/5

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

A single well-structured paragraph, front-loaded with the indicator list before the routing guidance and the caveats. Dense but every sentence carries information; the caveat sentences are longest but they are the highest-value content.

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

Completeness5/5

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

No output schema exists, so the description carries the burden of describing return values — and it does, listing the four indicators, their percentile zones, per-reading dates, and the AUD/USD price fields. For a zero-parameter read tool it is complete.

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

Parameters4/5

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

The tool takes no parameters, so the baseline is 4. There is nothing to document, and the description correctly spends no space on inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource and enumerates exactly which four indicators are returned (MVRV Z-Score, Risk Metric, 200-week MA ROC, Pi Cycle Bottom ratio). It explicitly distinguishes itself from the sibling get_cycle_model_reading, so an agent can route without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit when-to-use ('asks about a specific on-chain or valuation indicator or wants the components behind a cycle view') and names the alternative (get_cycle_model_reading) with the condition that selects it. Nothing is left to inference.

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 readingA
Read-onlyIdempotent
Inspect

Current SatoshiMacro Model (SMM) score for Bitcoin or Ethereum: a 0-100 market-cycle confluence score built from weighted percentile-ranked signals in six tiers (cycle timing, valuation, sentiment, rotation, miner, macro; Bitcoin uses 48 signals, Ethereum fewer). Returns the zone (Deep Value, Accumulation, Neutral, Caution, Distribution, Cycle Top), 7- and 30-day change, the six tier scores and 30 days of daily history. Use this when the user asks where Bitcoin or Ethereum sits in its market cycle, how the cycle score has moved recently, or which tier is driving it; use get_market_snapshot instead for a one-line overview of everything. Daily reading, refreshed twice a day (about 07:30 and 13:30 Sydney time); the date field is the last completed day. Descriptive data, not a price forecast or trading signal.

NameRequiredDescriptionDefault
assetNoBTC (default) or ETH

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, but the description adds genuinely useful operational context: refresh cadence (twice daily, ~07:30 and 13:30 Sydney), what the date field means (last completed day), and an explicit scope caveat ('descriptive data, not a price forecast or trading signal'). That is real disclosure beyond the structured fields.

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

Conciseness4/5

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

Purpose is front-loaded in the first clause, and the long second sentence is dense with return-field and tier detail rather than padding. It is on the long side, but nearly every clause (cadence, date semantics, disclaimer) earns its place.

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

Completeness5/5

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

With no output schema, the description compensates by enumerating the return payload (zone, 7- and 30-day change, six tier scores, 30 days of history) and the zone vocabulary. Combined with the asset enum and cadence note, an agent has everything needed to call and interpret this correctly.

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

Parameters3/5

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

Schema coverage is 100% and the enum already documents BTC (default) or ETH, so the schema carries the parameter burden. The description adds meaningful model context (BTC uses 48 signals, Ethereum fewer) but no invocation-level detail beyond what the schema states; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (current SMM score for BTC/ETH) and defines exactly what the score is: a 0-100 confluence score from weighted percentile-ranked signals in six named tiers. It explicitly distinguishes itself from the sibling get_market_snapshot, so an agent can route without opening either schema.

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

Usage Guidelines5/5

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

Gives concrete trigger conditions ('where Bitcoin or Ethereum sits in its market cycle', 'how the cycle score has moved recently', 'which tier is driving it') and names the alternative plus the condition that selects it ('use get_market_snapshot instead for a one-line overview'). Nothing is left to inference.

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 snapshotA
Read-onlyIdempotent
Inspect

One-call overview of the whole dataset: Bitcoin and Ethereum SMM scores and zones, BTC price (AUD/USD), Altcoin Season Index, the latest US spot Bitcoin ETF daily flow, ASX Bitcoin ETF assets and the Crypto Fear & Greed Index (the only tool that returns Fear & Greed). Use this for broad questions like 'how is the crypto market looking' or when the user wants several readings at once; call the specific tool instead when the user needs history, per-fund detail or tier breakdowns. Each line carries its own date and source page.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already establish the safe-read profile (readOnlyHint, idempotentHint, openWorldHint=false), so the description is not carrying that load. It still adds real behavioral context beyond the annotations: it flags exclusivity ('the only tool that returns Fear & Greed') and describes the return shape ('each line carries its own date and source page'), which is valuable 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.

Conciseness4/5

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

Front-loaded with the payoff ('one-call overview of the whole dataset') followed by the content inventory and the routing rule. The inventory sentence is long and list-like, but every clause maps to a distinct data source, so little is wasted.

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

Completeness4/5

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

For a no-parameter, no-output-schema tool, the description must stand in for the return contract, and it does so by enumerating the data families returned plus the note about per-line dates and source pages. It stops short of describing the container format, but the snapshot concept is clear enough to call correctly.

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

Parameters4/5

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

The tool takes zero parameters, so there is no per-argument semantics to convey; the schema-coverage signal is trivially satisfied. The description correctly spends its budget on scope and return content instead of non-existent parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource ('one-call overview of the whole dataset') and enumerates exactly which readings are returned (SMM scores, BTC price, Altcoin Season Index, ETF flows, Fear & Greed). It also explicitly distinguishes itself from siblings, so an agent can tell it apart from get_altcoin_season or get_cycle_indicators without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit when-to-use trigger ('broad questions like how is the crypto market looking' or several readings at once) and an explicit when-not with named alternatives ('call the specific tool instead when the user needs history, per-fund detail or tier breakdowns'). Nothing is left to inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedget_altcoin_season
    • First observedget_australian_bitcoin_etfs
    • First observedget_bitcoin_etf_flows
    • First observedget_cycle_indicators
    • First observedget_cycle_model_reading
    • First observedget_market_snapshot

Publisher details

Operator
SatoshiMacro · Publisher source
Vendor relationship
First-party
Trust center
Not available
Restrictions
None. Free and public: no sign-in, API key, paid plan or regional limit.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Financial 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.
    8
    290 npm
    8
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources