tgju-mcp: TGJU MCP server for AI agents (dollar, gold, coin and crypto prices in Iran)
Let your AI agent read live Iranian market prices from TGJU (tgju.org).
An unofficial, read-only MCP server for TGJU (شبکه اطلاعرسانی طلا، سکه و ارز), Iran's market-price portal:
dollar, euro, gold, coin, crypto and commodity prices, category tables and daily history, from Claude, Cursor or Copilot.
For AI agents · Why · What it can do · Quick start · Tools · How it works · Good to know · FAQ · Configuration · فارسی · Development
For AI agents
- What: unofficial MCP server (model context protocol) for tgju.org, the Iranian portal for dollar, gold, coin, crypto and commodity prices. Symbol search takes Persian and English names.
- Install:
uvx tgju-mcporclaude mcp add tgju -- uvx tgju-mcp. Transport: stdio. Needs uv (Python 3.10+). - Auth: none, no API key or account. Optional
TGJU_MCP_PROXY(HTTP proxy URL, or a comma-separated list); system proxy settings are ignored. - Access: read-only. It cannot log in or trade, so no confirmation is needed before calling any tool.
- Tools: 6, all prefixed
tj_. Typical sequence:tj_market_summary->tj_category_table->tj_price_history. If you only have a name, calltj_search_symbolsfirst and pass itssymbolto the other tools. - Use when: the user asks for the dollar, euro, gold, coin, Bitcoin or Brent price in Iran, a price table of a group, or a symbol's daily history.
- Do not use when: the user wants to trade or buy anything, needs stock-exchange (TSETMC) data, or asks about markets outside the TGJU feed.
- Output: compact JSON. Iranian prices are quoted by the site in Rial; those symbols also carry
*_toman(Rial / 10). Global symbols (ounce, Brent, crypto in USD, currency pairs) keep their listed unit (unit: as_listed). - Machine-readable:
server.jsonand the awesome-iran-mcp catalog.
Why
TGJU is where Iranians check the dollar, gold and coin price, but it is a busy web page with hundreds of symbols.
Asking "what is the dollar, the 18k gold gram and the Emami coin right now, and how did the dollar move over the last
month?" means several screens. With tgju-mcp an agent answers it in a few calls and returns a short summary
instead of raw tables.
You: What are the main rates today, and how has the dollar moved recently?
Agent: calls
tj_market_summary->tj_search_symbols->tj_price_historyIt reads the key rates in one call, finds the dollar symbol, and summarises its recent daily closes.
Every reply is trimmed to stay under about 15 KB, so it does not flood the agent's context.
What it can do
- Summarise the market in one call: dollar, euro, dirham, pound, lira, gold gram and ounce, coins, silver, Brent, Bitcoin, Ethereum, Tether
- Quote symbols: live price, change, high and low for one or more symbols
- List price tables of a group: gold, coin, retail coin, currency, government currency, Sana, Nima, crypto, or any folder id
- Browse the market tree to find folders and symbols
- Search symbols by name across internal, global and crypto markets
- Pull daily history: open, low, high, close and change, with Jalali date filters
- Read-only by design: no login, no trading
Example prompts:
- "What is the dollar, euro and 18k gold gram price right now?"
- "Show the coin price table."
- "How has the free-market dollar moved over the last 30 days?"
- "Price of Bitcoin and Tether in Toman."
- "Find the symbol for Brent oil and show its latest price."
- قیمت دلار، یورو و طلای ۱۸ عیار الان چند است؟
- جدول قیمت سکه امروز را نشان بده.
- روند قیمت دلار در یک ماه گذشته چطور بوده؟
Quick start
You need uv. No API key or account.
Claude Code
claude mcp add tgju -- uvx tgju-mcp
Claude Desktop
Settings → Developer → Edit Config, then add:
{
"mcpServers": {
"tgju": { "command": "uvx", "args": ["tgju-mcp"] }
}
}
Cursor
Add the Claude Desktop block above 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:
{
"servers": {
"tgju": { "type": "stdio", "command": "uvx", "args": ["tgju-mcp"] }
}
}
Codex CLI
codex mcp add tgju -- uvx tgju-mcp
Or in ~/.codex/config.toml:
[mcp_servers.tgju]
command = "uvx"
args = ["tgju-mcp"]
Gemini CLI
Add to ~/.gemini/settings.json:
{
"mcpServers": {
"tgju": { "command": "uvx", "args": ["tgju-mcp"] }
}
}
Windsurf
Add the Claude Desktop block to ~/.codeium/windsurf/mcp_config.json.
Anything else
It is a standard stdio MCP server: run uvx tgju-mcp, or pip install tgju-mcp and run tgju-mcp.
Tools
Symbols are lower-case slugs such as price_dollar_rl, geram18 or sekee. If you do not know one, call tj_search_symbols first.
| Tool | What it does |
|---|---|
tj_market_summary |
Key Iranian market rates in one call: dollar, euro, dirham, pound, lira, gold gram and ounce, coins, silver, Brent, Bitcoin, Ethereum, Tether |
tj_get_prices |
Live price, day change, high and low for one or more TGJU symbols |
tj_category_table |
Live price table of one TGJU group: price, change, day high/low/open per symbol |
tj_list_categories |
Browse TGJU's market tree: folders (with ids) and symbols |
tj_search_symbols |
Find TGJU symbols by name |
tj_price_history |
Daily history (open, low, high, close, change) of a TGJU symbol, for charts and trend questions |
All 6 tools are annotated readOnlyHint: true.
How it works
AI agent (Claude, Cursor, Copilot, ...)
│
│ MCP over stdio
▼
tgju-mcp (runs on your machine)
│
│ HTTPS
└──────▶ api.tgju.org, call4.tgju.org live feed, tables, history, search
tgju-mcp runs locally and calls the same endpoints the tgju.org site uses. It has no hosted server in between and
no API key. Requests go out through a Chrome-impersonating client, at most 2 at a time with a little jitter. Answers
are kept for 15 seconds, a failed GET is retried, and it only talks to api.tgju.org and call4.tgju.org. It only reads.
Good to know
- Units: the feed has no unit field. Gold grams, coins, free-market and other
price_*currencies andcrypto-*-irrare in Rial (*_toman= Rial / 10).ons,silver,oil_*,crypto-*(USD) and pairs likeusd-try-askkeep their listed unit (as_listed). - Unit rule is a heuristic on the symbol name, so check unusual symbols against tgju.org. Folder-id tables apply it per row (
unit: mixed); symbols outside it, such as exchange-house quotes with slug names, stayas_listed. - Reply caps:
tj_category_tableandtj_price_historyreturn at most 50 rows, so replies stay under about 14 KB. - Stale quotes: a quote older than 2 days carries
stale: true. Illiquid symbols can be delayed, so checktime. - Symbols missing from the live feed (slugs from
tj_search_symbols) are answered bytj_get_priceswith the latest daily close (source: history,time= date). - Dates: history returns Gregorian and Jalali dates;
from_dateandto_datefilters are JalaliYYYY/MM/DD. - Search returns at most 10 hits.
- What it does not do: no trading or orders, no account features, no prices outside the TGJU feed.
- Network: tgju.org answered plain requests from both a proxy and a direct connection when tested. If your network blocks it, set
TGJU_MCP_PROXY. System proxy variables are ignored on purpose.
FAQ
Is there a TGJU API or MCP server?
TGJU has no documented public API. tgju-mcp is an unofficial MCP server with 6 read-only tools that calls the same
endpoints the tgju.org web app uses and returns compact JSON for AI agents.
How do I get the dollar or gold price in Claude, Cursor or Copilot?
Add the server with claude mcp add tgju -- uvx tgju-mcp, or use the matching config in
Quick start, then ask in plain language, in Persian or English.
Are prices in Rial or Toman?
TGJU quotes Iranian prices in Rial. Those symbols also come back as *_toman (Rial / 10). Global symbols such as the
gold ounce, Brent and crypto in USD keep their listed unit.
Which symbol do I use for the dollar?
Call tj_market_summary for the main rates, or tj_search_symbols with a name (Persian or English) and pass the
returned symbol to tj_get_prices or tj_price_history.
Why does a price look old?
Some symbols are illiquid or no longer updated. A quote older than 2 days is marked stale: true; check the time field.
Can it buy gold or give investment advice?
No. It has no login and no trading calls, it only reads public prices. Nothing it returns is financial advice.
Is the data real time?
It is what TGJU serves, kept for up to 15 seconds in a local cache, and it may be delayed.
How do I debug what the agent sees?
npx @modelcontextprotocol/inspector uvx tgju-mcp
Configuration
| Variable | Default | Meaning |
|---|---|---|
TGJU_MCP_PROXY |
unset | Optional HTTP proxy URL for tgju.org requests; system proxy settings are ignored. Also accepts a comma-separated list: one is used until it gets blocked or fails to connect, then the next |
فارسی: سرور MCP قیمت دلار، طلا و سکه (TGJU)
tgju-mcp یک سرور MCP غیررسمی و فقطخواندنی برای سایت TGJU (شبکه اطلاعرسانی طلا، سکه و ارز) است. این سرور به دستیار هوش مصنوعی شما (Claude، Cursor، Copilot و ...) اجازه میدهد قیمت دلار، یورو، طلا، سکه، ارز دیجیتال و کالاها را از tgju.org بخواند.
چه کارهایی میکند
- خلاصه بازار در یک فراخوانی: دلار، یورو، درهم، پوند، لیر، گرم و اونس طلا، سکهها، نقره، برنت، بیتکوین، اتریوم و تتر.
- قیمت لحظهای نماد با تغییر روز، بیشترین و کمترین قیمت.
- جدول قیمت گروهها: طلا، سکه، ارز، ارز دولتی، ارز نیما، ارز سنا، ارز دیجیتال.
- جستجوی نماد و گشتوگذار در درخت بازار.
- تاریخچه روزانه قیمت (باز، کم، زیاد، پایانی و تغییر) با فیلتر تاریخ شمسی، تا ۵۰ ردیف.
نکتهها
- فقط خواندنی است: وارد حساب نمیشود و خرید و فروش انجام نمیدهد. توصیه مالی نیست.
- قیمتهای ایرانی در سایت به ریال است و برای آنها فیلد تومان (ریال تقسیم بر ۱۰) هم برمیگردد. نمادهای جهانی (اونس، برنت، ارز دیجیتال به دلار) واحد خودشان را دارند.
- قیمت نمادهای کممعامله ممکن است قدیمی باشد؛ فیلد
timeرا ببینید. - کلید API لازم نیست و روی سیستم خود شما اجرا میشود. در صورت نیاز به پراکسی، متغیر
TGJU_MCP_PROXYرا بگذارید.
نصب (اول uv را نصب کنید). در Claude Code:
claude mcp add tgju -- uvx tgju-mcp
در Claude Desktop، Cursor و بقیه برنامهها همان تنظیم بخش Quick start را بگذارید.
نمونه پرسشها
- «قیمت دلار و طلای ۱۸ عیار الان چند است؟»
- «جدول قیمت سکه را نشان بده.»
- «روند دلار آزاد در ۳۰ روز گذشته چطور بوده؟»
- «قیمت بیتکوین و تتر به تومان چقدر است؟»
Development
git clone https://github.com/sepehr071/tgju-mcp && cd tgju-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 tgju.org
uv build
All tools live in src/tgju_mcp/markets.py; each is a typed async function with a docstring that tells the agent
when to use it. Issues and PRs are welcome.
Releases: bump the version in pyproject.toml and server.json, then push a v* tag. GitHub Actions publishes to PyPI.
Related servers
- awesome-iran-mcp: catalog of all Iranian-service MCP servers
- tsetmc-mcp for Tehran Stock Exchange quotes and indices
- iran-crypto-mcp for crypto prices on Iranian exchanges
- milligold-mcp for gold prices on Milli
- iran-news-mcp for Iranian news
Disclaimer
Unofficial and not affiliated with or endorsed by TGJU. It is read-only and uses the endpoints of the tgju.org web app, which can change without notice. Prices are informational, may be delayed, and are not financial advice.
License
Metadata
Release files for tgju-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tgju_mcp-0.1.1.tar.gz | 104.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tgju_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 125.2 kB
Release files / tgju_mcp-0.1.1.tar.gz
| Download URL | tgju_mcp-0.1.1.tar.gz |
|---|---|
| Size | 104.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ace23ff94011fcd5770c867bac9d7759c4bd7fb98faaf2f3f5d5116cc253bc48
|
|
BLAKE2b-256 checksum How to use checksums |
f6e22cfc6aeaee11de6a2dc1dc73904db8a28e70c36e1da30261ffcb5aacfd39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logRelease files / tgju_mcp-0.1.1-py3-none-any.whl
| Download URL | tgju_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 21.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dee712f4cdc90b4252cdd023cf0b208c4638bcc1d6151be5a0c420a4cf6ad9b0
|
|
BLAKE2b-256 checksum How to use checksums |
02d6604777296d9540dda7cdc8cf2ea23df68a82f869ab6d0b3337a3f5fb2fa5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logSecurity for tgju-mcp 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for tgju_mcp-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.