Skip to main content
Glama

Quote

quote
Read-onlyIdempotent

Twelve Data real-time quote snapshot for a symbol: open, high, low, close, volume, 52-week range, exchange, currency. Use for a full current-day market snapshot.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolYesTicker/symbol. Stocks e.g. "AAPL", "MSFT"; forex "EUR/USD"; crypto "BTC/USD"; ETFs "SPY". Comma-separate for a batch (e.g. "AAPL,MSFT"). Market indices (SPX, N225, …) need a Grow-or-higher Twelve Data key passed via _apiKey — the shared key cannot quote them.
exchangeNoOptional exchange filter (e.g. "NASDAQ", "NYSE", "Binance").
intervalNoBar interval: 1min, 5min, 15min, 30min, 45min, 1h, 2h, 4h, 1day, 1week, or 1month.
timezoneNoOptional timezone, e.g. "America/New_York" or "UTC".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
lowNo
highNo
nameNo
openNo
closeNo
changeNo
symbolNo
volumeNo
currencyNo
datetimeNo
exchangeNo
mic_codeNo
timestampNo
last_quote_atNo
average_volumeNo
fifty_two_weekNo
is_market_openNo
percent_changeNo
previous_closeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed23 schema fields changed
    • changedInput schema / properties / symbol / description
      Previous value: -"Ticker/symbol. Stocks e.g. \"AAPL\", \"MSFT\"; forex \"EUR/USD\"; crypto \"BTC/USD\"; ETFs \"SPY\"; indices \"IXIC\". Comma-separate for a batch (e.g. \"AAPL,MSFT\")."New value: +"Ticker/symbol. Stocks e.g. \"AAPL\", \"MSFT\"; forex \"EUR/USD\"; crypto \"BTC/USD\"; ETFs \"SPY\". Comma-separate for a batch (e.g. \"AAPL,MSFT\"). Market indices (SPX, N225, …) need a Grow-or-higher Twelve Data key passed via _apiKey — the shared key cannot quote them."
    • addedOutput schema / properties / average_volume
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / change
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / close
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / code
      Removed value: -{
      -  "description": "Response code",
      -  "type": "number"
      -}
    • addedOutput schema / properties / currency
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / datetime
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / exchange
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / fifty_two_week
      Added value: +{
      +  "properties": {
      +    "high": {
      +      "type": "string"
      +    },
      +    "high_change": {
      +      "type": "string"
      +    },
      +    "high_change_percent": {
      +      "type": "string"
      +    },
      +    "low": {
      +      "type": "string"
      +    },
      +    "low_change": {
      +      "type": "string"
      +    },
      +    "low_change_percent": {
      +      "type": "string"
      +    },
      +    "range": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / high
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / is_market_open
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / last_quote_at
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / low
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / message
      Removed value: -{
      -  "description": "Response message",
      -  "type": "string"
      -}
    • addedOutput schema / properties / mic_code
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / name
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / open
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / percent_change
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / previous_close
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "description": "Response status",
      -  "type": "string"
      -}
    • addedOutput schema / properties / symbol
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / timestamp
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / volume
      Added value: +{
      +  "type": "string"
      +}
  2. Changed4 schema fields changed
    • addedInput schema / properties / exchange
      Added value: +{
      +  "description": "Optional exchange filter (e.g. \"NASDAQ\", \"NYSE\", \"Binance\").",
      +  "type": "string"
      +}
    • addedInput schema / properties / interval
      Added value: +{
      +  "description": "Bar interval: 1min, 5min, 15min, 30min, 45min, 1h, 2h, 4h, 1day, 1week, or 1month.",
      +  "type": "string"
      +}
    • addedInput schema / properties / symbol
      Added value: +{
      +  "description": "Ticker/symbol. Stocks e.g. \"AAPL\", \"MSFT\"; forex \"EUR/USD\"; crypto \"BTC/USD\"; ETFs \"SPY\"; indices \"IXIC\". Comma-separate for a batch (e.g. \"AAPL,MSFT\").",
      +  "type": "string"
      +}
    • addedInput schema / properties / timezone
      Added value: +{
      +  "description": "Optional timezone, e.g. \"America/New_York\" or \"UTC\".",
      +  "type": "string"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "symbol": "AAPL"
      +  },
      +  {
      +    "symbol": "TSLA"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "code": {
      +      "description": "Response code",
      +      "type": "number"
      +    },
      +    "message": {
      +      "description": "Response message",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "Response status",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • removedInput schema / additionalProperties
      Removed value: -true
  5. Changed2 schema fields changed
    • removedInput schema / examples
      Removed value: -[
      -  {
      -    "symbol": "AAPL"
      -  },
      -  {
      -    "symbol": "TSLA"
      -  }
      -]
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "code": {
      -      "description": "Response code",
      -      "type": "number"
      -    },
      -    "message": {
      -      "description": "Response message",
      -      "type": "string"
      -    },
      -    "status": {
      -      "description": "Response status",
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  6. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "symbol": "AAPL"
      +  },
      +  {
      +    "symbol": "TSLA"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "code": {
      +      "description": "Response code",
      +      "type": "number"
      +    },
      +    "message": {
      +      "description": "Response message",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "Response status",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  7. First observed

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context about real-time current-day data and the specific fields returned, but does not disclose nuances such as batch limitations or the special key requirement for indices, which are instead left to the schema.

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?

Two short sentences, with the core purpose and returned fields front-loaded and the usage guidance following immediately. No wasted words or redundant restatement of the schema.

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?

Given the rich output schema, complete parameter documentation, and annotations covering read-only/idempotent behavior, the description is fully sufficient for an agent to select and invoke the tool correctly. It conveys the key differentiator—real-time current-day snapshot—without needing to repeat return-value details already present in the output schema.

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?

Schema description coverage is 100%, so all four parameters are already fully documented, including batch syntax, index key requirements, and interval options. The tool description itself adds no parameter-level meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: a real-time quote snapshot for a symbol, with an explicit list of returned fields. It is distinct from historical tools like time_series or eod by emphasizing 'real-time' and 'full current-day market snapshot,' though it does not explicitly name sibling alternatives.

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 an explicit usage context: 'Use for a full current-day market snapshot.' This tells an agent when to select this tool, though it does not mention when not to use it or point to specific sibling alternatives like price or eod.

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.