Iran Crypto Exchanges

io.github.sepehr071由 GitHub 帳號 sepehr071 發布v0.4.0更新於 Nov 7, 2026

Unofficial read-only Iranian crypto exchanges: prices in Toman, order books, trades, candles.

已驗證STDIO僅桌面金融資料與分析

概覽

AI 產生的概覽

非官方唯讀 MCP 伺服器,讓助理以托曼為單位比較十二家伊朗交易所的加密貨幣價格、訂單簿、成交與K線。

可以做什麼
  • 列出支援的交易所、其原生計價單位,以及各交易所可用托曼或 USDT 交易的幣種
  • 一次呼叫比較某幣種在所有交易所的價格,由低到高排序並附上價差
  • 讀取行情、訂單簿(每邊最多 20 檔)與最近公開成交
  • 取得 OHLC K線(15 分鐘、1 小時、4 小時、日線),並列出 24 小時漲跌幅排行
  • 依指定買賣數量並計入滑價對交易所排序,掃描跨所套利價差,比較手續費與提幣網路,並一次取得市場總覽
適用情境
適合在伊朗各交易所之間比較某幣種價格或價差、查看訂單簿或最近成交、列出 24 小時漲跌排行時使用。不適用於買入、賣出、轉帳、帳戶資料或非伊朗交易所。
執行需求
透過 uvx(或 pip)以 stdio 在本機執行,需要 uv 與 Python 3.10+。不需 API 金鑰或帳號。需要能連線各交易所公開端點的 HTTPS 對外網路;可選環境變數 IRAN_CRYPTO_MCP_PROXY 設定 HTTP 代理或逗號分隔的代理清單,系統代理設定會被忽略。
安裝前請注意
唯讀:沒有登入、餘額、下單或交易功能,無法代為操作。部分交易所會拒絕某些網路的請求(HTTP 403),可能需要透過 IRAN_CRYPTO_MCP_PROXY 走代理。價格快取約 15 秒,僅供參考,並非可成交報價;價差可能來自手續費、流動性或過期成交。非官方且與任何交易所無關聯,端點可能隨時變更。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Iran Crypto Exchanges,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

iran-crypto-mcp: Iranian crypto exchanges MCP server for AI agents

Compare any coin across twelve Iranian crypto exchanges, in Toman, from Claude, Cursor or Copilot.
An unofficial, read-only MCP server (model context protocol) for the public market data of Nobitex, Wallex, Bitpin, Ramzinex,
Tabdeal, OMPFinex, Exir, Bit24, Aban Tether,
Kifpool, OK-EX and Tetherland: prices, order books, recent trades, candles and top movers.

[PyPI] [Python] [CI] [License: MIT] [mcpfarsi]

[Install in VS Code]

For AI agents · Why · Quick start · Exchanges · Tools · FAQ · فارسی


For AI agents

  • What: unofficial MCP server for the public market data of 12 Iranian crypto exchanges and brokers (Nobitex, Wallex, Bitpin, Ramzinex, Tabdeal, OMPFinex, Exir, Bit24, Aban Tether, Kifpool, OK-EX, Tetherland).
  • Install: uvx iran-crypto-mcp or claude mcp add iran-crypto -- uvx iran-crypto-mcp. Transport: stdio. Needs uv (Python 3.10+).
  • Auth: none, no API key or account. Optional IRAN_CRYPTO_MCP_PROXY (HTTP proxy URL, or a comma-separated list); system proxy settings are ignored.
  • Access: read-only. No login, balances, orders or trading, so no confirmation is needed before calling any tool.
  • Tools: 8, all prefixed ic_. Start with ic_compare_price. Typical sequence: ic_compare_price -> ic_get_orderbook -> ic_candles.
  • Use when: comparing a coin's price across Iranian exchanges, checking a spread, reading an order book or recent trades, or listing 24h movers.
  • Do not use when: the user wants to buy, sell or transfer, needs account data, or wants non-Iranian exchanges.
  • Output: compact JSON. Every IRT price is in Toman (field names say *_toman); USDT markets say *_usdt.
  • Machine-readable: server.json and the iran-mcp catalog.

Why

  • Rial vs Toman. Nobitex, Ramzinex and OMPFinex publish Rial; Wallex, Bitpin, Tabdeal and Exir publish Toman. The same BTC price differs 10x between them. This server converts everything to Toman, so the numbers compare directly.
  • Seven sites to check by hand. Each exchange has its own app, its own symbols and its own API shape. One call to ic_compare_price returns the coin on every exchange, cheapest first, with the spread.
  • Persian names. Every exchange row carries name_fa, the exchange's own Persian name, so answers in Persian do not depend on the model spelling it.

What it can do

  • Compare one coin's price on all twelve exchanges, in Toman or USDT, cheapest first, with the spread
  • Get a ticker: last price, 24h range and change, volume, and best bid/ask where the exchange publishes them
  • Read order books (up to 20 levels per side) and recent public trades
  • Pull OHLC candles (15m, 1h, 4h, 1d) from all eight order-book exchanges (and Aban Tether for USDT/IRT)
  • Rank the biggest 24h gainers and losers on an exchange, with illiquid coins filtered out
  • List the coins an exchange trades against Toman or USDT
  • Find the best exchange for a buy or sell of a given size, walking each order book for slippage
  • Scan all coins for price gaps between exchanges (arbitrage), on real bid/ask prices
  • Compare trading fees and each coin's withdrawal networks, fees and minimums across exchanges
  • Get a one-call market overview: the Tether rate and major coins, median price and range across exchanges

Example prompts:

  • "Compare the BTC price on all Iranian exchanges in Toman. Where is it cheapest?"
  • "What is the Tether (USDT) rate in Toman on each exchange right now?"
  • "Show the Nobitex ETH order book. Is the spread real?"
  • "Top 5 gainers on Wallex in the last 24 hours."
  • "Give me 1-hour BTC candles from Wallex for the last two days."
  • "Where do I get the most USDT for 50 million Toman?"
  • "Which exchange has the cheapest USDT withdrawal on TRC20?"
  • "Any arbitrage between Iranian exchanges right now?"
  • با ۵۰ میلیون تومان کجا بیشترین تتر را می‌گیرم؟
  • قیمت بیت‌کوین را در همه صرافی‌های ایرانی به تومان مقایسه کن.
  • قیمت تتر الان در کدام صرافی ارزان‌تر است؟
  • دفتر سفارش اتریوم در نوبیتکس را نشان بده.

Supported exchanges

ExchangePersian nameSitePublished unitTickerOrder bookTradesCandles
Nobitexنوبیتکسnobitex.irRialfullyesyesyes (not USDT/IRT)
Wallexوالکسwallex.irTomanfullyesyesyes
Bitpinبیت‌پینbitpin.irTomanno bid/askyesyesyes
Ramzinexرمزینکسramzinex.irRialfullyesyesyes
Tabdealتبدیلtabdeal.orgTomanno bid/ask, no volumeyesyesyes
OMPFinexاو ام پی فینکسompfinex.comRialno bid/askyesnoyes
Exirاکسیرexir.ioTomanno bid/askyesyesyes
Bit24بیت ۲۴bit24.cashTomanno bid/askyesyes (no side)yes
Aban Tether (broker)آبان تترabantether.irTomanbuy/sell price, no high/lownonoUSDT/IRT only (1h+)
Kifpool (broker)کیف پول منkifpool.meTomansell price only; no USDT/IRTnonono
OK-EX (broker)اوکی اکسچنجok-ex.ioTomanbuy/sell price, no high/lownonono
Tetherland (broker)تترلندtetherland.comTomanone price, no high/lownonono
  • All twelve give prices in both quotes: Toman (IRT) and USDT. USDT markets stay in USDT.
  • "Full" means last price, bid, ask, 24h high and low, change and volume.
  • Bitpin volume comes from a best-effort second call; if it fails, the ticker has no volume.
  • Exir publishes base volume only, so quote volume is approximated as volume times last price.
  • Use ic_get_orderbook for the best bid and ask where the ticker lacks them.
  • Nobitex refuses USDT/IRT candles (its CDN answers HTTP 403, browsers included): use Wallex for those.
  • ic_fees: every exchange has trading fees; all but Aban Tether and OK-EX also publish withdrawal networks and fees. Ramzinex, OMPFinex, Bit24, Aban Tether and Tetherland publish trading fees only on a web page, so those values are fixed in the server (checked 2026-10-28).

Quick start

You need uv. No API key or account.

Claude Code
bash
claude mcp add iran-crypto -- uvx iran-crypto-mcp
Claude Desktop

Settings → Developer → Edit Config, then add:

json
{  "mcpServers": {    "iran-crypto": { "command": "uvx", "args": ["iran-crypto-mcp"] }  }}
Cursor

Add the Claude Desktop block to ~/.cursor/mcp.json (or .cursor/mcp.json in a project).

VS Code (Copilot agent mode)

Click Install in VS Code above, or add to .vscode/mcp.json:

json
{  "servers": {    "iran-crypto": { "type": "stdio", "command": "uvx", "args": ["iran-crypto-mcp"] }  }}
Codex CLI
bash
codex mcp add iran-crypto -- uvx iran-crypto-mcp

Or in ~/.codex/config.toml:

toml
[mcp_servers.iran-crypto]command = "uvx"args = ["iran-crypto-mcp"]
Gemini CLI

Add the Claude Desktop block to ~/.gemini/settings.json, or run:

bash
gemini mcp add iran-crypto uvx iran-crypto-mcp
Windsurf

Add the Claude Desktop block to ~/.codeium/windsurf/mcp_config.json.

Anything else

It is a standard stdio MCP server: run uvx iran-crypto-mcp, or pip install iran-crypto-mcp and run iran-crypto-mcp.

Tools

All 8 tools are read-only. Exchange ids: nobitex, wallex, bitpin, ramzinex, tabdeal, ompfinex, exir. quote is IRT (Toman, default) or USDT.

ToolWhat it does
ic_list_exchangesThe supported exchanges, their native price unit and what each can answer
ic_list_marketsCoins an exchange trades against Toman (IRT) or USDT
ic_compare_priceOne coin's price on every exchange in one call, cheapest first, with the spread (an exchange that fails is reported, not fatal)
ic_get_tickerLive price, best bid and ask, 24h range, change and volume of a coin on one exchange
ic_get_orderbookTop bids and asks (1 to 20 levels) with the spread
ic_recent_tradesLatest public trades, newest first (1 to 50; every order-book exchange except OMPFinex)
ic_candlesOHLC candles, 15m / 1h / 4h / 1d, up to 100 (order-book exchanges, Aban Tether for USDT/IRT)
ic_top_moversBiggest 24h gainers or losers on one exchange, illiquid coins filtered out (up to 25)
ic_best_dealRanks exchanges by what a buy or sell of a given size gets, with order-book slippage and fill
ic_arbitrageBiggest cross-exchange price gaps over all coins, buy at the lowest ask and sell at the highest bid
ic_feesTrading fees per exchange and, for one coin, withdrawal networks, fees and minimums, with the cheapest per network
ic_market_overviewTether rate and major coins in one call: median Toman price, cheapest and dearest exchange, median change

How it works

text
  AI agent  (Claude, Cursor, Copilot, ...)      │      │  MCP over stdio      ▼  iran-crypto-mcp  (runs on your machine)      │      │  HTTPS      └──────▶  public market-data endpoints of the 12 exchanges
  • Runs locally and calls the public endpoints the exchanges' own websites use. No hosted server in between, no API key.
  • Uses a Chrome-like HTTP client and sends each exchange's own Origin and Referer, like its website does.
  • Answers are cached for 15 seconds and at most 2 requests run at once. Failed GET requests are retried.
  • Read-only: it never calls account, order or trading endpoints.

Good to know

  • Units are normalized. IRT prices are Toman (Rial exchanges are divided by 10); USDT prices are unchanged. The unit is in the field name: price_toman, price_usdt.
  • name_fa on every exchange row is the exchange's own Persian name.
  • One exchange can fail alone. ic_compare_price reports a failing exchange under errors and still compares the rest. HTTP 403 means that exchange's CDN refuses your network. Set IRAN_CRYPTO_MCP_PROXY to an Iranian HTTP proxy and try again.
  • A spread is not always real. Quotes differ for real reasons (fees, liquidity, a stale last trade). Check the order book on both exchanges before acting on it.
  • Reply sizes are capped to stay under about 15 KB: order books 20 levels, trades 50, candles 100, movers 25.
  • Top movers skip coins below a 24h volume floor (default 100,000,000 Toman or 10,000 USDT; set min_volume to change it). Tabdeal publishes no volume, so its coins are not filtered.
  • Prices are informational. They are live-ish (15 s cache), not a quote you can trade at.

FAQ

Is there an API or MCP server for Iranian crypto exchanges?

iran-crypto-mcp is an unofficial MCP server with 8 read-only tools over the public endpoints of Nobitex, Wallex, Bitpin, Ramzinex, Tabdeal, OMPFinex, Exir, Bit24, Aban Tether, Kifpool, OK-EX and Tetherland. It needs no API key.

How do I compare crypto prices in Toman with Claude, Cursor or Copilot?

Add the server (see Quick start) and ask, for example, "compare BTC on all Iranian exchanges in Toman". The agent calls ic_compare_price, which returns every exchange's price in Toman, cheapest first, with the spread.

Why are some prices 10x different between exchanges?

Some exchanges publish Rial and others Toman (1 Toman = 10 Rial). This server converts everything to Toman. If you still see a big gap, it is a real difference or a stale quote: check the order book.

Can it trade, or see my balance?

No. It has no login or keys and never calls account, order or trading endpoints. It only reads public market data.

An exchange shows an error with HTTP 403. What now?

That exchange's CDN refuses requests from your network. The other exchanges still work. Set IRAN_CRYPTO_MCP_PROXY to an HTTP proxy with an Iranian exit and retry. System proxy variables are ignored on purpose.

Why does a ticker have no bid/ask or volume?

Bitpin, Tabdeal, OMPFinex, Exir, Bit24 and Tetherland publish no bid/ask in their ticker feeds, and Tabdeal publishes no volume. Call ic_get_orderbook for the best bid and ask. The brokers (Aban Tether, Kifpool, OK-EX, Tetherland) have no public order book.

Why are there no candles for the brokers?

Instant-swap brokers publish no price history of their own (Aban Tether only for USDT/IRT). Every order-book exchange has candles. Nobitex refuses USDT/IRT candles; use Wallex for those.

Claude Desktop says uvx is not found

Use the full path to uvx (where uvx on Windows, which uvx on macOS/Linux) as command.

Configuration

VariableDefaultMeaning
IRAN_CRYPTO_MCP_PROXYunsetOptional HTTP proxy URL for exchange requests; system proxy settings are ignored. A comma-separated list is used one at a time: the next proxy takes over when one is blocked or fails to connect

فارسی

iran-crypto-mcp یک سرور MCP غیررسمی و فقط‌خواندنی برای داده‌های عمومی بازار صرافی‌های ارز دیجیتال ایرانی است: نوبیتکس، والکس، بیت‌پین، رمزینکس، تبدیل، او ام پی فینکس و اکسیر. به دستیار هوش مصنوعی شما (Claude، Cursor، Copilot و ...) اجازه می‌دهد قیمت یک ارز را در همه صرافی‌ها به تومان مقایسه کند.

چه کارهایی می‌کند

  • مقایسه قیمت صرافی‌ها: قیمت بیت‌کوین، تتر و بقیه ارزها در هر هفت صرافی با یک درخواست، از ارزان به گران، همراه با اختلاف قیمت.
  • قیمت تتر و بیت‌کوین به تومان: قیمت صرافی‌هایی که ریال می‌دهند تقسیم بر ۱۰ می‌شود، پس همه عددها قابل مقایسه‌اند.
  • دفتر سفارش (تا ۲۰ سطح)، معاملات اخیر و کندل‌ها (۱۵ دقیقه، ۱ ساعت، ۴ ساعت، روزانه؛ فقط نوبیتکس و والکس).
  • بیشترین رشد و افت ۲۴ ساعته هر صرافی، بدون ارزهای کم‌حجم.

نکته‌ها

  • فقط داده عمومی بازار؛ بدون ورود به حساب، کلید API، خرید و فروش.
  • اگر یک صرافی خطای ۴۰۳ بدهد، یعنی شبکه شما را نمی‌پذیرد؛ بقیه صرافی‌ها کار می‌کنند. متغیر IRAN_CRYPTO_MCP_PROXY را روی یک پروکسی HTTP ایرانی بگذارید.
  • اختلاف قیمت همیشه فرصت واقعی نیست؛ قبل از هر تصمیم دفتر سفارش را ببینید.
  • قیمت‌ها ۱۵ ثانیه نگه داشته می‌شوند و توصیه مالی نیستند.

نصب (اول uv را نصب کنید). در Claude Code:

bash
claude mcp add iran-crypto -- uvx iran-crypto-mcp

در Claude Desktop، Cursor و بقیه برنامه‌ها همان تنظیم بخش Quick start را بگذارید.

نمونه پرسش‌ها

  • «قیمت بیت‌کوین را در همه صرافی‌ها به تومان مقایسه کن.»
  • «تتر در کدام صرافی ارزان‌تر است؟»
  • «دفتر سفارش اتریوم در نوبیتکس را نشان بده.»
  • «بیشترین رشد ۲۴ ساعته در والکس چیست؟»

Development

bash
git clone https://github.com/sepehr071/iran-crypto-mcp && cd iran-crypto-mcpuv syncuv run ruff check . && uv run ruff format --check .uv run python -m pytest -q          # offline unit testsuv run python -m pytest -m live -q  # calls the real exchange APIsuv build

Tools live in src/iran_crypto_mcp/markets.py, the per-exchange adapters in exchanges.py. Issues and PRs are welcome. Releases: bump the version in pyproject.toml and server.json, then push a v* tag.

Related servers

Disclaimer

Unofficial and not affiliated with or endorsed by any exchange. It reads public market data only: no keys, no account access, no trading. Prices are informational, not financial advice, and the endpoints can change without notice.

Author

[Sepehr Radmard: open-source MCP servers for the Iranian web. LinkedIn: linkedin.com/in/sepehr-radmard]

Built and maintained by Sepehr Radmard (سپهر رادمرد). Connect on LinkedIn or follow @sepehr071 on GitHub for more MCP servers for Iranian websites, all listed in iran-mcp. If this saves you time, a star on the repo helps other people find it.

License

MIT

來源:README.md,提交 03d09e4

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

4
  1. v0.4.0最新Nov 7, 2026
  2. v0.3.0Oct 29, 2026
  3. v0.1.3Oct 23, 2026
  4. v0.1.2Oct 22, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分