Skip to main content
Glama
sepehr071

ime-mcp

by sepehr071

Trades on the exchange

ime_trades
Read-onlyIdempotent

List commodity trades with price, volume, supply, demand and buyer broker for a date range, including totals; filter by category, producer, market or text search.

Instructions

List commodity trades (price, volume, supply, demand, buyer broker) for a date range, with totals.

Use it for "what traded today", "steel prices this week", "who bought what". Dates default to today (Tehran); at most 45 days. Filter with main_cat/cat/sub_cat (ids from ime_categories), producer (ime_producers) or search text. price is the volume-weighted closing price (قیمت پایانی میانگین موزون) and low/high the range; prices are per the unit shown (Rial per kg for tonne goods). volume is in unit. value_k_rial is price x volume in thousand Rial. Subsidiary rows carry only base_price, supply, demand and volume (the site publishes no price or value for them). For a price series of one product use ime_price_history; for market-wide totals ime_market_summary.

Input Schema

NameRequiredDescriptionDefault
catNoCategory id from ime_categories (0 = all).
sortNovalue (largest first), volume (largest first) or date (newest first).value
limitNoMax trades to return (1-100).
marketNophysical (main physical market halls), subsidiary (بازار فرعی, secondary market), export (Kish export hall) or premium (پریمیوم contracts; no producer filter).physical
searchNoKeep trades whose commodity, symbol or producer contains this text.
date_toNoPersian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
sub_catNoCategory id from ime_categories (0 = all).
main_catNoCategory id from ime_categories (0 = all).
producerNoCategory id from ime_categories (0 = all).
date_fromNoPersian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent/non-destructive, and the description still adds substantial context beyond them: the 45-day window and today-default, the premium market's lack of a producer filter, and the caveat that subsidiary rows publish no price or value. Field semantics (price = volume-weighted close, value_k_rial = price x volume in thousand Rial, prices Rial/kg for tonne goods) are exactly the interpretive detail an agent would otherwise get wrong.

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 purpose and trigger phrases, then constraints, then field semantics, then sibling routing — a sensible order with no filler sentences. It is a dense single block, though, and the mid-sentence mix of Persian terms and backticked field names makes it slower to scan than it needs to be.

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?

No output schema exists, yet the description explains the returned columns, their units, how `value_k_rial` is derived, and which fields are absent for subsidiary rows — enough for an agent to interpret results correctly. Combined with the date-window and filter-source guidance, 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3), and the description goes beyond it by naming the id sources per filter (main_cat/cat/sub_cat from ime_categories, producer from ime_producers) — which actively corrects the schema's copy-paste error describing `producer` as a category id — and by adding the 45-day/dates-default-to-today rule that appears nowhere in the schema. Minor gap: it does not touch `sort` or `limit`, though the schema documents those adequately.

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?

Specific verb + resource + returned fields: "List commodity trades (price, volume, supply, demand, buyer broker) for a date range, with totals." The closing sentences explicitly separate it from ime_price_history (single-product series) and ime_market_summary (market-wide totals), so an agent can pick it out of a 14-tool family without opening a 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?

Concrete trigger phrasings ("what traded today", "steel prices this week", "who bought what") and explicit routing to siblings: ime_price_history for a price series, ime_market_summary for market totals, ime_categories/ime_producers for filter ids. It also states the operating constraint (max 45 days, defaults to today Tehran) that determines whether the tool is usable for a given question.

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