Skip to main content
Glama
blocklens

blocklens-mcp-server

Official
by blocklens

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BLOCKLENS_API_KEYNoYour Blocklens API key. If not provided, demo mode with limited history and basic-tier metrics.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_metricsA

List all available on-chain metrics with descriptions, categories, and tier requirements. Returns id, name, description, category, unit, endpoint, and access tier for each metric.

get_pricesA

Get daily OHLC prices (open/high/low/close in USD), market cap, and 24h trading volume. Returns one row per day, newest first.

get_holder_supplyA

Get Bitcoin holder supply breakdown: Long-Term Holder (LTH) supply, Short-Term Holder (STH) supply, and circulating supply. LTH = held >155 days, STH = held <155 days. Values in BTC.

get_holder_valuationB

Get Bitcoin valuation metrics: Realized Cap (USD), Realized Price (USD), LTH/STH Realized Cap and Price, MVRV ratio (Market Value / Realized Value), and Unrealized P/L. MVRV > 3.5 historically signals overheating; < 1 signals undervaluation.

get_holder_profitA

Get Bitcoin profit metrics: LTH/STH Realized P/L (USD) and SOPR (Spent Output Profit Ratio). SOPR > 1 means coins moved at profit; < 1 means at loss. Requires Pro tier API key.

get_cohort_metricsA

Get age cohort metrics: supply (BTC), realized cap (USD), and realized price (USD) for a specific UTXO age bracket. 12 cohorts from <24h to 10y+. Used for HODL Waves analysis to track accumulation/distribution by coin age.

get_utxo_historyA

Get UTXO set breakdown by age cohort. Shows token amounts (BTC) and USD values for each cohort date. Useful for analyzing coin dormancy and accumulation patterns — when dormant supply moves, it often precedes price action.

get_latest_metricsA

Get the most recent snapshot across all metric categories (price, supply, valuation, profit) in a single call. Ideal for a quick market overview without specifying date ranges.

search_metricsA

Search available metrics by name or description. Returns matching metrics with their IDs, API endpoints, access tiers, and descriptions. Use this to discover which metrics are available before fetching data.

get_metricA

Get the full definition of a single metric by its ID. Returns name, description, category, endpoint, unit, access tier, documentation, and related metrics. Use search_metrics or list_metrics first to find metric IDs.

get_categoriesA

List all metric categories with counts and metric IDs in each. Categories include: price, supply, valuation, profit. Useful for discovering what data is available.

get_coindaysA

Get Coin Days metrics: CDD, binary CDD, supply-adjusted CDD, liveliness, vaultedness, dormancy, dormancy flow, transferred price, and transfer volume. Coin Days measure the economic weight of Bitcoin transactions by accounting for both amount and holding time.

get_blockchainB

Get blockchain network metrics: block height or daily blocks mined.

get_cycle_performanceA

Get Bitcoin cycle performance data. Shows price progression indexed from cycle reference points (lows, ATHs, halvings). Without type parameter returns aggregate cycle comparison; with type returns individual cycle tracks.

render_chartA

Render a Bitcoin on-chain analytics chart as a PNG image. Supports single metrics, multiple metrics, templates, computed formulas, and full customization.

Use this when the user asks to "show", "chart", "plot", "graph", or "visualize" any metric.

Smart defaults: just provide metric IDs and you get a beautiful chart. Customize with optional params.

Supports custom Y-axes with vertical zones (stack volume below price), domain clamping, reference lines, reference areas, and computed formula series.

IMPORTANT — Multi-axis guidance for different units: When combining metrics with different units (e.g., BTC supply + USD price, or a dimensionless ratio + USD), ALWAYS place them on separate Y-axes. Otherwise one metric will appear as a flat line near zero due to scale mismatch. Use list_metrics to check the "unit" field and assign metrics with different units to different axes (left vs right).

Examples:

  • Simple: render_chart({ metric: "price" })

  • Multi-metric: render_chart({ metrics: ["lth_supply", "sth_supply"], days: 730, style: "area" })

  • Template: render_chart({ template: "mvrv_ratio" })

  • Custom: render_chart({ metrics: [{ id: "price", axis: "right" }, { id: "lth_mvrv", axis: "left" }], days: 365, title: "Price vs MVRV" })

  • Multi-unit (separate axes): render_chart({ metrics: [{ id: "lth_supply", axis: "left" }, { id: "price", axis: "right" }], days: 365 })

  • Vertical zones: render_chart({ metrics: [{ id: "price", y_axis_id: "ax-p" }, { id: "volume", y_axis_id: "ax-v", style: "bar" }], y_axes: [{ id: "ax-p", side: "right", range: [20, 100] }, { id: "ax-v", side: "left", range: [0, 20] }] })

  • Reference line: render_chart({ metric: "lth_mvrv", reference_lines: [{ y: 3.5, label: "Overheated", stroke: "#ef4444", dash: "3 3" }] })

  • Reference area: render_chart({ metric: "lth_mvrv", reference_areas: [{ y1: 0, y2: 0.85, label: "Undervalued", fill: "#22c55e", fill_opacity: 0.15 }] })

  • Formula (ratio): render_chart({ metrics: [{ id: "lth_supply" }, { id: "sth_supply" }], formulas: [{ expression: "m1 / m2", label: "LTH/STH Ratio", color: "#f59e0b" }], days: 365 })

  • Formula on separate axis: render_chart({ metrics: [{ id: "lth_supply", axis: "left" }, { id: "sth_supply", axis: "left" }], formulas: [{ expression: "m1 / m2", label: "LTH/STH Ratio", y_axis_id: "ax-r" }], y_axes: [{ id: "ax-r", side: "right" }], days: 365 })

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
metrics-catalogFull catalog of all available on-chain metrics

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/blocklens/blocklens-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server