# Iran Mercantile Exchange (pypi · ime-mcp)

Read-only Iran Mercantile Exchange (ime.co.ir): physical trades, supply, prices, market totals.

- Trust score: 63/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- pypi · `ime-mcp`: 63/100 (this document), [markdown](https://verifymcp.io/servers/sepehr071-ime-mcp/ime-mcp.md), [page](https://verifymcp.io/servers/sepehr071-ime-mcp/ime-mcp)

## Channel facts

- Registry: `pypi`
- Package: `ime-mcp`
- Version: `0.1.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 50/100
  - Malware scan not yet available for this package.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised build step with no custom scripting around it.
  - 1 of 35 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to sepehr071/ime-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 3 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 61/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3858 tokens (~275/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 14 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the Iran Mercantile Exchange MCP server?

Iran Mercantile Exchange runs locally as a PyPI package, launched with uvx ime-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add sepehr071-ime-mcp -- uvx ime-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "sepehr071-ime-mcp": {
      "command": "uvx",
      "args": [
        "ime-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "sepehr071-ime-mcp": {
      "command": "uvx",
      "args": [
        "ime-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add sepehr071-ime-mcp -- uvx ime-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sepehr071-ime-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "ime-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sepehr071-ime-mcp --command uvx --arg ime-mcp
```

### Hermes

```yaml
mcp_servers:
  sepehr071-ime-mcp:
    command: "uvx"
    args: ["ime-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "sepehr071-ime-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "ime-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add sepehr071-ime-mcp -t stdio -c uvx -a ime-mcp
```

### Other

```json
{
  "mcpServers": {
    "sepehr071-ime-mcp": {
      "command": "uvx",
      "args": [
        "ime-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 63, −15)

- [security regression] Malware scan: pass → unverified

### 2026-11-01 (score 78)

First indexed and scored.

## MCP tools (14)

### `ime_categories` (~154 tokens)

Commodity groups

List the exchange's commodity groups: main groups, then groups, then subgroups, with their ids.

Call it with no arguments for the main groups (industrial, agriculture, petrochemical, mineral, oil products,
real estate, subsidiary). Pass main_cat for the groups under it (steel, aluminium, copper, gold...), then main_cat
plus cat for the subgroups (rebar, hot sheet...). Use the ids as main_cat/cat/sub_cat in ime_trades, ime_supply
and ime_price_history.

Input parameters:

- `cat` (integer): Group id (with main_cat) to list its subgroups.
- `main_cat` (integer): Main group id to list its groups (0 = list the main groups).

### `ime_producers` (~87 tokens)

Find producers

Find producers and suppliers listed on the exchange by name, to get the producer id for the trade and supply tools.

Use the returned id as producer in ime_trades, ime_supply or ime_price_history.

Input parameters:

- `limit` (integer): Max producers (1-50).
- `query` (string, required): Part of a producer name, Persian or English, e.g. فولاد مبارکه.

### `ime_trades` (~426 tokens)

Trades on the exchange

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 parameters:

- `cat` (integer): Category id from ime_categories (0 = all).
- `date_from`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `date_to`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `limit` (integer): Max trades to return (1-100).
- `main_cat` (integer): Category id from ime_categories (0 = all).
- `market` (string): physical (main physical market halls), subsidiary (بازار فرعی, secondary market), export (Kish export hall) or premium (پریمیوم contracts; no producer filter).
- `producer` (integer): Category id from ime_categories (0 = all).
- `search`: Keep trades whose commodity, symbol or producer contains this text.
- `sort` (string): value (largest first), volume (largest first) or date (newest first).
- `sub_cat` (integer): Category id from ime_categories (0 = all).

### `ime_supply` (~343 tokens)

Supply offers

List supply offers (اطلاعیه عرضه): what is up for sale on which session, volume and base price.

Use it for "what will be offered tomorrow / next week". Dates are offer dates; default today to 7 days ahead;
at most 45 days. Each offer has the commodity, symbol, hall, producer, supplier, volume (`unit`), base price,
contract type, delivery date and place, settlement type and broker. Filters as in ime_trades; page with offset.
market=premium lists premium contracts (`premium_price`), market=export the export hall. After the session,
ime_trades shows what actually sold.

Input parameters:

- `cat` (integer): Category id from ime_categories (0 = all).
- `date_from`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `date_to`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `limit` (integer): Max offers to return (1-50).
- `main_cat` (integer): Category id from ime_categories (0 = all).
- `market` (string): physical (default), premium (اطلاعیه عرضه پریمیوم) or export (Kish export hall, priced in $).
- `offset` (integer): Skip this many offers (paging).
- `producer` (integer): Category id from ime_categories (0 = all).
- `search`: Keep offers whose commodity, symbol, producer or supplier contains this text.
- `sub_cat` (integer): Category id from ime_categories (0 = all).

### `ime_price_history` (~297 tokens)

Price history of a commodity

Daily price series (low, high, volume-weighted average, volume) per symbol over a date range.

Use it for "how did hot sheet / rebar / PE prices move this month". Dates default to the last 14 days up to
today; at most 45 days. Narrow it with sub_cat or search (a wide filter returns only the 8 biggest symbols).
Built from the trade list, so only days with trades appear. Prices as in ime_trades.

Input parameters:

- `cat` (integer): Category id from ime_categories (0 = all).
- `date_from`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `date_to`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `main_cat` (integer): Category id from ime_categories (0 = all).
- `market` (string): physical (main physical market halls), subsidiary (بازار فرعی, secondary market), export (Kish export hall) or premium (پریمیوم contracts; no producer filter).
- `producer` (integer): Category id from ime_categories (0 = all).
- `search`: Commodity, symbol or producer text, e.g. ورق گرم or میلگرد.
- `sub_cat` (integer): Category id from ime_categories (0 = all).

### `ime_market_summary` (~186 tokens)

Market totals

Exchange-wide trade value and volume for a date range: by market, by physical-market hall, plus the USD rate.

Use it for "how big was trading this week" or to see which hall (industrial, petrochemical, subsidiary...) led.
Dates default to today (Tehran); the range is free-form but keep it short. Values are million Rial; volumes are
tonnes for the physical market. `offer_volume` is what was offered. The USD rate is the exchange's own
settlement rate. For a day-by-day series use ime_daily_totals.

Input parameters:

- `date_from`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `date_to`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).

### `ime_daily_totals` (~162 tokens)

Daily trade totals

Day-by-day trade value and volume of one market over a date range (the site's market chart).

Use it for trends: "how has physical trading volume moved over the last month". Dates default to the last 14
days; at most 45 days. Value is million Rial. Volume is tonnes for physical, contracts for options, units for financial.

Input parameters:

- `date_from`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `date_to`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `market` (string): physical, options (اختیار معامله) or financial (مالی).

### `ime_news` (~57 tokens)

Exchange news

Latest news and notices from the exchange's news archive: title, lead, date and link.

Use it for announcements, weekly trading reports and new listings. Text is Persian.

Input parameters:

- `limit` (integer): Max news items (1-30).

### `ime_trade_stats` (~338 tokens)

Trade statistics by group

Rank producers, commodities, brokers or halls by traded value over a date range, with each one's market share.

Use it for "which producers sold the most steel this month" or "which brokers were most active". Dates default
to today (Tehran); at most 45 days; filters as in ime_trades. Value is thousand Rial. `volume` is given only when
all trades of the group share one unit. For single trades use ime_trades; for one product's prices over time
ime_price_history.

Input parameters:

- `cat` (integer): Category id from ime_categories (0 = all).
- `date_from`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `date_to`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `group_by` (string, required): Rank trades by producer, commodity, buyer broker, hall or contract type.
- `limit` (integer): Max groups to return (1-50).
- `main_cat` (integer): Category id from ime_categories (0 = all).
- `market` (string): physical (main physical market halls), subsidiary (بازار فرعی, secondary market), export (Kish export hall) or premium (پریمیوم contracts; no producer filter).
- `producer` (integer): Category id from ime_categories (0 = all).
- `search`: Keep trades whose commodity, symbol or producer contains this text.
- `sub_cat` (integer): Category id from ime_categories (0 = all).

### `ime_weekly_reports` (~128 tokens)

Weekly reports

List the exchange's weekly market reports (گزارش هفتگی), newest first, with the PDF link of each.

Use it to find the official weekly summary of a week (the report is a PDF, Persian; this tool only lists
links, it does not read them). For the numbers of a week use ime_market_summary or ime_trades; for
announcements ime_news.

Input parameters:

- `limit` (integer): Max reports (1-60), newest first.
- `year`: Persian year, e.g. 1405 (default: all years on the page).

### `ime_options` (~340 tokens)

Options board

Options on gold, gold coin, gold funds and saffron futures (اختیار معامله): one day's board or one contract's history.

Without dates it shows the latest trading day: for each contract the call/put type, underlying, strike (Rial),
expiry, first/high/low/last price, settlement price and its change, volume, value (Rial) and open interest.
With date_from/date_to (at most 10 days) the rows of every day in the range. Pass contract (a code from the
list) to get that one contract's days over up to 45 days. Prices are Rial. For market-wide option totals per day
use ime_daily_totals(market="options").

Input parameters:

- `contract`: One contract code (from an earlier answer): returns its day-by-day history instead.
- `date_from`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `date_to`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `limit` (integer): Max contracts or days to return (1-100).
- `option_type` (string): call (خرید), put (فروش) or all.
- `search`: Keep contracts whose code or description contains this text, e.g. GCES (gold coin) or صندوق طلا.
- `sort` (string): Order of the list, largest first (settlement_change by size of the move).
- `traded_only` (boolean): Only contracts that traded (volume above 0).

### `ime_securities` (~301 tokens)

Commodity securities trades

Daily trades of the exchange's financial-market symbols: salaf, commodity deposit certificates and commodity funds.

Use it for "which gold fund traded most yesterday" or "saffron certificate prices this week". Without dates it
shows the latest trading day; with dates every day in the range (at most 45 days). Each row has symbol, name, close
and last price, change vs the previous close, number of trades, volume, value (Rial), low and high. Prices are
Rial per unit. For gold bar / gold coin / silver continuous certificates use ime_certificates; for live bid and ask
use ime_board.

Input parameters:

- `date_from`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `date_to`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `kind` (string): salaf (standard forward, سلف استاندارد), certificate (گواهی سپرده کالایی such as saffron), fund (commodity ETFs, mostly gold) or all.
- `limit` (integer): Max rows to return (1-100).
- `search`: Keep rows whose symbol, code or name contains this text.
- `sort` (string): value or volume (largest first), change (biggest move first) or date (newest first).

### `ime_certificates` (~273 tokens)

Gold and other deposit certificates

Continuous commodity deposit certificates (گواهی سپرده پیوسته): gold bar, gold coin, silver, copper, steel and more.

These are the exchange's gold bar / gold coin / silver certificates (gold.ime.co.ir). Without `commodity` it lists
every certificate with its latest day: first, high, low, last price, settlement price and change, volume, value
(Rial), open interest and active customers. With `commodity` it gives that certificate's day-by-day history (dates
default to the last 30 days, at most 90). Prices are Rial per certificate unit (about one gram for gold bar, one
coin for GoldCoin). For fund and saffron-certificate symbols use ime_securities.

Input parameters:

- `commodity`: Certificate id, code or name part: GoldBar, GoldCoin, SilverBar, CopperCthd, Bitumen, ZincIngot, SteelRebar... or طلا, سکه, نقره. Empty = all.
- `date_from`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).
- `date_to`: Persian date 1405/08/09 or Gregorian 2026-10-31 (Persian digits are fine).

### `ime_board` (~189 tokens)

Live board of funds, certificates and salaf

Market-view board (cdn.ime.co.ir) with the best bid and ask: use it to see where a fund or certificate trades now.

During the session it is live; after the close it keeps the last session (see `time` and `date`). Each symbol has
last and closing price, change vs yesterday, low, high, volume, value (Rial), number of trades, best bid and best
ask with sizes. For daily history over a range use ime_securities.

Input parameters:

- `kind` (string): fund (commodity ETFs, mostly gold), certificate (saffron etc.) or salaf (standard forward).
- `limit` (integer): Max symbols to return (1-60).
- `search`: Keep rows whose symbol, code or name contains this text.
- `sort` (string): value or volume (largest first) or change (biggest move first).

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/sepehr071-ime-mcp/ime-mcp#diagnostics

## Score history

- 2026-11-05: 63
- 2026-11-04: 78
- 2026-11-03: 78
- 2026-11-02: 78
- 2026-11-01: 78

## Common questions

### What is the Iran Mercantile Exchange MCP server?

Iran Mercantile Exchange is an MCP server listed in the public MCP registry as io.github.sepehr071/ime-mcp. Read-only Iran Mercantile Exchange (ime.co.ir): physical trades, supply, prices, market totals. This page covers its PyPI package (ime-mcp).

### Is the Iran Mercantile Exchange MCP server safe to use?

Iran Mercantile Exchange scores 63 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Iran Mercantile Exchange MCP server expose?

Iran Mercantile Exchange exposes 14 tools: ime_categories, ime_producers, ime_trades, ime_supply, ime_price_history, and 9 more. Their descriptions and schemas cost roughly 3,281 tokens of context every time the server is loaded.

### Is the Iran Mercantile Exchange MCP server still maintained?

Iran Mercantile Exchange is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Iran Mercantile Exchange MCP server under?

Iran Mercantile Exchange declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/ime-mcp/
- Socket report: https://socket.dev/pypi/package/ime-mcp
- Repository: https://github.com/sepehr071/ime-mcp
- Changelog RSS feed: https://verifymcp.io/servers/sepehr071-ime-mcp/ime-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/sepehr071-ime-mcp/ime-mcp.json
- HTML version of this page: https://verifymcp.io/servers/sepehr071-ime-mcp/ime-mcp
