Skip to main content
Glama
sepehr071

fipiran-mcp

by sepehr071

Search and rank funds

fp_search_funds
Read-onlyIdempotent

Search Iranian mutual funds and ETFs by name, type, or manager, then rank them by return or size to find funds matching your criteria.

Instructions

Search Iranian mutual funds and ETFs by name, type or manager, and rank them by return or size.

Use for "best fixed income funds this year", "biggest gold funds", "funds managed by X". Each row has reg_no and group_id: pass them to fp_fund, fp_history or fp_compare. Returns are percent; size is billion Toman.

Input Schema

NameRequiredDescriptionDefault
limitNoRows to return.
queryNoPart of the fund name, ticker or manager, Persian (e.g. 'کیان', 'طلا', 'آگاه').
managerNoPart of the fund manager's name, e.g. 'آگاه'.
sort_byNoRanking column; returns are percent over that period.annual
ascendingNoTrue lists the lowest first.
fund_typeNoType id or name: 4 fixed income (درآمد ثابت), 5 gold/commodity, 6 equity (سهام), 7 mixed (مختلط), 21 sector, 22 leveraged, 23 index, 25 pension... English words work too: fixed_income, gold, equity, mixed. fp_fund_types lists all.
min_age_yearsNoOnly funds older than this; use it so 'annual' returns are not from a young fund.
exchange_tradedNoTrue: only funds traded on the exchange like shares (ETFs, with a ticker). False: only funds you buy and redeem at NAV. Omit for both.
min_size_bn_tomanNoOnly funds at least this big, in billion Toman.
include_market_makersNoAlso list market-maker funds (type 11, over 1000 series, rarely wanted).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), so the description's job is to add semantics — and it does, disclosing that returns are percent, size is billion Toman, and each row carries reg_no and group_id. It does not mention the 50-row ceiling or whether results are paginated beyond the schema's limit, which keeps it from a 5.

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?

Two tight paragraphs: the capability and ranking axes come first, then usage triggers, then the hand-off to sibling tools and unit definitions. No sentence is redundant against the schema.

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 still tells the agent the key returned fields (reg_no, group_id) and the unit conventions for numeric columns, which is enough to chain calls. It does not enumerate the remaining row fields (name, ticker, manager, age) or mention the row-limit default/ceiling, a minor gap for a 10-parameter search tool.

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 baseline is 3, but the description adds unit semantics for the ranking columns ('Returns are percent; size is billion Toman') that the schema does not spell out globally, plus the chaining meaning of reg_no/group_id. The min_age_years caveat about young funds is in the schema, not repeated here.

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 pair (search and rank) against a named resource (Iranian mutual funds and ETFs) plus the filter dimensions (name, type, manager) and ranking basis (return or size). It also distinguishes itself from siblings by naming fp_fund, fp_history, fp_compare as downstream consumers of its rows.

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 natural-language triggers ('best fixed income funds this year', 'biggest gold funds', 'funds managed by X') that map directly onto sort_by/fund_type/manager parameters, and tells the agent what to do next with the returned reg_no/group_id. It also points to fp_fund_types for the full type enumeration.

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