Skip to main content
Glama

sentiment_history

Read-onlyIdempotent

Social sentiment history (daily snapshots) — Returns the daily historical social-sentiment score for a single token over the last N days (default 30, max 180). Data is sourced from CryptoWhaleInsights' own in-house Social Sentiment engine (Stocktwits + CoinGecko + price-momentum — no Twitter API). Each day is recorded once per day from the live 5-min sentiment cycle. Cold-start days with no data are omitted. Use ?symbol=BTC&days=30 (symbol is required; days is optional 1–180). Supported symbols: BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, MATIC, DOT, LINK, UNI, ATOM, ARB, OP, SUI, SEI, NEAR, APT, PEPE, WIF, BONK, FET, RENDER, TAO, AAVE, MKR, LDO, INJ, TON, STX, TIA, PYTH, BLUR, MINA, and more. Score is 0–100 (≥60 bullish, ≤40 bearish). Cached 5min. — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of recent days to return (1–180, default 30).
symbolYesToken symbol to look up (e.g. BTC, ETH, SOL). Case-insensitive.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNo
totalNo
symbolNo
historyNo
updatedAtNo
attributionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "attribution": {
      +      "$ref": "#/components/schemas/Attribution"
      +    },
      +    "days": {
      +      "type": "number"
      +    },
      +    "history": {
      +      "items": {
      +        "properties": {
      +          "date": {
      +            "description": "Snapshot date (YYYY-MM-DD, UTC).",
      +            "format": "date",
      +            "type": "string"
      +          },
      +          "score": {
      +            "description": "Sentiment score 0–100 (≥60 bullish, ≤40 bearish).",
      +            "type": "integer"
      +          },
      +          "sentiment": {
      +            "enum": [
      +              "bullish",
      +              "bearish",
      +              "neutral"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "symbol": {
      +      "type": "string"
      +    },
      +    "total": {
      +      "type": "number"
      +    },
      +    "updatedAt": {
      +      "format": "date-time",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / days / description
      Previous value: -"Number of recent days to return (1–90, default 30)."New value: +"Number of recent days to return (1–180, default 30)."
  3. Added

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds valuable behavioral context beyond those: the data source (Stocktwits + CoinGecko + price-momentum, no Twitter API), the once-per-day recording from a 5-min cycle, omission of cold-start days, score thresholds (≥60 bullish, ≤40 bearish), and 5-minute caching. This is rich, non-redundant context.

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?

The description is dense but every sentence earns its place: core behavior, data source, recording cadence, cold-start handling, usage example, supported symbols, score interpretation, cache info, and routing to alternatives. The supported-symbols list is long but useful. It is slightly overstuffed, but the structure front-loads the main purpose and ends with practical guidance.

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?

Given the output schema exists and annotations are rich, the description covers the essential runtime behavior: cadence, source, caching, cold-start omissions, score interpretation, and alternatives. The main gaps are the days-range contradiction with the schema and the unnamed live-snapshot sibling, which slightly reduces completeness.

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

Parameters2/5

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

Schema coverage is 100%, so the baseline is 3. The description does add meaning by listing supported symbols, providing an example, and repeating that symbol is required. However, it claims 'max 180' and 'days is optional 1–180' while the schema's numeric maximum is 90. This direct contradiction could cause an agent to pass invalid values (e.g., days=180) and fail invocation.

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?

The description opens with a specific verb and resource: 'Returns the daily historical social-sentiment score for a single token over the last N days.' It clearly distinguishes itself from siblings by stating it is for daily historical data, while live conditions and long-term trends belong to other tools. The scope (single token, daily snapshots) is unambiguous.

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?

The description gives a concrete invocation example ('?symbol=BTC&days=30'), states that symbol is required and days is optional, and explicitly says to use the live snapshot tool for current conditions and the monthly tool for long-term trends. However, it refers to 'the corresponding live snapshot tool' generically rather than naming the exact sibling, leaving some mapping to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources