Skip to main content
Glama
iran-bourse-mcp

iran-bourse-mcp

by msmahdinejad

top_lists

Read-onlyIdempotent

Query the exchange's official best-of rankings for trades, value, volume, gainers, losers, queues, blocks, ETFs, options, and sectors; use the catalogue to find valid lists and flows.

Instructions

The exchange's own best-of tables («برترین‌ها» of tsetmc.com): most trades, biggest traded value or volume, price gainers and losers, last price above or below the close, block trades (معاملات عمده), closing-price-only TAL trades, rights (حق تقدم), ETFs, options and futures by volume or open interest, debt papers, energy and commodity markets, the largest buy and sell queues (برترین تقاضا و عرضه), market-value gainers and losers and industries by traded value, for the Bourse, the Fara Bourse and their sub-markets. Rows keep the exchange's own ranking with stable keys (symbol, close, close_pct, last, trades, volume, value ...; rial). Call it first with list_name='catalogue' to see all lists and the flows each one supports.

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": "top_lists"
  }
}

Input Schema

NameRequiredDescriptionDefault
flowNoMarket segment: 1 or 'bourse' (default), 2 or 'fara', 3 derivatives, 7 commodity, 11 / 12 first / second market of the Bourse, 27 / 28 / 29 Fara base market yellow / orange / red. Each list accepts only some flows; the catalogue says which.
limitNoMaximum rows to return (1-300); the server rejects larger values
list_nameNoA list such as price_gainers, price_losers, top_value, top_volume, most_active, block_trades, closing_price_only, rights, etf_trades, option_calls, option_open_interest, largest_bids, largest_asks, market_cap_gainers or sectors_by_value (the exchange's own type names such as PClosingTop work too). 'catalogue' (default) lists every list with its valid flows, ranking column and fields.catalogue

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world. The description adds useful context: rows preserve the exchange's own ranking, keys are stable, values are in rial, and the catalogue flow lists valid flows/fields. It does not cover pagination, empty-result behavior, or freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening identifies the resource and the closing sentence gives the catalogue-first instruction, so it is reasonably front-loaded. However, the long mid-sentence enumeration of list families is dense and partly redundant with the catalogue mechanism that already documents available lists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description only sketchily names columns (symbol, close, close_pct, last, trades, volume, value) with a currency note. For a data-retrieval tool with a free-form list_name and multi-flow matrix, that is adequate but not fully complete about result shape or ordering guarantees.

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 cross-parameter meaning the schema cannot: the catalogue default exists to reveal which list_name/flow combinations are valid, and flow compatibility is per-list. That materially helps an agent choose parameters rather than guess from the enum-less free strings.

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 states a specific resource: the exchange's own best-of tables from tsetmc.com, and enumerates the concrete families (most trades, gainers/losers, block trades, queues, industries by value) across flows. An agent knows what it returns without opening the schema. It does not name siblings such as top_movers or screen_stocks, so differentiation is left implicit.

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?

It gives an explicit workflow: call first with list_name='catalogue' to see all lists and the flows each supports, and notes that each list accepts only some flows. That is actionable sequencing. It stops short of saying when to prefer this over top_movers or screen_stocks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.