MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

Santiment

Crypto market intelligence: social sentiment, on-chain, trending narratives & analyst insights.

Checks passed
12 / 22

2 failed · 8 not measured

Median response
323 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
8

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
222

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 323 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name sanbase-metrics.

  • Pass
    Lists tools

    tools/list returned 8 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 323 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 323 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    31 of 31 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Fail
    Repo owner matches

    The GitHub repository owner does not match the namespace login.

  • Pass
    Recently updated

    Updated 2026-06-11T09:36:26.156448Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using Santiment

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http santiment https://api.santiment.net/mcp

Capabilities

Tools 8

assets_by_metric_tool

A powerful metrics-based project filtering and sorting tool that works with cryptocurrency assets based on their metrics and allows for ordered, paginated results. The tool allows for filtering assets by a metric and sorting them according to that same metric in ascending or descending metric, or just to sort the assets by a metric without filtering. This tool allows you to discover projects that meet specific criteria by analyzing their metrics over time periods. You can filter projects by absolute values (greater_than/less_than thresholds) or by percentage changes, or just sort projects by some metric. ## When to use vs other metric tools This tool scans the whole asset universe and returns one aggregated value per matching asset — use it for "which assets satisfy X" and "top N by X". Every response has `values`: one row per asset in ranking order with the ranked metric's value, plus any `value_metrics` asked for (e.g. the price change of each of the top 100 by market cap, in one call). It never returns a timeseries: for the values of a metric over time for already-known slugs use `fetch_metric_data_tool`. To check that a metric exists (or fix a mistyped metric/slug) use `metrics_and_assets_discovery_tool`. ## Use Cases - Get top 10 assets by marketcap, sorted in descending order - Get top 50 assets with highest dev_activity_1d - Find assets with price more than $10 - Discover tokens whose price increased by more than 50% in the last 30 days - Screen for projects with market cap less than $100M - Identify assets that have dev_activity_1d decline by more than 20% in the past month ## Examples - Get projects that have a price_usd in the last 24 hours and it's greater_than $500. Get the first 20 ordered by price_usd in descending order `{metric: "price_usd", operator: :greater_than, threshold: 500.0, from: "utc_now-24h", to: "utc_now", sort: "desc, page: 1, page_size: 20}` - Find projects whose price_usd today is 25% higher than 7 days ago, sorted by the highest percent increase in descending order. Get the first 100. `{metric: "price_usd", operator: :percent_up, threshold: 25.0, from: "utc_now-7d", to: "utc_now", sort: "desc", page: 1, page_size: 100}` - Projects with current market cap less_than $50M. Get 100 such projects, ordered by marketcap in descending order. `{metric: "marketcap_usd", operator: :less_than, threshold: 50000000.0, from: "utc_now-1d", to: "utc_now", sort: "desc", page: 1, page_size: 100}` Here is how the filtering works: - For absolute value operators - `greater_than` and `less_than` - fetch the `metric` for each asset in the interval `from`-`to`, aggregting it using the specified `aggregation` method (defaulting to the metric's default). - For percent change operators - `percent_up` and `percent_down` - fetch the `metric` for each asset in the interval `from-`to`, as well as in the same length interval immediately before `from`. The two resulting values are compared to calculate the percentage change. Some metrics like price_usd and marketcap_usd are aggregated with `LAST` aggregation by default, meaning that the last known value in the queried interval is used. For percent change, this means that the tool compares the last known price immediately before `from` and the last known price before `to`. Other metrics like transaction_volume_usd and social_volume_total (and most other volume metrics) are aggregated by default with SUM aggregation, meaning that the total combined sum in the queried interval is used. For these metrics length of the time window is vital. A common mistake is to try to check if the social_total_total for the last 5 minutes is greater_than some threshold. Five minutes is not enough for social volume to accumulate enough. In such scenarios use a longer time window like 1 day or more.

Discovered
combined_trends_tool

Combined trends tool that fetches trending words, stories, and documents in parallel. This tool provides a unified view of all trending data - words with their documents and stories - in a single response across all crypto projects. ## When to use vs `trending_stories_tool` This is a superset of `trending_stories_tool`: same stories, plus trending words, their context and AI-generated bull/bear summaries. It calls an LLM, so it is slower and has a tighter per-tool rate-limit sub-cap than every other tool. If only trending stories are needed, call `trending_stories_tool` instead; set `include_words: false` / `include_stories: false` to drop a half that is not needed. Do not call both tools for the same question. ## Parameters - `time_period` - Time period for trending data (e.g., '1h', '6h', '1d', '7d'). Defaults to '1h' (last hour). - `size` - Number of items per category to return (max 10). Defaults to 10. Trends are computed every hour, and each hourly snapshot already ranks what trended over the 24 hours before it (hype score against the previous 14 days). So the tool returns snapshots 24 hours apart, oldest first: one for a time_period up to '1d', one per day beyond that (e.g. '3d' gives 3), at most 7. Together they cover the whole window. The more snapshots, the fewer items each holds (`size` for one or two, down to 3 for a week). `metadata.coverage` says what the snapshots cover and `metadata.covered_since` where coverage starts; past 7 days, older days are not covered. - `include_stories` - Include trending stories in response. Defaults to true. - `include_words` - Include trending words in response. Defaults to true. ## Response - `trends` - Combined trending data containing stories and words. - `metadata` - Request metadata including time period, size, and included data types. - `errors` - Any non-fatal errors encountered during data fetching. ## Trending Data Structure ### Stories - `title` - Title of the trending story. - `summary` - Summary of the story. - `score` - Trending score. - `query` - Search query used to find the story. - `related_tokens` - List of related crypto tokens (format: "BTC_bitcoin"). - `bullish_sentiment_ratio` - Bullish sentiment ratio. - `bearish_sentiment_ratio` - Bearish sentiment ratio. ### Words - `word` - The trending word. - `score` - Trending score. - `slug` - Associated project slug (if word is project-related). - `summary` - AI-generated summary of discussions. - `bullish_summary` - Summary of bullish sentiment. - `bearish_summary` - Summary of bearish sentiment. - `positive_sentiment_ratio` - Positive sentiment ratio. - `negative_sentiment_ratio` - Negative sentiment ratio. - `neutral_sentiment_ratio` - Neutral sentiment ratio. - `positive_bb_sentiment_ratio` - Positive bull/bear sentiment ratio. - `negative_bb_sentiment_ratio` - Negative bull/bear sentiment ratio. - `neutral_bb_sentiment_ratio` - Neutral bull/bear sentiment ratio. - `context` - Related words that appear with this trending word. - `documents_summary` - AI-generated summary of related social media discussions.

Discovered
fetch_insights_tool

Fetch full text content for specific santiment crypto insights IDs

Discovered
fetch_metric_data_tool

Fetch metric timeseries for one metric and one or many slugs, or for a text search term. Defaults: last 30 days (time_period="30d"), interval="1d". Pass `text` instead of `slugs` to get a social metric for any word or phrase (e.g. how often "sold" was mentioned), not just for an asset. Use this when the assets are already known and the values over time matter. For the opposite direction — "which assets satisfy X" / "top N by X", one aggregated value per asset across the whole universe — use `assets_by_metric_tool`. To confirm a metric exists for a slug first, use `metrics_and_assets_discovery_tool`; to draw the result, use `show_chart`.

Discovered
insight_discovery_tool

List Santiment insights (analyst-written crypto articles) published in a lookback window. Returns metadata only — id, title, tags, author, link, published_at, prediction — never the article body. ## When to use - The user asks what Santiment analysts have written or published recently. - As step 1 of a two-step read: discover ids here, then pass them to `fetch_insights_tool` for the full text. ## When not to use - Full text of an insight — use `fetch_insights_tool` (it needs ids, so call this tool first). - What the market is talking about right now — use `trending_stories_tool` (stories only) or `combined_trends_tool` (stories + trending words). Insights are human-authored articles, not live social signal. - Numeric metric timeseries for an asset — use `fetch_metric_data_tool`. - Ranking or screening assets by a metric — use `assets_by_metric_tool`. ## Parameters - `time_period` (optional, default `"30d"`) — lookback window as `<integer><unit>`, unit one of `s`, `m`, `h`, `d`, `w`, `y` (e.g. `"12h"`, `"7d"`, `"90d"`, `"1y"`). The window is always `now - time_period` .. `now`; absolute dates and future ranges are not supported. An unparsable value returns an error, not a default. There is no tag, author, asset or full-text filter — filter the returned list yourself. ## Behavior - Read-only: no writes, no state change, nothing destructive. - Requires an authenticated Santiment account (API key or OAuth token); every call counts against the account plan's MCP rate limits. - Returns only published, moderator-approved insights, newest first, hard capped at 100 per call. A wide `time_period` can hit that cap and silently omit the oldest insights — if `total_count` is 100, narrow the window and call again. ## Response JSON object: { "insights": [ { "id": 1234, // integer, feed to fetch_insights_tool "title": "...", "tags": ["BTC", "bitcoin"], // asset tickers/slugs and topics "link": "https://app.santiment.net/insights/read/1234", "published_at": "2025-01-30T10:00:00Z", "author": "username", // "Anonymous" when unset "prediction": "semi_bullish" // heavy_bullish | semi_bullish | // semi_bearish | heavy_bearish | // none | unspecified | null } ], "time_period": "30d", "total_count": 1, "period_start": "2024-12-31T10:00:00Z", "period_end": "2025-01-30T10:00:00Z" } An empty `insights` list with `total_count: 0` means nothing was published in the window — a valid result, not an error.

Discovered
metrics_and_assets_discovery_tool

Catalog lookup: which metrics and which crypto assets (slugs) Santiment supports, and whether a given metric exists for a given asset. Returns names and metadata only — it never returns metric values or timeseries. ## When to use - Resolve a name before any data call: turn "Ethereum" into the slug `ethereum`, or "active addresses" into the metric `daily_active_addresses`. - Check availability before calling `fetch_metric_data_tool`, `assets_by_metric_tool` or `show_chart`, so a bad slug/metric does not waste a data call. - Recover from a "metric/slug not supported" error from any other tool. ## When not to use - Actual metric values over time — use `fetch_metric_data_tool`. - Ranking, filtering or screening assets by a metric value — use `assets_by_metric_tool`. - Rendering a chart — use `show_chart`. - Trending words/stories or insights — use `combined_trends_tool` or `insight_discovery_tool`. Those data sets are not in this catalog. ## Parameters Both parameters are optional and the four combinations do four different things: | Arguments | Returns | |----------------------------|---------------------------------------------------| | `{}` | Every supported metric and every supported asset | | `{"slug": ...}` | All metrics available for that one asset | | `{"metric": ...}` | All assets that support that one metric | | `{"slug":..., "metric":...}`| Whether that exact pair is available (validation) | - `slug` — lowercase, hyphen-separated asset id: `"bitcoin"`, `"ethereum"`, `"avalanche"`. Not a ticker: use `"bitcoin"`, not `"BTC"`. One slug per call; lists are not accepted. - `metric` — lowercase snake_case metric id: `"price_usd"`, `"marketcap_usd"`, `"daily_active_addresses"`. One metric per call. Examples: {} {"slug": "ethereum"} {"metric": "price_usd"} {"slug": "bitcoin", "metric": "daily_active_addresses"} ## Behavior - Read-only: no writes, no state change, nothing destructive. - Requires an authenticated Santiment account (API key or OAuth token); every call counts against the account plan's MCP rate limits. - Results are cached server-side, so the catalog can lag a newly listed asset by a few minutes. - Large responses (notably `{}`, which covers ~500 assets) are truncated to stay under the client token limit. When that happens the response carries `"truncated": true` plus `"truncation_notice"`, and the counts are adjusted to what was actually returned — pass `slug` or `metric` to get a complete answer instead of a truncated one. ## Response Always a JSON object. Its shape depends on the arguments. `{}` — full catalog: { "metrics": [{"name": "price_usd", "description": "...", "unit": "USD", "supports_many_slugs": true, "min_interval": "1m", "default_aggregation": "last", "documentation_urls": [{"url": "..."}]}], "assets": [{"name": "Bitcoin", "slug": "bitcoin", "ticker": "BTC"}], "metrics_count": 120, "assets_count": 500, "description": "..." } `{"slug": ...}` — `{"slug", "metrics" (same metric objects as above), "metrics_count", "description"}`. `{"metric": ...}` — `{"metric", "assets" (same asset objects as above), "assets_count", "description"}`. `{"slug": ..., "metric": ...}` — on success `{"slug", "metric": <metric object>, "available": true, "description"}`. Unsupported input is reported inside a successful response, not as a tool error: an unknown `slug` yields `{"error": "...", "available_assets": [...]}`, an unknown `metric` yields `{"error": "...", "available_metrics": [...]}`. There is no `"available": false` — read `error`. Error messages include a fuzzy suggestion for near-miss metric names (`price_uds` -> `price_usd`), so retry with the suggested name.

Discovered
show_chart

Render a Santiment chart with an asset's price (OHLC) plus an optional overlay metric in a second pane. The widget that consumes this tool is built on the Santiment chart library (lightweight-charts under the hood), so the response is render-ready — the client just feeds each `series` entry into the chart unchanged. ## Parameters - `slug` — asset slug (e.g. `bitcoin`, `ethereum`). Defaults to `bitcoin`. - `primary` — what goes into the main pane. - `"price"` (default) — OHLC candlestick. - any metric name from the catalog — line/area instead of candles. - `overlay` — optional metric name to render in a second pane. Allowed values are listed below. - `range` — `24h`, `7d`, `30d`, `90d`, `1y`. Defaults to `30d`. ## Available overlay metrics (catalog) social_volume_total, social_dominance_total, sentiment_balance_total, sentiment_weighted_total, daily_active_addresses, network_growth, transaction_volume_usd, velocity, mvrv_usd, nvt, realized_value_usd, mvrv_long_short_diff_usd, exchange_balance, whale_transaction_count_100k_usd_to_inf, top_holders_held_supply_percent, dev_activity, github_activity, volume_usd, marketcap_usd, funding_rate_perp.

Discovered
trending_stories_tool

Fetch current trending crypto stories with sentiment analysis ## When to use vs `combined_trends_tool` Prefer this tool when only stories are needed: it is the cheap, fast path and has no per-tool rate-limit sub-cap. `combined_trends_tool` is a superset — same stories plus trending words, their context and AI-generated bull/bear summaries — but it calls an LLM, so it is slower and capped much lower per plan. Use it only when trending *words* or those summaries are actually needed, and never call both for the same question. ## Parameters - `time_period` - Time period for trending stories (e.g., '1h', '6h', '1d', '7d'). Defaults to '1h' (last hour). - `size` - Number of trending stories to return (max 10). Defaults to 10. ## Response - `trending_stories` - List of trending stories. - `time_period` - Time period for trending stories. - `size` - Number of trending stories to return. - `period_start` - Start time of the time period. - `period_end` - End time of the time period. - `total_time_periods` - Total number of time periods. ## Trending stories - `title` - Title of the story. - `summary` - Summary of the story. - `bearish_sentiment_ratio` - Bearish sentiment ratio. - `bullish_sentiment_ratio` - Bullish sentiment ratio. - `score` - Score of the story. - `query` - Query used to find the story. - `related_tokens` - List of related tokens. They have the format `BTC_bitcoin` - first part is the ticker, second part is the slug in Sanbase.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected323 ms8