# com.bitcoincreditstack/mcp

> The Bitcoin credit markets, measured. Cross-venue rates, venue criteria, chain indicators.

- name: com.bitcoincreditstack/mcp
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 93/100
- quality: 67/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.bitcoincreditstack%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/com.bitcoincreditstack%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "bitcoincreditstack": {
      "type": "http",
      "url": "https://mcp.bitcoincreditstack.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 85
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% ~updated-52d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 67/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 57 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 11 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_onchain_indicators (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_chain_series (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_cost_basis (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- warn `tools.token_cost`: about 10,207 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 60 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 27, about 10,207 tokens to load them all
- tool set hash: 26265d4a6ccc6eb7423686ab28bbf922
- tools last changed: 2026-10-19T15:30:14.662Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.bitcoincreditstack/mcp.svg)](https://protogrid.dev/servers/com.bitcoincreditstack/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `get_fund_holdings` added
  - Lists the spot bitcoin funds and the bitcoin each states it holds, as read from the fund's own SEC filing (10-Q or 10-K), its daily holdings file, or its periodic report, each figure with its date, its source and a quote. A fund's headline is its latest-dated figure; the other figures are served beside it. Custodians and the fund's lending statement are quoted as filed; "lending not stated" means no statement was found, not that the fund lends. A fund without a figure says why, never zero. Fund shares held by another fund or a public body are listed and not added, so each coin is counted once. Totals are given per date, and across dates only with the earliest and latest date they cover. Funds are listed by name; nothing is ranked. Returns the route's payload as served.
- 2026-10-18 `get_debt_by_collateral` changed (description)
  - before: What backs the dollar debt against bitcoin, by collateral and by venue type (pools, isolated markets, vaults, the auction, corporate, posted cards), as the site's "How these loans are backed" panel shows it, with each observer named and the collateral rule stated. days (30 to 1500, default 30) sets the window of the series it carries. Returns the route's payload as served. Standard questions this tool answers (get_guide with question): SQ-M5.
  - after: What backs the dollar debt against bitcoin, by collateral and by venue type (pools, isolated markets, vaults, the auction, corporate, posted cards), as the site's "How these loans are backed" panel shows it, with each observer named and the collateral rule stated. days (30 to 1500, default 30) sets the window of the series it carries. The corporate part carries the class totals; the rows for each company are get_corporate_instruments'. Standard questions this tool answers (get_guide with question): SQ-M5.
- 2026-10-18 `get_corporate_instruments` changed (description, inputSchema)
  - before: Lists the instruments of the corporate issuers in the registry (convertible notes, credit facilities, bonds, perpetual preferreds), one row per instrument, as the site's /instruments pages show them: terms, seniority, the yield a holder receives where a last regular-session trade prices it, returns, and the issuer's bitcoin holdings. The holding is the latest-dated figure read from a filing; btc_holdings_derived, beside it, is the last read plus the purchases filed since ("derived from filed purchases"), display only, never in backing_ratio, and confirmed or corrected by the next read. Corporate lending, not bitcoin-backed credit: a holder lends to the issuer with no lien on its bitcoin, except where the issuer has pledged bitcoin against a facility. btc_backing also carries the debt attributed to bitcoin, beside the filed debt: for each company holding at least 100 BTC (a subsidiary counted at its parent), bitcoin-pledged debt counts in full (no more than the pledged coins' value where the line states them), debt secured by other assets at zero, and unsecured debt and preferred stock at the company's unencumbered share of assets. It is a stated convention applied to filed figures, not a measurement; total assets, each debt line and its security are served beside it, and a company whose figure cannot be attributed says why. Income in the returns is what the terms accrue, not what was confirmed paid (returns_convention says so). Prices are IEX's, credited in the answer's attribution. Returns the route's payload as served. Standard questions this tool answers (get_guide with question): SQ-Co1.
  - after: Lists the instruments of the corporate issuers in the registry (convertible notes, credit facilities, bonds, perpetual preferreds), one row per instrument, as the site's /instruments pages show them: terms, seniority, the yield a holder receives where a last regular-session trade prices it, returns, and the issuer's bitcoin holdings. The holding is the latest-dated figure read from a filing; btc_holdings_derived, beside it, is the last read plus the purchases filed since ("derived from filed purchases"), display only, never in backing_ratio, and confirmed or corrected by the next read. Corporate lending, not bitcoin-backed credit: a holder lends to the issuer with no lien on its bitcoin, except where the issuer has pledged bitcoin against a facility. btc_backing also carries the debt attributed to bitcoin, beside the filed debt: for each company holding at least 100 BTC (a subsidiary counted at its parent), bitcoin-pledged debt counts in full (no more than the pledged coins' value where the line states them), debt secured by other assets at zero, and unsecured debt and preferred stock at the company's unencumbered share of assets. It is a stated convention applied to filed figures, not a measurement; total assets, each debt line and its security are served beside it, and a company whose figure cannot be attributed says why. Income in the returns is what the terms accrue, not what was confirmed paid (returns_convention says so). Prices are IEX's, credited in the answer's attribution. Without issuer, every instrument is returned and each company's attribution is summarised: its unencumbered share, total assets, the dates of its balance sheet and debt lines, and how many debt lines it has. Pass issuer (e.g. 'strategy') for that company's instruments and its full attribution, every debt line with its security and source. Standard questions this tool answers (get_guide with question): SQ-Co1.
- 2026-10-17 `get_credit_state` changed (description)
  - before: What does Bitcoin-collateralised credit cost and how much of it is outstanding, across the venues this dataset covers? One reading aggregated over the venue universe, not any single venue's book. Carries the term structure, outstanding quantity, valuation, collateral mix and quality composition, with the coverage block stating how many venues contributed and naming the ones that did not. No venue is weighted up, floated or reported under its own heading. ⚠ Read coverage before reading the figures. A venue absent from this reading is a declared gap, not a zero, and the rows it would have contributed are counted separately as unavailable. Bitcoin by default; pass collateral: 'eth' for credit secured by ether (ether, staking and restaking tokens at their own contract rates), measured the same way and never added to bitcoin. With collateral: 'eth' this returns the ether market: the same six figures at market and class level, books per loan currency (ether lent against ether is its own book, outside the headline). The collateral mix's daily history by wrapper is long; it is left out unless collateral_mix_history is true.
  - after: What does Bitcoin-collateralised credit cost and how much of it is outstanding, across the venues this dataset covers? One reading aggregated over the venue universe, not any single venue's book. Carries the term structure, outstanding quantity, valuation, collateral mix and quality composition, with the coverage block stating how many venues contributed and naming the ones that did not. No venue is weighted up, floated or reported under its own heading. ⚠ Read coverage before reading the figures. A venue absent from this reading is a declared gap, not a zero, and the rows it would have contributed are counted separately as unavailable. Corporate issuers' debt is not in this reading. get_corporate_instruments serves it, with the debt attributed to bitcoin: bitcoin-pledged debt in full, debt secured by other assets at zero, unsecured debt and preferred stock at each company's unencumbered share of assets, for companies holding at least 100 BTC (a subsidiary counted at its parent). Bitcoin by default; pass collateral: 'eth' for credit secured by ether (ether, staking and restaking tokens at their own contract rates), measured the same way and never added to bitcoin. With collateral: 'eth' this returns the ether market: the same six figures at market and class level, books per loan currency (ether lent against ether is its own book, outside the headline). The collateral mix's daily history by wrapper is long; it is left out unless collateral_mix_history is true.
- 2026-10-17 `get_corporate_instruments` changed (description)
  - before: Lists the instruments of the corporate issuers in the registry (convertible notes, credit facilities, bonds, perpetual preferreds), one row per instrument, as the site's /instruments pages show them: terms, seniority, the yield a holder receives where a last regular-session trade prices it, returns, and the issuer's bitcoin holdings. The holding is the latest-dated figure read from a filing; btc_holdings_derived, beside it, is the last read plus the purchases filed since ("derived from filed purchases"), display only, never in backing_ratio, and confirmed or corrected by the next read. Corporate lending, not bitcoin-backed credit: a holder lends to the issuer unsecured, with no lien on its bitcoin. Income in the returns is what the terms accrue, not what was confirmed paid (returns_convention says so). Prices are IEX's, credited in the answer's attribution. Returns the route's payload as served. Standard questions this tool answers (get_guide with question): SQ-Co1.
  - after: Lists the instruments of the corporate issuers in the registry (convertible notes, credit facilities, bonds, perpetual preferreds), one row per instrument, as the site's /instruments pages show them: terms, seniority, the yield a holder receives where a last regular-session trade prices it, returns, and the issuer's bitcoin holdings. The holding is the latest-dated figure read from a filing; btc_holdings_derived, beside it, is the last read plus the purchases filed since ("derived from filed purchases"), display only, never in backing_ratio, and confirmed or corrected by the next read. Corporate lending, not bitcoin-backed credit: a holder lends to the issuer with no lien on its bitcoin, except where the issuer has pledged bitcoin against a facility. btc_backing also carries the debt attributed to bitcoin, beside the filed debt: for each company holding at least 100 BTC (a subsidiary counted at its parent), bitcoin-pledged debt counts in full (no more than the pledged coins' value where the line states them), debt secured by other assets at zero, and unsecured debt and preferred stock at the company's unencumbered share of assets. It is a stated convention applied to filed figures, not a measurement; total assets, each debt line and its security are served beside it, and a company whose figure cannot be attributed says why. Income in the returns is what the terms accrue, not what was confirmed paid (returns_convention says so). Prices are IEX's, credited in the answer's attribution. Returns the route's payload as served. Standard questions this tool answers (get_guide with question): SQ-Co1.
- 2026-10-15 `get_events` changed (description, inputSchema)
  - before: Returns the credit-market events the Stack has recorded, newest first: a venue's debt, collateral or borrow rate moving past its rule from one daily reading to the next, a figure crossing a fixed level (each power of ten, and twice and five times it), a company filing a purchase, sale or total of the coin it holds, and a venue first read or wound down. Each event: one sentence, the figures and their dates, the rule it met in words, and its source (the daily readings and their dates, or the filing with its link and the sentence that holds the figure). A change caused by coverage or method (a reader or pool change, a restatement, a price-only move) is not an event and is not returned. Bitcoin by default; collateral: 'eth' returns the ether events, never added to bitcoin's. Gavel's own book is included with its own-account disclosure. Descriptive: no cause, forecast or ranking. Paged: 20 events by default (limit up to 500); pass the returned `next` as cursor. Standard questions this tool answers (get_guide with question): SQ-M8.
  - after: Returns the credit-market events the Stack has recorded, newest first: a venue's debt, collateral or borrow rate moving past its rule from one daily reading to the next, a figure crossing a fixed level (each power of ten, and twice and five times it), a company filing a purchase, sale or total of the coin it holds, an indicator (bsbs, bcsi, the collateral share, the weekly matched change, a wrapper's reserve coverage) crossing a fixed level or moving past its threshold, and a venue first read or wound down. Each event: one sentence, the figures and their dates, the rule it met in words, and its source (the daily readings and their dates, or the filing with its link and the sentence that holds the figure). A change caused by coverage or method (a reader or pool change, a restatement, a price-only move) is not an event and is not returned. Bitcoin by default; collateral: 'eth' returns the ether events, never added to bitcoin's. Gavel's own book is included with its own-account disclosure. Descriptive: no cause, forecast or ranking. Paged: 20 events by default (limit up to 500); pass the returned `next` as cursor. Standard questions this tool answers (get_guide with question): SQ-M8.
- 2026-10-15 `get_event_post_kit` added
  - For one credit-market event (an id from get_events; without one, the newest events to choose from): its sentence, the link to post (X shows it as a card with the event's chart), the suggested chart and other series to set beside it (each with a page that saves it as a PNG to attach), and the rules a post follows. The assistant drafts the post from these; nothing is posted by this server. A post stays descriptive: the event's figures and dates, no forecast, no advice, no ranking and no cause the data does not state; the rules give X's length limit and how a link counts against it.
- 2026-10-15 `get_events` added
  - Returns the credit-market events the Stack has recorded, newest first: a venue's debt, collateral or borrow rate moving past its rule from one daily reading to the next, a figure crossing a fixed level (each power of ten, and twice and five times it), a company filing a purchase, sale or total of the coin it holds, and a venue first read or wound down. Each event: one sentence, the figures and their dates, the rule it met in words, and its source (the daily readings and their dates, or the filing with its link and the sentence that holds the figure). A change caused by coverage or method (a reader or pool change, a restatement, a price-only move) is not an event and is not returned. Bitcoin by default; collateral: 'eth' returns the ether events, never added to bitcoin's. Gavel's own book is included with its own-account disclosure. Descriptive: no cause, forecast or ranking. Paged: 20 events by default (limit up to 500); pass the returned `next` as cursor. Standard questions this tool answers (get_guide with question): SQ-M8.
- 2026-10-15 `get_corporate_instruments` changed (description)
  - before: Lists the instruments of the corporate issuers in the registry (convertible notes, credit facilities, bonds, perpetual preferreds), one row per instrument, as the site's /instruments pages show them: terms, seniority, the yield a holder receives where a last regular-session trade prices it, returns, and the issuer's bitcoin holdings. Corporate lending, not bitcoin-backed credit: a holder lends to the issuer unsecured, with no lien on its bitcoin. Income in the returns is what the terms accrue, not what was confirmed paid (returns_convention says so). Prices are IEX's, credited in the answer's attribution. Returns the route's payload as served. Standard questions this tool answers (get_guide with question): SQ-Co1.
  - after: Lists the instruments of the corporate issuers in the registry (convertible notes, credit facilities, bonds, perpetual preferreds), one row per instrument, as the site's /instruments pages show them: terms, seniority, the yield a holder receives where a last regular-session trade prices it, returns, and the issuer's bitcoin holdings. The holding is the latest-dated figure read from a filing; btc_holdings_derived, beside it, is the last read plus the purchases filed since ("derived from filed purchases"), display only, never in backing_ratio, and confirmed or corrected by the next read. Corporate lending, not bitcoin-backed credit: a holder lends to the issuer unsecured, with no lien on its bitcoin. Income in the returns is what the terms accrue, not what was confirmed paid (returns_convention says so). Prices are IEX's, credited in the answer's attribution. Returns the route's payload as served. Standard questions this tool answers (get_guide with question): SQ-Co1.
- 2026-10-13 `get_credit_state_history` changed (description)
  - before: How has the Bitcoin credit surface moved? The same cross-venue reading as get_credit_state, as a daily series. Each point carries the coverage that produced it, so a change in the series and a change in which venues were observable can be told apart. This is descriptive data; it does not forecast and it does not characterise a trend. ⚠ Coverage is not constant through the series. A move in a figure may be a move in the market or a venue entering or leaving observation — the per-point coverage is what distinguishes them. Bitcoin by default; pass collateral: 'eth' for credit secured by ether (ether, staking and restaking tokens at their own contract rates), measured the same way and never added to bitcoin. The ether series is being back-filled family by family; its first date is stated in the answer.
  - after: How has the Bitcoin credit surface moved? The same cross-venue reading as get_credit_state, as a daily series. Each point carries the coverage that produced it, so a change in the series and a change in which venues were observable can be told apart. This is descriptive data; it does not forecast and it does not characterise a trend. ⚠ Coverage is not constant through the series. A move in a figure may be a move in the market or a venue entering or leaving observation — the per-point coverage is what distinguishes them. Bitcoin by default; pass collateral: 'eth' for credit secured by ether (ether, staking and restaking tokens at their own contract rates), measured the same way and never added to bitcoin. The ether series covers the market, each class and each family from the first date the answer states (history_starts); points before the ether tree's first live snapshot are rebuilt from each venue's own contract reads. Pooled venues' debt is read once a month: between readings that figure is an absence with its reason, never a zero. The answer's steps and notes say where coverage changes.

Full history: https://api.protogrid.dev/v1/servers/com.bitcoincreditstack%2Fmcp/changes

## Remotes

- https://mcp.bitcoincreditstack.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (27)

- `compare_venues`: What does credit at this tenor and LTV cost across every venue Aletheia covers? One row per venue in coverage-matrix order — no ranking, no default sort, no "best".

Standard questions this tool answers (get_guide with question): SQ-C2.
- `get_chain_series`: Returns one series from Aletheia's vintage store, by id (see list_chain_series): every value with its date and kind, the series' unit, source and limitation, and the vintages the values came from. With as_known_on, returns the series exactly as the store held it at the end of that day (UTC), so a past answer can be reproduced.

Chain series reach back to 2009 and are day-granular. Priced values (realised value, MVRV, SOPR, hashprice in USD) value each coin at the price of the day it was created: Aletheia's on-chain fixing from 2020-07-13, CoinGecko's daily price before. Such points carry coingecko_share and price_today, and the response's licence block carries the attribution: show it with them. This tool returns data; it does not advise, forecast, or characterise the market.
- `get_chart`: Draws the series get_series would return for the same request (ids from list_series, the same window and as_known_on) as an SVG image in the Stack's house style: exactly the chart plan's panels, one unit each; rate axes from zero; a refused series not drawn; an absence a gap, never a zero; coverage steps marked; the sources, span, number of values, any as-known-on date and every credit printed under the chart, with the link that draws it on the site. size: 'site' (default) or 'post' (a social-post format); log: 'upper' or 'lower' draws that panel on a log axis where the plan offers one; title adds a heading.

Returns the SVG as an embedded resource (image/svg+xml) and the public URL that serves the same image, so it can be shown or linked. A request whose series the plan draws none of is refused with the plan's reasons. Show the credits with the chart. This tool draws data; it does not advise, forecast or characterise the market.
- `get_corporate_instruments`: Lists the instruments of the corporate issuers in the registry (convertible notes, credit facilities, bonds, perpetual preferreds), one row per instrument, as the site's /instruments pages show them: terms, seniority, the yield a holder receives where a last regular-session trade prices it, returns, and the issuer's bitcoin holdings. The holding is the latest-dated figure read from a filing; btc_holdings_derived, beside it, is the last read plus the purchases filed since ("derived from filed purchases"), display only, never in backing_ratio, and confirmed or corrected by the next read. Corporate lending, not bitcoin-backed credit: a holder lends to the issuer with no lien on its bitcoin, except where the issuer has pledged bitcoin against a facility.

btc_backing also carries the debt attributed to bitcoin, beside the filed debt: for each company holding at least 100 BTC (a subsidiary counted at its parent), bitcoin-pledged debt counts in full (no more than the pledged coins' value where the line states them), debt secured by other assets at zero, and unsecured debt and preferred stock at the company's unencumbered share of assets. It is a stated convention applied to filed figures, not a measurement; total assets, each debt line and its security are served beside it, and a company whose figure cannot be attributed says why. Income in the returns is what the terms accrue, not what was confirmed paid (returns_convention says so). Prices are IEX's, credited in the answer's attribution.

Without issuer, every instrument is returned and each company's attribution is summarised: its unencumbered share, total assets, the dates of its balance sheet and debt lines, and how many debt lines it has. Pass issuer (e.g. 'strategy') for that company's instruments and its full attribution, every debt line with its security and source.

Standard questions this tool answers (get_guide with question): SQ-Co1.
- `get_cost_basis`: Returns Bitcoin's supply alive at the end of one UTC day, grouped by the BTC price on the day each coin was created, in logarithmic price buckets of a chosen width (ratio, default 1.02: each bucket spans 2%). Built from Aletheia's own node, block by block; day-granular.

Creation prices are Aletheia's on-chain fixing from 2020-07-13 and CoinGecko's daily price before; each bucket states how much of it is CoinGecko-priced (coingecko_btc), and the licence block carries the attribution. Coins created before 2010-07-17 have no price and form one bucket at 0. This tool returns data; it does not advise, forecast, or characterise the market.

Returns: { date, ratio, unit, buckets: [{ low_usd, high_usd, btc, coingecko_btc }], limitation, licence }.

Standard questions this tool answers (get_guide with question): SQ-Ch4.
- `get_credit_state`: What does Bitcoin-collateralised credit cost and how much of it is outstanding, across the venues this dataset covers? One reading aggregated over the venue universe, not any single venue's book.

Carries the term structure, outstanding quantity, valuation, collateral mix and quality composition, with the coverage block stating how many venues contributed and naming the ones that did not. No venue is weighted up, floated or reported under its own heading.

⚠ Read coverage before reading the figures. A venue absent from this reading is a declared gap, not a zero, and the rows it would have contributed are counted separately as unavailable.

Corporate issuers' debt is not in this reading. get_corporate_instruments serves it, with the debt attributed to bitcoin: bitcoin-pledged debt in full, debt secured by other assets at zero, unsecured debt and preferred stock at each company's unencumbered share of assets, for companies holding at least 100 BTC (a subsidiary counted at its parent).

Bitcoin by default; pass collateral: 'eth' for credit secured by ether (ether, staking and restaking tokens at their own contract rates), measured the same way and never added to bitcoin. With collateral: 'eth' this returns the ether market: the same six figures at market and class level, books per loan currency (ether lent against ether is its own book, outside the headline).

The collateral mix's daily history by wrapper is long; it is left out unless collateral_mix_history is true.
- `get_credit_state_history`: How has the Bitcoin credit surface moved? The same cross-venue reading as get_credit_state, as a daily series.

Each point carries the coverage that produced it, so a change in the series and a change in which venues were observable can be told apart. This is descriptive data; it does not forecast and it does not characterise a trend.

⚠ Coverage is not constant through the series. A move in a figure may be a move in the market or a venue entering or leaving observation — the per-point coverage is what distinguishes them.

Bitcoin by default; pass collateral: 'eth' for credit secured by ether (ether, staking and restaking tokens at their own contract rates), measured the same way and never added to bitcoin. The ether series covers the market, each class and each family from the first date the answer states (history_starts); points before the ether tree's first live snapshot are rebuilt from each venue's own contract reads. Pooled venues' debt is read once a month: between readings that figure is an absence with its reason, never a zero. The answer's steps and notes say where coverage changes.
- `get_debt_by_collateral`: What backs the dollar debt against bitcoin, by collateral and by venue type (pools, isolated markets, vaults, the auction, corporate, posted cards), as the site's "How these loans are backed" panel shows it, with each observer named and the collateral rule stated. days (30 to 1500, default 30) sets the window of the series it carries. The corporate part carries the class totals; the rows for each company are get_corporate_instruments'.

Standard questions this tool answers (get_guide with question): SQ-M5.
- `get_desk_rates`: Returns the rate cards the custodial lending desks post (bitcoin collateral), one row per product: the representative APR and its range, term, maximum LTV, custody and liquidation model, and the card's effective date and source. Administered rates, not market-cleared; a card older than the stated staleness is marked. Pass desk to read one desk's cards. Returns the route's payload as served.

Standard questions this tool answers (get_guide with question): SQ-V6.
- `get_event_post_kit`: For one credit-market event (an id from get_events; without one, the newest events to choose from): its sentence, the link to post (X shows it as a card with the event's chart), the suggested chart and other series to set beside it (each with a page that saves it as a PNG to attach), and the rules a post follows. The assistant drafts the post from these; nothing is posted by this server. A post stays descriptive: the event's figures and dates, no forecast, no advice, no ranking and no cause the data does not state; the rules give X's length limit and how a link counts against it.
- `get_events`: Returns the credit-market events the Stack has recorded, newest first: a venue's debt, collateral or borrow rate moving past its rule from one daily reading to the next, a figure crossing a fixed level (each power of ten, and twice and five times it), a company filing a purchase, sale or total of the coin it holds, an indicator (bsbs, bcsi, the collateral share, the weekly matched change, a wrapper's reserve coverage) crossing a fixed level or moving past its threshold, and a venue first read or wound down. Each event: one sentence, the figures and their dates, the rule it met in words, and its source (the daily readings and their dates, or the filing with its link and the sentence that holds the figure). A change caused by coverage or method (a reader or pool change, a restatement, a price-only move) is not an event and is not returned. Bitcoin by default; collateral: 'eth' returns the ether events, never added to bitcoin's. Gavel's own book is included with its own-account disclosure. Descriptive: no cause, forecast or ranking. Paged: 20 events by default (limit up to 500); pass the returned `next` as cursor.

Standard questions this tool answers (get_guide with question): SQ-M8.
- `get_fund_holdings`: Lists the spot bitcoin funds and the bitcoin each states it holds, as read from the fund's own SEC filing (10-Q or 10-K), its daily holdings file, or its periodic report, each figure with its date, its source and a quote. A fund's headline is its latest-dated figure; the other figures are served beside it. Custodians and the fund's lending statement are quoted as filed; "lending not stated" means no statement was found, not that the fund lends. A fund without a figure says why, never zero. Fund shares held by another fund or a public body are listed and not added, so each coin is counted once. Totals are given per date, and across dates only with the earliest and latest date they cover. Funds are listed by name; nothing is ranked. Returns the route's payload as served.
- `get_guide`: What does this server cover, and how much of it? The tools; the venues by registry scope, venue type, status and credit class; the credit-state reading's coverage; the indicators served, retired and not published here; the series; and the lenses — every count read from the data when asked, each with a sentence saying what it counts. Also the two venue vocabularies (venue type and credit class), how absences are returned, and where the methodology is.

Call this first when you need to say how much the Stack covers. It ranks nothing and describes no venue's quality.

It also routes the Stack's standard questions: with no argument it lists them (id, question, tool); with question (an id such as 'SQ-M1', or a few words) it returns the matching question whole: the call that answers it, what the answer means, the page that shows the same figure, and its limits. The match is a lookup in the published list, never a guess; words that match none return the list.

Standard questions this tool answers (get_guide with question): SQ-S1, SQ-S5.
- `get_indicator`: Returns the current value of a single Aletheia indicator by id, with its methodology reference. This server serves the venue-independent indicator set; an indicator anchored on a single venue's own rate is served by that venue's own MCP and answers here with a pointer to it. Call list_indicators first to discover valid ids.

Optionally returns the historical series instead of the current value (set include_history). History is free and unmetered on the same terms as the current value.

This is descriptive data; no recommendation is provided. An indicator that has no reading on this network says so explicitly rather than returning a null or a zero that could be mistaken for a value.

With as_known_on, an indicator kept by vintage (list_indicators marks it as_known_on: true) is returned as it was published at the end of that day (UTC), so a figure quoted then can be reproduced. An indicator recomputed when asked has no past vintage and refuses as_known_on.

Standard questions this tool answers (get_guide with question): SQ-M6, SQ-M7, SQ-C4, SQ-I2, SQ-I3, SQ-I4, SQ-I5, SQ-I6, SQ-I7, SQ-Ch3, SQ-Ch5, SQ-Co2.
- `get_lens`: Returns a READING LENS: a presentation procedure for this dataset, written for a particular kind of reader. A lens selects which tools to use and frames how their output is presented; it never concludes, never ranks, and carries no write tool — this server has none.

Call with no argument to list the lenses. Call with one to get its full procedure: what to lead with, the tools in its scope, and — the part that matters most — what that lens explicitly does not do.

Reading a lens before presenting anything from this dataset is the intended use. It is guidance for presentation, not data about the market, and it adds no figures of its own.

Standard questions this tool answers (get_guide with question): SQ-S2.
- `get_liquidation_map`: How much bitcoin-secured dollar debt is liquidated at which bitcoin price, for the market, a class or a venue? An identity on observed positions: each bitcoin-only position at the price its OWN venue's rule liquidates it, summed into $1,000 buckets, with the debt within 10/20/30% of each venue's own mark, the debt already past its venue's test, and overflow.

It does not forecast what a fall in the price would do, it does not rank venues (they are listed by name) and it gives no verdict such as "at risk".

⚠ Read coverage and not_bucketed first. Only venues read position by position are in the map (the pooled venues, Morpho on Ethereum and Base, Sky); every other venue with debt is named with its reason and is never scaled up. With history=true the bands come as a daily series: Sky from 2020-05-03, the rest from 2026-10-08 — a step there is coverage, not the market.

Standard questions this tool answers (get_guide with question): SQ-M3.
- `get_market_composition`: What kinds of credit make up this market, and in what proportions? ⚠ These series are computed from MORPHO BLUE ONLY, on Ethereum and Base. They are not market-wide.

Composition by rate type, recourse and instrument, reported as observed shares with the scope that produced them. There is no ranking of venues or instrument types and no judgement about which composition is preferable.

⚠ The scope block names the contributing venues and states why the others are absent. Read it before quoting any share. A percentage from this tool describes one venue family, not Bitcoin-collateralised credit.

Bitcoin by default; pass collateral: 'eth' for credit secured by ether (ether, staking and restaking tokens at their own contract rates), measured the same way and never added to bitcoin. No ether composition series is served yet; with collateral: 'eth' this says so and points to the ether figures.
- `get_market_flows`: How much credit was created and retired, and over what period? Latest, trailing 30 days, and since inception. ⚠ These series are computed from MORPHO BLUE ONLY, on Ethereum and Base. They are not market-wide.

Counts and amounts as observed, with the scope, coverage and validation state that produced them. Not a forecast, not a momentum signal, and not a characterisation of demand.

⚠ Creation and retirement are GROSS and are never netted into one signed series: a day of heavy churn and a quiet day can net to the same number and are not the same market. USD-denominated debt only.
- `get_mvrv`: Returns the current Bitcoin MVRV ratio: market capitalisation divided by realised capitalisation, where realised cap values each coin at the price it last moved.

MVRV is therefore an identity on observed chain data. It states the aggregate unrealised position of the supply — how far the market values coins above or below what was last paid for them — and nothing about what follows from that. This tool returns data; it does not advise, forecast, or characterise the market.

Computed nightly from Aletheia's own full node and UTXO set. Since 2026-10-05 the current price and the creation prices from 2020-07-13 are Aletheia's own on-chain BTC fixing; coins created before 2020-07-13 are valued at CoinGecko's daily price (price): the supply and each coin's age are Aletheia's, the prices are not. 'mvrv_z_score' is returned alongside it: the same numerator measured in standard deviations of the historical market-cap series.

Returns: { value, mvrv_z_score, as_of, inputs: { market_cap_usd, realised_cap_usd, realised_price_usd, spot_price_usd }, methodology, attribution, disclaimer }. 'attribution' carries the source credit for third-party figures; show it with them.

Standard questions this tool answers (get_guide with question): SQ-Ch2.
- `get_series`: Returns 1 to 13 series (ids from list_series), each on its own dates, from Aletheia's vintage store: every value with its date and kind (an absence is a kind with its reason, never a zero), the unit, source, limitation and the vintages the values came from. Default window: the last 365 days to `to`; pass `from` for the full history. With as_known_on, each series is returned as the store held it at the end of that day (UTC), so a figure quoted then can be reproduced.

With the data comes a chart plan, as the site's explorer draws: panels by unit, two at most, a series joining the panel of its exact unit; a third unit is refused in the explorer's words; ether and bitcoin collateral are never drawn on one panel; each refusal names its reason. The plan carries the /explore link that draws the same chart on the site, and a text alternative per panel. plan: 'only' returns the plan without the values; plan: false the values without the plan.

Values resting on CoinGecko prices carry coingecko_share or price_today, and the answer's attribution names every source to credit: show them with the values. This tool returns data; it does not advise, forecast or characterise the market.

Standard questions this tool answers (get_guide with question): SQ-M1, SQ-M2, SQ-M4, SQ-C1, SQ-C3, SQ-V4, SQ-S3.
- `get_venue`: What is known about this venue, criterion by criterion? The three pillars — Price, Quality, Composition — each cell with its value and the source it came from.

The criteria are published and versioned before any venue is measured against them, applied evenly to every row, and the spec version rides in this payload. There is no composite score, no stars and no reliability index: a reader weighs the criteria, and this server does not weigh them for the reader.

⚠ 'unknown' is a value, not an omission — a criterion that cannot be established from public sources says so with its reason. A class-specific 'not_applicable' and an unresearched 'unknown' are different answers and are never conflated.

Bitcoin by default; pass collateral: 'eth' for credit secured by ether (ether, staking and restaking tokens at their own contract rates), measured the same way and never added to bitcoin. With collateral: 'eth' the criteria come with the venue's ether figures (the six tiles and books); a venue that does not take ether says so.

Standard questions this tool answers (get_guide with question): SQ-V2, SQ-V3.
- `get_verification_bundle`: Covers one venue's contracts only: the registry's auction venue (venue_id 'gavel_arbitrum'), the one venue whose deployed contracts this dataset checks itself. It is served here as a source for that venue's quality criteria; no other venue has a bundle yet.

What can be checked about the contracts, and what did the last check return? Observations with their block heights; the verdict is the reader's.

Contract addresses and their implementations, the bytecode hash of each, the upgradeability position, the privileged-function map with whether each can touch user funds, the audit reference, and five structural promises — each with the check that would falsify it and what that check returned.

⚠ Read the fields, not the impression. 'match' is "unchecked" where Aletheia has not compared deployed bytecode against verified source; a promise that did not settle says so; and mainnet and testnet return different answers because they run different builds. There is no safety score, rating or verified badge in this payload, and none will be added.
- `list_chain_series`: Lists every series served from Aletheia's vintage store: the chain series built from one pass over every Bitcoin block on Aletheia's own node (chain.cohort.*: supply, supply by age band, long- and short-term holder supply, BTC moved, coin-days destroyed, dormancy, realised cap and price, MVRV, SOPR, supply in profit and loss, cost-basis percentiles), the miner series (miner.*: blocks, transactions, subsidy, fees, difficulty, hashrate, hashprice), the on-chain BTC/ETH/TRX price fixings and staked-ether contract rates (price.*), and the Federal Reserve H.10 exchange rates (fx.*).

Returns: { count, series: [{ id, dataset, unit, kinds, first, last, latest_vintage, licence }] }. licence 'free_attributed_only' marks series with values priced from CoinGecko before 2020-07-13.
- `list_indicators`: Returns the catalogue of Aletheia indicators measured across the Bitcoin-collateralised credit markets and the Bitcoin chain: id, name, family, units, description, and whether the indicator is currently live on this network.

Three families: 'credit' (credit-market assessments), 'onchain' (commodity chain metrics such as MVRV and SOPR), and 'market' (external context — DeFi rates, stablecoin supply, macro).

Use this to discover what is available, then call get_indicator with an id. This tool returns a catalogue; it does not rank indicators or advise which to use.

Indicators anchored on a single venue's own rate are not served here; they are listed as withheld, with the server that serves them.

Standard questions this tool answers (get_guide with question): SQ-I1.
- `list_onchain_indicators`: Returns the catalog of available on-chain indicator tools, including tool name, indicator name, brief description, units, an example invocation, and current readiness status ('live' or 'pending'). Use this when you need to discover which tools are available for on-chain analysis without inspecting every tool definition.
- `list_series`: Lists the series the Stack serves, across every dataset: the credit tree at every level (market, class, family, venue) and figure, for bitcoin and, separately, for ether collateral; the liquidation map's bands; the credit x on-chain measures and their sub-series; the governed indices; wrapper reserve coverage; the chain, miner, on-chain price and FX series from Aletheia's own node; the Treasury curve (H.15); SOFR and the stablecoin total. Each row: id, label, unit, group, collateral, cadence, kinds, first and last date, licence, the site page that shows it, whether it can be charted (and why not), and whether the site's explorer draws it.

Paged: 100 rows by default (limit up to 500); pass the returned `next` as cursor. Narrow with dataset, group, collateral, prefix (e.g. 'credit.class.algorithmic.') or q (a word in the id or label). Then fetch values with get_series.

Standard questions this tool answers (get_guide with question): SQ-Ch1, SQ-S4.
- `list_venues`: Which credit venues does this dataset cover, and what is known about each? Returns the registry rows matching the filters you supply.

One row per venue, each with its coverage state per pillar and how many of its criteria cells have been researched. Two vocabularies, never mixed: a venue TYPE says how the venue is built (an on-chain pool, an isolated or CDP market, a custodial desk, a broker, a corporate issuer, an auction), and a credit CLASS says how its rate is set (algorithmic, minted, posted-card, auction, corporate) — the classes the Stack's pages use. Filter by either. Rows are compact by default; detail: 'full' returns every registry field and the semantics blocks. get_guide counts the venues of each type and class. Does not rank, score or order by any rate: rows are returned in the registry's own order. All filters are optional and unspecified means no constraint.

⚠ A venue's presence is not a statement about it. Coverage 'none' means nothing is ingested yet, which is a declared gap, not an observation about the venue.

Bitcoin by default; pass collateral: 'eth' for credit secured by ether (ether, staking and restaking tokens at their own contract rates), measured the same way and never added to bitcoin. With collateral: 'eth' only the venues that take ether as collateral are returned (a venue taking both appears under both).

Standard questions this tool answers (get_guide with question): SQ-V1, SQ-V5.
