Skip to main content
Glama

CeylonCharts - Colombo Stocks Exchange (CSE) data for AI Agents

Screen indices

screen_indices
Read-onlyIdempotent

Screen CSE sector/headline indices (ASPI, S&P SL20, and industry sub-indices) by the same pre-computed technical criteria as screen_stocks — moving-average position and relative-strength rating. There is no 52-week-range or volume filter here (those are not tracked for indices). Use this to find which sectors are in a sustained uptrend/downtrend, as distinct from get_indices/get_index_data which show a single day's performance. Returns CSV, one row per matching index.

Input Schema

NameRequiredDescriptionDefault
dateNoTrading date to evaluate the screen as of, in YYYY-MM-DD format. Defaults to the latest available trading date when omitted.
sortNoColumn to sort by. Default rs_rating.
limitNoMax results to return; the underlying screener defaults to 20 when omitted.
orderNoSort direction. Default desc.
above_ema21NoWhen set, filters to results whose price is currently above (true) or below (false) its 21-day exponential moving average.
above_ema50NoWhen set, filters to results whose price is currently above (true) or below (false) its 50-day exponential moving average.
above_sma10NoWhen set, filters to results whose price is currently above (true) or below (false) its 10-day simple moving average.
above_ema200NoWhen set, filters to results whose price is currently above (true) or below (false) its 200-day exponential moving average — a long-term trend filter.
rs_rating_maxNoMaximum relative-strength rating (1-99 percentile rank vs. the whole market) to include.
rs_rating_minNoMinimum relative-strength rating (1-99 percentile rank vs. the whole market). E.g. 80+ for market leaders.
change_pct_maxNoOnly include results whose today's percentage price change is at most this value (e.g. -5 for a -5% or worse move).
change_pct_minNoOnly include results whose today's percentage price change is at least this value (e.g. 5 for a +5% or greater move).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • changedInput schema / properties / above_ema200 / description
      Previous value: -"Filter by price above/below its 200-day exponential moving average (long-term trend filter)."New value: +"When set, filters to results whose price is currently above (true) or below (false) its 200-day exponential moving average — a long-term trend filter."
    • changedInput schema / properties / above_ema21 / description
      Previous value: -"Filter by price above/below its 21-day exponential moving average."New value: +"When set, filters to results whose price is currently above (true) or below (false) its 21-day exponential moving average."
    • changedInput schema / properties / above_ema50 / description
      Previous value: -"Filter by price above/below its 50-day exponential moving average."New value: +"When set, filters to results whose price is currently above (true) or below (false) its 50-day exponential moving average."
    • changedInput schema / properties / above_sma10 / description
      Previous value: -"Filter by price above/below its 10-day simple moving average."New value: +"When set, filters to results whose price is currently above (true) or below (false) its 10-day simple moving average."
    • changedInput schema / properties / change_pct_max / description
      Previous value: -"Maximum today's percent change."New value: +"Only include results whose today's percentage price change is at most this value (e.g. -5 for a -5% or worse move)."
    • changedInput schema / properties / change_pct_min / description
      Previous value: -"Minimum today's percent change."New value: +"Only include results whose today's percentage price change is at least this value (e.g. 5 for a +5% or greater move)."
    • changedInput schema / properties / date / description
      Previous value: -"YYYY-MM-DD. Defaults to the latest available trading date."New value: +"Trading date to evaluate the screen as of, in YYYY-MM-DD format. Defaults to the latest available trading date when omitted."
    • changedInput schema / properties / limit / description
      Previous value: -"Max results (default 20, max 100)."New value: +"Max results to return; the underlying screener defaults to 20 when omitted."
    • changedInput schema / properties / rs_rating_max / description
      Previous value: -"Maximum relative-strength rating (1-99)."New value: +"Maximum relative-strength rating (1-99 percentile rank vs. the whole market) to include."
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds real behavioral context beyond them: which criteria the screener evaluates, which screen_stocks filters are absent for indices, and the return shape ('Returns CSV, one row per matching index').

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?

Three sentences, tightly front-loaded: purpose/scope first, exclusions and alternatives second, return format last. No filler or restated name/title, and each sentence carries distinct information.

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?

For a 12-parameter, all-optional screener with no output schema, the description covers scope, criteria, exclusions, sibling routing, and return format, and the schema carries the parameter detail. It slightly under-delivers on how the boolean MA filters combine with the RS/change ranges, but nothing essential is missing.

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 the schema already documents all 12 parameters with formats, ranges, and examples; the baseline is 3. The description adds only a high-level mapping of the filter family (moving-average position, RS rating) and flags which filter dimensions do not exist, but no per-parameter syntax or interaction detail.

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?

Opens with a specific verb+resource ('Screen CSE sector/headline indices'), names the concrete index families (ASPI, S&P SL20, industry sub-indices) and states the criteria used. It explicitly distinguishes itself from screen_stocks (same criteria) and from get_indices/get_index_data (single-day performance).

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?

States the use case directly ('find which sectors are in a sustained uptrend/downtrend') and names the alternative tools for the other use case (single-day performance via get_indices/get_index_data). It also gives an explicit exclusion: no 52-week-range or volume filter here.

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