Skip to main content
Glama

A stock's EL7 score over time

el7_stock_score_history
Read-only

One stock's EL7 score over time, oldest first: overall or one factor, as a percentile against the market, sector or industry, with rank and change from first to last point. Scores are quarterly (one point per fiscal period, so a handful of points per stock) and from filters by fiscal period end; a window with no period returns an empty, unbilled series that states the available periods. Scores only, no prices. Latest snapshot: el7_stock_profile; biggest recent changes: el7_score_movers.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "symbol": "<symbol>"
    },
    "name": "el7_stock_score_history"
  }
}

Input Schema

NameRequiredDescriptionDefault
fromNoOnly periods ending on or after this date, YYYY-MM-DD. Default: all stored history.
langNoOutput language: 'en' (default) or 'ar' for EL7's stored Arabic text.
limitNoMost recent periods to return (1-60, default 20); the series is returned oldest first.
scopeNoPeer group the percentile is measured against: whole market (default), the stock's sector, or its industry. Sector/industry scopes also return the rank and peer count.market
factorNoEL7 score to use: overall (the blended EL7 score) or one axis: valuation, growth, quality, safety, capital_return, momentum, sentiment.overall
symbolYesStock ticker, e.g. AAPL, NVDA, or a Tadawul symbol such as 2222.SR.

Output Schema

NameRequiredDescriptionDefault
urlYes
nameYes
as_ofNoSource freshness: the newest source timestamp behind this result, or null when none is verified. Never request time.
scopeYes
factorYes
seriesYes
symbolYes
returnedYes
score_methodYes
change_first_to_lastYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds genuinely useful context beyond that: quarterly cadence with one point per fiscal period and therefore only a handful of points, plus the fact that an empty window returns an unbilled series stating available periods. That billing and empty-result behavior is real added value, though the description does not restate ordering-vs-limit interaction for the caller.

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?

Front-loaded with the core purpose, then progressively narrower details (cadence, empty-window behavior, sibling routing). Every clause carries information, but the opening sentence is heavily stacked with sub-clauses separated by colons and commas, which slightly slows parsing.

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?

With six parameters, three enums, and an output schema already present, the description covers exactly what the structured fields cannot: data cadence and expected series length, empty-window behavior, what is excluded (prices), and where to go for the latest snapshot or recent movers. Nothing an agent needs in order to call this correctly is missing.

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

Parameters4/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, but the description adds meaning the schema does not: `from` filters by fiscal period end specifically, and the series is framed as a percentile against market/sector/industry with rank and change derived from the endpoints. The distinction between `limit` (most recent periods) and oldest-first output ordering is implied by the description rather than spelled out, keeping it below a 5.

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?

Names a specific resource and scope ('One stock's EL7 score over time, oldest first'), then enumerates the selectable dimensions (overall vs. one factor; percentile vs. market/sector/industry) and the derived fields returned (rank, change from first to last point). It also explicitly separates itself from el7_stock_profile ('latest snapshot') and el7_score_movers ('biggest recent changes'), so an agent can route correctly without opening any schema.

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?

Gives explicit alternatives with the condition that selects each: use el7_stock_profile for the latest snapshot and el7_score_movers for biggest recent changes. It also adds a negative boundary ('Scores only, no prices') that prevents a wrong-tool call, and explains the correct behavior when a date window yields nothing.

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