Skip to main content
Glama

Crypto news and sentiment

crypto_news
Read-onlyIdempotent

The headline read for one coin: recent headlines, the written points behind them, a pre-computed mood score (-100 to +100) and the market-wide picture alongside. Use it when the HEADLINES are what was asked for ("any news on SOL", "what are people saying about ETH", "show me the headlines"). For "why is X moving" call market_brief instead: it already carries this coin's news next to the price, whale flow and forced closes, so no second call is needed. News is a candidate explanation for a move, never asserted as the reason. Descriptive market data only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
coinNoCoin symbol, for example BTC. A pair like ETH/USD works too, the quote leg is dropped. Defaults to BTC. News coverage is not every coin: where nothing was recorded the reply carries covered:false and a null sentiment_score, which is absence and not a neutral reading.
pairNoAlias for coin.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
coinNoThe coin the headlines and score are about.
noteNoOne line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
macroNoThe same three fields for the market as a whole: sentiment, sentiment_score and summary.
pointsNoThe written points behind the summary, each with a kind (signal, data, risk or macro) and its text. Empty when nothing was recorded.
coveredNoFalse when nothing was recorded for this coin, which is why sentiment_score is null. Not a neutral reading.
summaryNoThe pre-written summary for this coin, or null.
realtimeNoTrue when the headlines are live. Keyless connections get the delayed set.
headlinesNoUp to 20 recent headlines, each with title, source, published time and link.
key_levelNoThe one level or figure the written read points at, or null.
sentimentNoThe wording that goes with the score, or unknown.
sentiment_scoreNoMinus 100 to plus 100. Null means nothing was measured, which is not the same as zero.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / key_level
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The one level or figure the written read points at, or null."
      +}
    • addedOutput schema / properties / points
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {},
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The written points behind the summary, each with a kind (signal, data, risk or macro) and its text. Empty when nothing was recorded."
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / coin / description
      Added value: +"Coin symbol, for example BTC. A pair like ETH/USD works too, the quote leg is dropped. Defaults to BTC. News coverage is not every coin: where nothing was recorded the reply carries covered:false and a null sentiment_score, which is absence and not a neutral reading."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "coin": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The coin the headlines and score are about."
      +    },
      +    "covered": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "False when nothing was recorded for this coin, which is why sentiment_score is null. Not a neutral reading."
      +    },
      +    "headlines": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Up to 20 recent headlines, each with title, source, published time and link."
      +    },
      +    "macro": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The same three fields for the market as a whole: sentiment, sentiment_score and summary."
      +    },
      +    "note": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading."
      +    },
      +    "realtime": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "True when the headlines are live. Keyless connections get the delayed set."
      +    },
      +    "sentiment": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The wording that goes with the score, or unknown."
      +    },
      +    "sentiment_score": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Minus 100 to plus 100. Null means nothing was measured, which is not the same as zero."
      +    },
      +    "summary": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The pre-written summary for this coin, or null."
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds behavioral nuance: it notes that news is 'a candidate explanation for a move, never asserted as the reason' and that it provides 'descriptive market data only.' This adds interpretive context beyond the annotations, though it doesn't detail response shapes or error handling, which is partially covered by the output schema and parameter descriptions.

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?

The description is well-structured and front-loaded with the core purpose, followed by usage examples and alternatives. Every sentence adds value—the alternative routing, the caveat about news not being the reason, and the 'descriptive data' tag. No fluff, and it remains readable despite its length.

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?

The description covers the tool's purpose, typical queries, distinction from alternatives, and the interpretive stance on news. Combined with a rich input schema and existing output schema, nothing essential is missing for an agent to use this tool correctly. The only minor gap (what 'market-wide picture' entails) is not critical given the overall context.

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?

The schema has 100% description coverage for both parameters, including defaults, aliases, and edge-case behavior (covered:false). The tool description adds no additional parameter-specific meaning, so per the baseline rule for high schema coverage, a score of 3 is appropriate.

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 clearly states the tool's function: 'The headline read for one coin: recent headlines, the written points behind them, a pre-computed mood score (-100 to +100) and the market-wide picture alongside.' It specifies a verb (read) and resource (headlines for a coin), and differentiates from siblings by naming market_brief as the alternative for 'why is X moving'. This makes it distinct from the many other tools.

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?

Explicitly states when to use this tool: 'Use it when the HEADLINES are what was asked for' with concrete examples, and when not to: 'For "why is X moving" call market_brief instead' with reasoning that market_brief already contains the news. This is clear guidance that routes the agent correctly among alternatives.

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