iran-gold-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@iran-gold-mcpWhere is 18k gold cheapest to buy right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
iran-gold-mcp: live gold prices from Iranian gold platforms for AI agents
Compare the 18k gold price on Milli.gold, Wallgold, Melligold and Daric from your AI agent. An unofficial, read-only MCP server for Iranian online platforms that sell 18k melted gold (طلای آب‌شده): live buy and sell price per gram on each platform, the cheapest place to buy, the best place to sell, and Milli.gold's price history.
For AI agents · Quick start · Tools · Good to know · FAQ · فارسی
For AI agents
What: unofficial MCP server (model context protocol) for the public price endpoints of four Iranian online gold platforms: milli.gold, wallgold.ir, melligold.com and daric.gold.
Install:
uvx iran-gold-mcporclaude mcp add iran-gold -- uvx iran-gold-mcp. Transport: stdio. Needs uv (Python 3.10+).Auth: none, no API key or account. Optional
IRAN_GOLD_MCP_PROXY(HTTP proxy URL, or a comma-separated list); system proxy settings are ignored.Access: read-only, so no confirmation is needed before calling any tool. It cannot log in, trade or read a wallet.
Tools: 3, all prefixed
gold_. Typical sequence:gold_prices->gold_milli_history.Use when: the user asks what 18k melted gold costs per gram on these platforms, where it is cheapest to buy or best to sell, or how the Milli.gold price moved over a day, week or month.
Do not use when: the user wants to buy or sell gold, or wants dollar, coin or crypto prices (see tgju-mcp).
Output: compact JSON.
gold_pricesis Toman per gram of 18k gold;gold_milli_historyis Rial per milligram. Times are Tehran time.
Related MCP server: Arzbin MCP Server
Why
Every Iranian gold platform quotes its own price, in its own unit: Milli.gold in Rial per milligram, the others in
Toman per gram, and Daric as an order book with a separate bid and ask. iran-gold-mcp reads all four at once,
converts them to Toman per gram and sorts them:
You: Where is 18k gold cheapest to buy right now?
Agent: calls
gold_prices()Milli.gold is cheapest at 26,019,000 Toman per gram, then Wallgold (26,202,000), Melligold (26,248,700) and Daric (26,332,312). Platform fees are not included.
Real prices from 2026-10-27; they change all the time.
Example prompts:
"Compare the 18k gold price per gram on Milli, Wallgold, Melligold and Daric."
"Where should I sell 2 grams of melted gold right now?"
"Show me Milli.gold's gold price for the last month. What were the high and the low?"
قیمت طلای آب‌شده الان در کدام سایت ارزان‌تر است؟
قیمت هر گرم طلای ۱۸ عیار در میلی، وال‌گلد، ملی‌گلد و داریک را مقایسه کن.
Quick start
You need uv. No API key or account.
claude mcp add iran-gold -- uvx iran-gold-mcpSettings → Developer → Edit Config, then add:
{
"mcpServers": {
"iran-gold": { "command": "uvx", "args": ["iran-gold-mcp"] }
}
}Click Install in Cursor above, or add the Claude Desktop block to ~/.cursor/mcp.json.
Click Install in VS Code above, or add to .vscode/mcp.json:
{
"servers": {
"iran-gold": { "type": "stdio", "command": "uvx", "args": ["iran-gold-mcp"] }
}
}codex mcp add iran-gold -- uvx iran-gold-mcpIt's a standard stdio MCP server: run uvx iran-gold-mcp, or pip install iran-gold-mcp and run iran-gold-mcp.
Tools
All 3 tools are read-only and return compact JSON.
Tool | What it does |
| Compares the live 18k gold buy and sell price per gram (Toman) on Milli.gold, Wallgold, Melligold and Daric, cheapest first, with |
| Gets the Milli.gold 18k gold price series for a day, week or month ( |
| Gets Milli.gold's headline numbers: users, trade transactions, gold traded (kg), user balances (kg), burned gold (kg), branches and representatives |
Good to know
Buy and sell.
buyis what you pay per gram on that platform,sellwhat you get when you sell. Milli.gold, Wallgold and Melligold often show one price for both; Daric is an order book, sobuyis the best ask andsellthe best bid.Fees are not included. Platforms charge a trading fee (often around 0.5 %) on top of the price.
Platform prices, not market quotes. Each number is that platform's own price for 18k melted gold, so expect small differences from tgju and from each other.
Units. Milli.gold quotes Rial per milligram;
gold_pricesconverts it (x100 = Toman per gram).gold_milli_historykeeps Rial per milligram.Tehran time.
as_ofand historytimevalues are Tehran time (UTC+3:30).15 s cache. Repeated calls within 15 seconds reuse the answer.
Not covered. Taline (tlyn) shows its price only after login, so it is not included.
FAQ
Not an official one. iran-gold-mcp calls the public, login-free price endpoints that the platforms' own websites use.
milligold-mcp covers Milli.gold only. iran-gold-mcp covers Milli.gold
plus Wallgold, Melligold and Daric and compares them. tgju-mcp gives
market-wide rates for dollar, coins, gold and crypto.
No, and that's deliberate. It has no login and only reads public data.
Not by default. If requests are blocked from your network, set IRAN_GOLD_MCP_PROXY to an HTTP proxy. System proxy variables are ignored on purpose.
Configuration
Variable | Default | Meaning |
| unset | Optional HTTP proxy URL for the platform requests. A comma-separated list is used one at a time: the next proxy takes over when one is blocked or cannot connect. System proxy settings are ignored |
فارسی: سرور MCP قیمت طلای آب‌شده
iran-gold-mcp یک سرور MCP غیررسمی و فقط‌خواندنی است که قیمت لحظه‌ای طلای ۱۸ عیار آب‌شده را از پلتفرم‌های آنلاین میلی، وال‌گلد، ملی‌گلد و داریک می‌خواند و مقایسه می‌کند.
قیمت خرید و فروش هر گرم (تومان) در هر پلتفرم، از ارزان‌ترین به گران‌ترین، با بهترین جا برای خرید و فروش.
تاریخچه قیمت میلی در روز، هفته و ماه گذشته و آمار پلتفرم میلی.
فقط خواندنی است: خرید و فروش نمی‌کند و وارد حساب نمی‌شود. کارمزد پلتفرم‌ها در قیمت‌ها حساب نشده است.
طلاین قیمت را فقط بعد از ورود نشان می‌دهد و پشتیبانی نمی‌شود.
claude mcp add iran-gold -- uvx iran-gold-mcpDevelopment
git clone https://github.com/sepehr071/iran-gold-mcp && cd iran-gold-mcp
uv sync
uv run ruff check . && uv run ruff format --check .
uv run python -m pytest -q # offline unit tests
uv run python -m pytest -m live -q # calls the real platforms
uv buildRelated servers
milligold-mcp for Milli.gold only
tgju-mcp for dollar, euro, gold, coin, crypto and commodity prices from tgju.org
iran-mcp: catalog of all Iranian-service MCP servers
Disclaimer
Unofficial and not affiliated with or endorsed by Milli.gold, Wallgold, Melligold or Daric. It is read-only and uses public endpoints that can change without notice. Prices are informational and not financial advice.
Author
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.
License
Available Tools
3 toolsgold_milli_historyMilli.gold price historyARead-onlyIdempotent
Get the Milli.gold 18k gold price series for a day, week or month, with high, low and change.
Prices are Rial per milligram (x100 = Toman per gram); time is Tehran time. Points are thinned evenly to
points. For today's price on every platform use gold_prices.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Window: DAILY = last ~24 h (15-min points), WEEKLY = last week, MONTHLY = last ~month. | DAILY |
| points | No | Max points to return, evenly spaced (2-50). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive and open-world, so safety is covered. The description adds genuinely useful non-schema context: values are Rial per milligram (x100 = Toman per gram), timestamps are Tehran time, and points are thinned evenly. It stops short of describing the exact response shape (aggregate stats vs. array of points), 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight paragraphs, with the main action and output fields front-loaded and the units caveat parenthesized efficiently. Slightly compressed syntax ('Prices are Rial per milligram...') requires a re-read but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully tells the agent the returned fields (high, low, change) and the unit/timezone conventions needed to interpret them. The one remaining gap is the response structure — whether points come back as a series or as summary stats — which an agent must discover by calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already fully documented including the period windows and the 2-50 points range. The description only restates day/week/month and that points are thinned evenly, adding no format or interpretation detail beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the Milli.gold 18k gold price series') plus the granularity options (day/week/month) and what the payload contains (high, low, change). It is clearly distinguishable from gold_prices, which is named for today's cross-platform price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: 'For today's price on every platform use gold_prices.' That names the alternative and the condition selecting it, while the period parameter covers the remaining usage choice. Nothing is left to inference about when to pick this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gold_milli_statsMilli.gold platform statisticsARead-onlyIdempotent
Get Milli.gold's headline numbers: users, trades, gold traded, gold held and branches.
Figures are rounded totals the company publishes; weights are in kilograms. For prices use gold_prices.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, open-world behavior, so the bar is lower. The description adds genuinely useful context beyond them: figures are rounded company-published totals and weights are in kilograms, which warns the agent not to treat values as exact or unit-ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what is returned, then the caveat and the alternative. No filler and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only stats tool with rich annotations and no output schema, the description covers content, precision caveats, and units. The only gap is not distinguishing itself from gold_milli_history, which shares the same domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4; there is nothing schema-side to compensate for. The unit note (kilograms) is about returned values rather than inputs, but it is the only semantic clarification available for a no-arg tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Get') plus a precisely enumerated resource: users, trades, gold traded, gold held and branches. It also explicitly disambiguates from the sibling gold_prices, so an agent can pick correctly without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes price lookups to gold_prices, which is the most likely confusion given the sibling set. It stops short of mentioning gold_milli_history, so the boundary for time-series/trend data is left for the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gold_pricesLive gold prices on Iranian platformsARead-onlyIdempotent
Compare the live 18k melted-gold price on Milli.gold, Wallgold, Melligold and Daric, in Toman per gram.
buy is what you pay per gram on that platform, sell what you get back when you sell. Rows are sorted
cheapest to buy first; best_to_buy and best_to_sell name the winners. A platform that did not answer is
listed under failed and the rest still return. Platform fees (often ~0.5 %) are not included. For the
Milli.gold trend over a day, week or month use gold_milli_history.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as a read-only, idempotent, non-destructive open-world operation. The description adds substantial behavioral detail beyond that: buy and sell price meaning, cheapest-first sorting, best_to_buy and best_to_sell fields, partial results when a platform fails, and the exclusion of platform fees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then compactly covers output semantics, failure behavior, fee caveat, and sibling routing. Every sentence carries useful information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input parameters and no output schema, the description needs to carry the return-value burden, and it does: it explains buy/sell fields, row sorting, best_to_buy and best_to_sell, failed platforms, and fee exclusion. An agent has enough context to call and interpret the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so the baseline is 4. There are no parameter semantics to clarify; the description instead documents return fields and behavior, which is useful but belongs to other dimensions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: compare the live 18k melted-gold price across Milli.gold, Wallgold, Melligold and Daric in Toman per gram. It also distinguishes the live snapshot use case from the sibling history tool, so an agent can identify the tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the primary use case explicit: comparing live per-gram gold prices. It also routes trend requests over a day, week or month to gold_milli_history, giving the agent a clear alternative when the current tool is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.0- First observed
gold_milli_history - First observed
gold_milli_stats - First observed
gold_prices
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: live cross-platform comparison, Milli.gold historical series, and Milli.gold platform statistics. The descriptions explicitly cross-reference one another to steer agents to the right tool.
All names use lowercase snake_case with a consistent `gold_` prefix and clear resource/action descriptors. The pattern is predictable across the set.
Three tools are well-scoped for a focused gold-price data domain: current comparison, history, and platform stats. Each tool earns its place without redundancy.
The surface covers live comparison plus Milli.gold history and stats, but historical data is only available for Milli.gold, not the other compared platforms. Minor gaps remain but core workflows are supported.
Maintenance
Related MCP Connectors
Live gold & silver prices for 37 countries. Tamara/Tabby installment calculators for Saudi Arabia.
- MetalAPIOAuthcom.metalapi
Live and historical prices for gold, silver and other metals, energy, currencies and crypto.
Gold, silver and copper spot, 31 currencies, per-country dealer prices and nine MCP tools.
Precious metals AI analyst with 12 tools — prices, portfolio, chat, receipts, and more.
Related MCP Servers
- FlicenseAqualityDmaintenanceProvides real-time gold prices from Vietnamese and international markets via the vang.today API.3-

Arzbin MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceLive Iran exchange rates, gold, crypto, and Toman/Rial market data for AI agents.2MIT- AlicenseNot gradedqualityBmaintenanceEnables access to live precious metals prices, historical data, market intelligence, and portfolio management with AI/LLM integration.ISC
- AlicenseAqualityAmaintenanceProvides read-only access to Iranian market data from tgju.org, including live gold, coin, currency, and crypto prices, category tables, symbol search, and daily price history. Exposes six MCP tools for market summaries, live quotes, category browsing, and historical data with Jalali date filtering.6MIT