fipiran-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FIPIRAN_MCP_PROXY | No | Optional HTTP proxy URL. System proxy settings are ignored. fipiran.ir only answers Iranian internet lines, so outside Iran set this to an Iranian proxy. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fp_search_fundsA | 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. |
| fp_fund_typesA | List fund types (equity, fixed income, gold, mixed...) with fund counts, total size and average returns. Use first to learn the type ids for fp_search_funds, or for "how are equity funds doing vs fixed income". Returns are the average percent for the type; allocation is the average share of stock/bond/cash/deposit. |
| fp_fundA | Get one fund in full: NAV, returns, size, allocation, investors, manager, auditor, custodian, website. Use after fp_search_funds. For a price series use fp_history; to put several side by side use fp_compare. |
| fp_historyA | Get a fund's daily history: NAV, returns, size and flows, investor mix or dividends, at most 60 points. Use for "how did this fund move in the last 6 months" or "are investors putting money in". Oldest first. The result also has the NAV change over the window (nav) or the net units issued minus redeemed (size). |
| fp_compareA | Put 2 to 8 funds side by side: type, size, NAV, returns for every period, allocation, manager. Use after fp_search_funds when the user is choosing between funds. Ids are the reg_no (and group_id) of search rows. |
| fp_managersA | Rank fund management companies by total assets under management, with their fund count and typical return. Use for "which companies run the most funds". Pass a manager name from here to fp_search_funds(manager=...). avg_annual_return_pct only covers that manager's funds older than one year. |
| fp_indicesA | Show the Tehran and Farabourse market summary and rank the 65 market and industry indices by return. Use for "how is the bourse today", "which industries are up this year", "what is the total index". Each index has an ins_code: pass it to fp_index_history for its daily values. The first block is the market overview. |
| fp_index_historyA | Get the daily history of one market or industry index, oldest first, at most 60 evenly spaced points. Use after fp_indices for "how did the bourse index move this year" or to compare an industry with the fund market. The value series also has the change over the window. |
| fp_stocksA | Search and rank listed shares traded on the last trading day: top gainers, losers, most traded, by industry. Use for "biggest gainers today", "most traded banks", "find the ticker of X". Each row has ins_code and symbol: pass the symbol to fp_stock for the full quote. Prices are rial, value is billion Toman. Shares that did not trade are left out. |
| fp_stockA | Get one listed share in full: last trade, range, order book, buyers and sellers, period returns, industry. Use after fp_stocks or when the user names a ticker. Prices are rial. The 5-level order book and the retail vs institutional counts are the last published ones. Set history_days for daily OHLC rows (newest first). |
| fp_industriesA | Rank the stock-market industries by trading on the last day: traded value, volume, number of trades. Use for "which industries had the most money flowing today". Use the industry name in fp_stocks(industry=...) to see its shares, or fp_indices(query=...) for its index and returns. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools are cleanly separated by resource and granularity (fp_search_funds vs fp_fund, fp_stocks vs fp_stock, fp_indices vs fp_index_history), and descriptions explicitly cross-reference each other's chaining roles. The only real friction is fp_indices vs fp_industries, which both rank stock-market industries but by different metrics (return vs traded value) — descriptions disambiguate, but the names alone do not.
A consistent fp_ prefix with snake_case throughout, and singular/plural pairs are used meaningfully (fp_fund/fp_stocks, fp_index_history). Minor deviation: most names are plain resource nouns while a few use a verb modifier (fp_search_funds, fp_compare), so the pattern is not perfectly uniform but remains highly predictable.
11 tools is well within the ideal range and each one maps to a distinct query shape: fund discovery, fund detail, time series, comparison, manager ranking, index market overview, index history, stock screening, stock quote, industry ranking. No redundant or filler tools.
The read-only market-data domain is covered end to end: funds (types, search, detail, history, compare, managers), indices (summary and history), stocks (screen and quote with optional OHLC history) and industries. Gaps are minor — no direct fund-side dividend or NAV-metric query beyond fp_history, no cross-asset comparison, and industry-to-index linkage only works implicitly via fp_indices(query=...).