Skip to main content
Glama

Search market headlines

search_headlines
Read-only

Search real-time financial news by words or ticker. Returns dated headlines, links and available prices before and after the news. All query words must match, in any order. Use start_utc/end_utc for a specific date. A price move alone does not prove the cause.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_headlines"
  }
}

Input Schema

NameRequiredDescriptionDefault
hoursNoLook-back window in hours (1-336, default 24).
limitNoMax results (1-50, default 20).
queryNoWords to match in the headline, all required, any order (maximum 8).
impactNoOptional existing event-impact classification.
tickerNoRestrict to a ticker, e.g. NVDA.
end_utcNoExclusive end timestamp with timezone. Overrides the relative look-back window.
start_utcNoInclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00.
before_hoursNoEnd the window this many hours ago; use with hours to inspect earlier parts of the day.

Output Schema

NameRequiredDescriptionDefault
countYes
errorNo
as_of_utcNo
data_noteNo
headlinesYes
fund_basisNo
fund_proxyNo
data_statusNo
context_noteNo
query_windowNo
window_hoursNo
matched_termsNoQuery words actually matched, after removing question words.
withheld_rowsNo
returned_countsNo
newest_result_utcNo
fund_holdings_newsNoFor a fund with no news of its own: headlines on its largest holdings or macro themes. Not about the fund itself.
latest_before_windowNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedOutput schema / properties / context_note
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / fund_basis
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / fund_holdings_news
      Added value: +{
      +  "description": "For a fund with no news of its own: headlines on its largest holdings or macro themes. Not about the fund itself.",
      +  "items": {
      +    "properties": {
      +      "category": {
      +        "type": "string"
      +      },
      +      "context": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "headline": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "impact": {
      +        "type": "string"
      +      },
      +      "market_reaction": {
      +        "properties": {
      +          "instruments": {
      +            "items": {
      +              "properties": {
      +                "baseline_kind": {
      +                  "type": "string"
      +                },
      +                "baseline_utc": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "currency": {
      +                  "type": "string"
      +                },
      +                "label": {
      +                  "description": "Display name of the measured series.",
      +                  "type": "string"
      +                },
      +                "move_10m_pct": {
      +                  "description": "Percent move 10 minutes after the headline, measured from price_before.",
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "move_1m_pct": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "notes": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "price_10m": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "price_1m": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "price_before": {
      +                  "description": "Price immediately before the headline crossed.",
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "samples": {
      +                  "items": {
      +                    "properties": {
      +                      "change_pct": {
      +                        "type": [
      +                          "number",
      +                          "null"
      +                        ]
      +                      },
      +                      "minutes": {
      +                        "type": "integer"
      +                      },
      +                      "price": {
      +                        "type": [
      +                          "number",
      +                          "null"
      +                        ]
      +                      },
      +                      "sample_utc": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "session": {
      +                  "type": "string"
      +                },
      +                "symbol": {
      +                  "type": "string"
      +                },
      +                "volume": {
      +                  "type": "string"
      +                },
      +                "volume_quality": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "volume_ratio_10m": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "window_minutes": {
      +                  "type": "integer"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "interpretation": {
      +            "type": "string"
      +          },
      +          "measured_from": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "price_data_status": {
      +        "type": "string"
      +      },
      +      "published_et": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "published_utc": {
      +        "format": "date-time",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "read_through": {
      +        "items": {
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "related_companies": {
      +        "type": "object"
      +      },
      +      "screen_matches": {
      +        "items": {
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "tickers": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "url": {
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "why": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "headline"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / fund_proxy
      Added value: +{
      +  "type": "object"
      +}
    • addedOutput schema / properties / latest_before_window
      Added value: +{
      +  "properties": {
      +    "category": {
      +      "type": "string"
      +    },
      +    "context": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "headline": {
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "impact": {
      +      "type": "string"
      +    },
      +    "market_reaction": {
      +      "properties": {
      +        "instruments": {
      +          "items": {
      +            "properties": {
      +              "baseline_kind": {
      +                "type": "string"
      +              },
      +              "baseline_utc": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "currency": {
      +                "type": "string"
      +              },
      +              "label": {
      +                "description": "Display name of the measured series.",
      +                "type": "string"
      +              },
      +              "move_10m_pct": {
      +                "description": "Percent move 10 minutes after the headline, measured from price_before.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "move_1m_pct": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "notes": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "price_10m": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "price_1m": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "price_before": {
      +                "description": "Price immediately before the headline crossed.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "samples": {
      +                "items": {
      +                  "properties": {
      +                    "change_pct": {
      +                      "type": [
      +                        "number",
      +                        "null"
      +                      ]
      +                    },
      +                    "minutes": {
      +                      "type": "integer"
      +                    },
      +                    "price": {
      +                      "type": [
      +                        "number",
      +                        "null"
      +                      ]
      +                    },
      +                    "sample_utc": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "session": {
      +                "type": "string"
      +              },
      +              "symbol": {
      +                "type": "string"
      +              },
      +              "volume": {
      +                "type": "string"
      +              },
      +              "volume_quality": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "volume_ratio_10m": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "window_minutes": {
      +                "type": "integer"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "interpretation": {
      +          "type": "string"
      +        },
      +        "measured_from": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "price_data_status": {
      +      "type": "string"
      +    },
      +    "published_et": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "published_utc": {
      +      "format": "date-time",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "read_through": {
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "related_companies": {
      +      "type": "object"
      +    },
      +    "screen_matches": {
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "tickers": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "url": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "why": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "headline"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / matched_terms
      Added value: +{
      +  "description": "Query words actually matched, after removing question words.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. Changed4 schema fields changed
    • addedOutput schema / properties / error
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / headlines / items / properties / related_companies
      Added value: +{
      +  "type": "object"
      +}
    • addedOutput schema / properties / headlines / items / properties / screen_matches
      Added value: +{
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / withheld_rows
      Added value: +{
      +  "type": "object"
      +}
  3. Changed21 schema fields changed
    • addedInput schema / properties / end_utc
      Added value: +{
      +  "description": "Exclusive end timestamp with timezone. Overrides the relative look-back window.",
      +  "type": "string"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Free text to match in the headline."New value: +"Words to match in the headline, all required, any order (maximum 8)."
    • addedInput schema / properties / start_utc
      Added value: +{
      +  "description": "Inclusive start timestamp with timezone, e.g. 2026-10-14T00:00:00-04:00.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / as_of_utc
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / data_note
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / data_status
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / headlines / items / properties / market_reaction / properties / instruments / items / properties / baseline_kind
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / headlines / items / properties / market_reaction / properties / instruments / items / properties / baseline_utc
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / headlines / items / properties / market_reaction / properties / instruments / items / properties / currency
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / headlines / items / properties / market_reaction / properties / instruments / items / properties / notes
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / headlines / items / properties / market_reaction / properties / instruments / items / properties / samples
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "change_pct": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "minutes": {
      +        "type": "integer"
      +      },
      +      "price": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "sample_utc": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / headlines / items / properties / market_reaction / properties / instruments / items / properties / session
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / headlines / items / properties / market_reaction / properties / instruments / items / properties / volume
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / headlines / items / properties / market_reaction / properties / interpretation
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / headlines / items / properties / price_data_status
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / headlines / items / properties / published_et
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / headlines / items / properties / read_through
      Added value: +{
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / headlines / items / properties / url
      Added value: +{
      +  "format": "uri",
      +  "type": "string"
      +}
    • addedOutput schema / properties / newest_result_utc
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / query_window
      Added value: +{
      +  "type": "object"
      +}
    • addedOutput schema / properties / returned_counts
      Added value: +{
      +  "type": "object"
      +}
  4. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, non-destructive and closed-world, so the safety profile is covered. The description adds genuine behavior: result contents (headlines, links, surrounding prices), strict AND matching across query words, and an epistemic caveat that a price move alone does not prove causation.

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?

Four short sentences, front-loaded with purpose and output shape, then modifiers, then a useful caution. No filler; the only near-redundancy is the query-matching rule repeated from the schema.

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?

An output schema exists, so return structure needn't be spelled out, and the description covers scope, matching rules and time-window controls. With 8 optional parameters, a bit more on how the time filters interact (hours vs before_hours) would close the remaining gap.

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 baseline is 3. The description restates the AND-matching rule already in the query field and adds only the start_utc/end_utc override hint; hours, limit, before_hours, impact and ticker semantics are left entirely to the schema.

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?

States a specific verb and resource ('Search real-time financial news by words or ticker') plus what comes back (dated headlines, links, before/after prices). It is clearly distinguishable from article-fetching and stats siblings, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives parameter-level usage hints ('Use start_utc/end_utc for a specific date') and matching semantics, but never says when to choose this over event_screen or ticker_brief, nor any exclusions. Usage is implied rather than routed.

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