Skip to main content
Glama
iran-brokers-mcp

iran-brokers-mcp

by sepehr071

ETFs with price vs NAV

br_etfs
Read-onlyIdempotent

List exchange-traded funds with price, NAV, bubble gap, traded value, and returns; sort by value, change, NAV gap, volume, or market cap to compare funds and identify low-bubble or high-return options.

Instructions

List exchange-traded funds with price, NAV and the gap between them (bubble), traded value and returns.

Use for "cheapest gold ETF" or "fixed-income ETF with the lowest bubble". Mofid rows: price, NAV, gap %, change, value, volume, market cap, signal. Agah rows: price, bubble, NAV, 1-month and 1-year NAV returns, value, manager. Money is Rial. Next: br_stock (Mofid card) or br_fund (Agah detail and history) for one fund; br_screener (kind='etf' or 'mutual') filters funds on any column.

Input Schema

NameRequiredDescriptionDefault
sortNovalue = traded value today, change = price change %, nav_gap = market price above(+)/below(-) NAV in %. market_cap is Mofid only.value
typeNoFund family; omit for all. fixedincome = income funds, goldetf = gold-backed. Agah knows only fixedincome, stock and goldetf (as commodity funds).
limitNoRows per source.
queryNoPart of the fund symbol, Persian or Latin.
sourceNomofid (default) = 375 ETFs; agah = 331 listed ETFs with NAV returns and manager; all = both for comparison.mofid
ascendingNoLowest first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, open-world behavior, so safety is covered. The description adds genuinely non-obvious behavior: the two sources return different column sets, Agah lacks several fund families, and all monetary values are in Rial. It stops short of describing what source='all' returns structurally (merged list vs. two blocks) or pagination semantics.

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 examples, then source payloads, then next-step routing — a logical funnel. The dense comma-separated field lists are justified given there is no output schema, though they read more like a spec dump than prose.

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?

With no output schema, the description carries the return-shape burden and does so by enumerating columns per source and stating the currency. Remaining gaps are the combined behavior of source='all' and whether limit truncates across sources — minor but relevant for a dual-source listing tool.

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 coverage is 100% and the schema already explains sort enums, source counts, and type families in detail. The description's only real parameter-level addition is the Rial currency unit; the per-source row lists describe return values rather than parameter meaning, so 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 ("List exchange-traded funds") plus the distinctive fields it returns (price, NAV, gap/bubble, traded value, returns). The per-source row breakdown and the closing routing line separate it from br_screener, br_fund and br_stock without requiring the agent to open 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 concrete task examples ("cheapest gold ETF", "fixed-income ETF with the lowest bubble") and explicit alternatives with the condition that selects them: br_stock/br_fund for a single fund, br_screener for arbitrary column filtering. The agent can route correctly from this text alone.

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