Skip to main content
Glama

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

Get top shareholders

get_top20_shareholders
Read-onlyIdempotent

Get the top-20 ranked shareholder list for a CSE company, as filed each quarter. Shareholders are entity-level (any instrument suffix given is ignored, same as get_financial_statement). Returns CSV (quarter,rank,name,shares,pct). By default only the latest quarter on record is returned — pass all=true to see every quarter (useful for spotting ownership changes over time), or quarter to see one specific historical snapshot. If the symbol is ambiguous, returns JSON candidates instead.

Input Schema

NameRequiredDescriptionDefault
allNoReturn every quarter on record, oldest first, instead of just the latest.
symbolYesA CSE ticker or the company name (e.g. "SAMP" or "Sampath Bank"). Typos are tolerated. Shareholder data is entity-level, so any instrument suffix given is ignored. If ambiguous, the response returns candidates instead of data; ask the user to pick one and call again with the exact symbol.
quarterNoRestrict to one filed period, exactly as it appears in the response's meta.quarters list (e.g. "Mar 2025"). Takes precedence over `all`. Omit along with `all` to get just the latest quarter.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds genuinely new behavior: exact return shape ('CSV (quarter,rank,name,shares,pct)'), that instrument suffixes are ignored, that `quarter` overrides `all`, and the non-obvious fallback of returning JSON candidates on ambiguity. These are traits an agent cannot infer from annotations or schema.

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 and return shape before mode details, with no filler sentences. It is somewhat dense across several clauses, but every clause carries operational information.

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 no output schema, the description steps in to specify the exact return columns and the JSON-candidates fallback, and it covers default scope, override precedence, and symbol matching. Nothing needed to invoke it correctly 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% and the schema itself already documents the `all` semantics, the `quarter` precedence over `all`, and the ambiguity behavior. The description largely restates those rules rather than adding format or syntax beyond them, so the baseline 3 applies.

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?

States a specific verb and resource ('Get the top-20 ranked shareholder list for a CSE company'), plus filing cadence and entity-level scoping. It explicitly cross-references get_financial_statement for the same entity-level semantics, letting an agent distinguish it from siblings without opening schemas.

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?

Gives clear default behavior (latest quarter only) and the conditions that select each alternative mode ('all=true to see every quarter', 'quarter to see one specific historical snapshot'). It also flags the ambiguous-symbol path. It stops short of naming sibling tools that are alternatives for adjacent questions (e.g., get_foreign_holdings), so no explicit when-not-to-use.

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