Iran Tax

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

Unofficial read-only Iranian tax: goods IDs and VAT, activity codes, property values, tax laws.

已驗證STDIO僅桌面網頁搜尋與抓取金融

概覽

AI 產生的概覽

非官方唯讀 MCP 伺服器,讓助理查詢伊朗稅務資料:商品編號與加值稅率、活動代碼、不動產計稅價值、稅法與常見問答。

可以做什麼
  • 依描述或 13 位編號搜尋電子發票商品與服務編號,含加值稅率、類型與有效期限
  • 查詢活動代碼及其加值稅階段、行業分組與官方利潤率
  • 依地圖座標與年度取得官方不動產交易價值及每平方公尺租金價值
  • 檢索稅法、法規、通函、裁定、意見與術語表,依最新排序
  • 讀取整份文件或其中單一條文的全文,並附官方 PDF 連結
  • 搜尋稅務機關的官方常見問答
適用情境
適合企業或會計需要電子發票商品編號及其加值稅率、活動代碼及其加值稅階段、某地址的官方不動產價值、某條稅法條文或通函原文,或官方常見問答答案時使用。不涵蓋納稅人自身資料,例如申報書、發票、欠稅或經濟代碼查詢。
執行需求
透過 uvx(或 pip install)以 stdio 在本機執行,需要 uv 與 Python 3.10+。不需帳號或 API 金鑰。需要能連線伊朗稅務網站;在伊朗境外須將選用變數 IRAN_TAX_MCP_PROXY 設為出口在伊朗的 HTTP 代理,系統代理設定會被忽略。
安裝前請注意
非官方產品,與稅務機關無關聯;所讀取的公開頁面可能隨時變動,回傳內容不構成稅務或法律建議。僅供唯讀,不登入、不申報、不開立發票、不付款。若設定 IRAN_TAX_MCP_PROXY,對稅務網站的請求會經該代理轉送,請選擇可信的代理。結果為波斯語文字,日期為伊朗曆,金額以里亞爾整數表示。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

iran-tax-mcp: Iranian tax MCP server for AI agents

Let your AI agent answer Iranian tax questions (مالیات) from the tax administration's own public systems.
An unofficial, read-only MCP server over tax.gov.ir, the goods/service ID system stuffid.tax.gov.ir and the tax regulation database regulation.tax.gov.ir:
e-invoice goods IDs and VAT rates, activity codes, property transaction values, tax laws, circulars and rulings, and the official FAQ.

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

[Install in VS Code]

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 public services of the Iranian National Tax Administration (سازمان امور مالیاتی کشور): tax.gov.ir, stuffid.tax.gov.ir and regulation.tax.gov.ir. Answers are Persian text.
  • Install: uvx iran-tax-mcp or claude mcp add iran-tax -- uvx iran-tax-mcp. Transport: stdio. Needs uv (Python 3.10+).
  • Auth: none, no API key or account. Optional IRAN_TAX_MCP_PROXY (HTTP proxy URL, or a comma-separated list); system proxy settings are ignored. The sites often refuse foreign IPs: outside Iran, use a proxy that exits in Iran.
  • Access: read-only. No login, filing, invoicing or payment, so no confirmation is needed before calling any tool.
  • Tools: 6, all prefixed tx_: tx_goods_search, tx_activity_codes, tx_property_value, tx_regulations_search, tx_regulation_text, tx_faq_search. For a law question, call tx_regulations_search first, then pass the hit's id and type to tx_regulation_text.
  • Use when: a company or accountant needs an e-invoice goods/service ID and its VAT rate, an activity code and its VAT stage, the official property value at an address, the text of a tax law article, a circular (بخشنامه) or ruling, or an official FAQ answer.
  • Do not use when: the task needs a taxpayer's own data (returns, invoices, debts, economic-code lookups). Those need a login or a captcha and are not offered.
  • Output: compact JSON. Dates and years are Jalali (1405/07/27, 1404). Money is rial as integers. Null and empty fields are omitted. Replies stay under ~15 KB: long texts come in parts of 6000 characters, list sizes are capped.
  • Network: the first tx_goods_search for a phrase takes 15-30 s (cached for an hour).
  • Machine-readable: server.json and the iran-mcp catalog.

Why

Iranian tax answers live on three different government sites, each with its own forms, postbacks and search screens. Finding the VAT rate of a product means a slow ID search; finding article 169 bis of the direct tax law means scrolling a 1.6 MB page. With iran-tax-mcp an agent runs the search, picks the right document and returns just the part you asked for.

You: What is the VAT treatment of laptops on the e-invoice system?

Agent: calls tx_goods_search(query="لپ تاپ", limit=5)

It returns the best-ranked active general goods IDs with their VAT rate, type and validity dates.

Every reply is trimmed to stay under about 15 KB, so it does not flood the agent's context.

What it can do

  • Find e-invoice goods and service IDs (شناسه کالا و خدمات) by description or 13-digit ID, with VAT rate, type and validity
  • Look up activity codes (اینتاکد) with VAT stage, business group and the official profit ratios
  • Get the official property value (ارزش معاملاتی) and rent value per m², booklet block and row, and the tax offices for a map point
  • Search tax laws, regulations, circulars, rulings, opinions, correspondence and glossary, newest first
  • Read the full text of one document, or a single article such as ماده 169 مکرر, with the official PDF link
  • Search the official FAQ of the tax administration
  • Read-only by design: no login, no filing, no payment

Example prompts:

  • "Find the e-invoice goods ID and VAT rate for a laptop."
  • "Which activity code fits a restaurant, and what are its profit ratios for 1404?"
  • "What is the official property value per m² at latitude 35.70, longitude 51.40?"
  • "Show article 169 bis (مکرر) of the direct tax law."
  • "Latest circulars about VAT on e-invoicing."
  • شناسه کالا و خدمات برای لپ‌تاپ چیست و نرخ ارزش افزوده آن چقدر است؟
  • متن ماده ۱۶۹ مکرر قانون مالیات‌های مستقیم را بیاور.
  • ارزش معاملاتی ملک در این مختصات چقدر است؟

Quick start

You need uv. No API key or account. Outside Iran, see the proxy note in Good to know.

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

Settings → Developer → Edit Config, then add:

json
{  "mcpServers": {    "iran-tax": { "command": "uvx", "args": ["iran-tax-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:

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

Or in ~/.codex/config.toml:

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

Add to ~/.gemini/settings.json:

json
{  "mcpServers": {    "iran-tax": { "command": "uvx", "args": ["iran-tax-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-tax-mcp, or pip install iran-tax-mcp and run iran-tax-mcp.

Tools

ToolWhat it does
tx_goods_searchE-invoice goods/service IDs (شناسه کالا و خدمات) with VAT rate, type and validity, by description or 13-digit ID (query, kind, general_only, limit 1-20). First search for a phrase takes 15-30 s; cached for an hour.
tx_activity_codesActivity codes (اینتاکد) with VAT stage, business group and official profit ratios (query, year, commercial, limit 1-20).
tx_property_valueOfficial property transaction value (ارزش معاملاتی) and rent value per m², booklet block and row, and the tax offices for a point (latitude, longitude, year).
tx_regulations_searchSearch tax laws, regulations and circulars, rulings, opinions, correspondence and glossary, newest first (query, type, title_only, page).
tx_regulation_textFull text of one document, or one article of it such as ماده 169 مکرر, with metadata and the official PDF link (id, type, article, part).
tx_faq_searchThe tax administration's FAQ: matching questions with links (query).

All 6 tools are annotated readOnlyHint: true.

How it works

text
  AI agent  (Claude, Cursor, Copilot, ...)      │      │  MCP over stdio      ▼  iran-tax-mcp  (runs on your machine)      │      │  HTTPS      ├──────▶  tax.gov.ir              activity codes, property values, FAQ      ├──────▶  stuffid.tax.gov.ir      goods/service IDs and VAT      └──────▶  regulation.tax.gov.ir   laws, circulars, rulings

iran-tax-mcp runs locally and reads the same public pages and endpoints the three sites use. It has no hosted server in between and no API key. Requests go out through a Chrome-impersonating client, at most 4 at a time with a little jitter, retried up to twice on timeouts, network errors, 5xx and 429. It only talks to the allowed tax hosts and only reads.

Good to know

  • Network: these sites timed out through a Turkish proxy exit and answered directly from an Iranian connection. Outside Iran, set IRAN_TAX_MCP_PROXY to an HTTP proxy with an Iranian exit. System proxy variables are ignored on purpose.
  • Slow first goods search: the ID system builds a file for each search (15-30 s for a broad phrase such as «لپ تاپ», which has tens of thousands of rows). The server downloads and ranks it (active general IDs first) and keeps it for an hour. Replies are capped at 20 rows.
  • Activity codes: the two numeric columns are profit ratios (نسبت سود فعالیت, نسبت سود ناویژه به فروش), not tax rates. The commercial/non-commercial switch (تجاری / غیرتجاری) has no "all" option.
  • Property values: the result is the official transaction value for a point, for a chosen year.
  • Regulation text: long documents come in parts of 6000 characters; ask for the next part, or for a single article. Documents are cached for an hour.
  • Units: years and dates are Jalali, money is rial as integers.
  • What it does not do: no economic-code (شماره اقتصادی) or invalid-company lookup, no certificates, no returns, invoices or payments, no login and no captcha solving.

FAQ

Is there an API or MCP server for Iranian tax data?

The tax administration's public sites have no documented open API for these lookups. iran-tax-mcp is an unofficial MCP server with 6 read-only tools that reads the public pages of tax.gov.ir, stuffid.tax.gov.ir and regulation.tax.gov.ir and returns compact JSON for AI agents.

Does it work outside Iran?

Often not: Iranian government sites drop many foreign connections. It was built and tested on a direct Iranian connection. Set IRAN_TAX_MCP_PROXY to a proxy in Iran if calls fail to connect.

Why no economic-code (شماره اقتصادی) or invalid-company lookup?

On tax.gov.ir those forms need a captcha, and the e-invoice API needs the taxpayer's signed key. This server only uses what is public without either.

Why is the first goods search slow?

The ID system answers a search by building a file (15-30 s for a broad phrase such as «لپ تاپ»). The server downloads it once, ranks it (active general IDs first) and keeps it for an hour, so repeats are fast.

How do I get the text of a specific law article?

Call tx_regulations_search to find the document, then tx_regulation_text with its id and type, and article set to something like ماده 169 مکرر.

Are the activity-code numbers tax rates?

No. The two numeric columns are the official profit ratios (نسبت سود فعالیت and نسبت سود ناویژه به فروش).

Can it file returns, issue invoices or pay taxes?

No. It has no login and no write calls, it only reads public information. Nothing it returns is tax or legal advice.

How do I debug what the agent sees?
bash
npx @modelcontextprotocol/inspector uvx iran-tax-mcp

Configuration

VariableDefaultMeaning
IRAN_TAX_MCP_PROXYunsetOptional HTTP proxy URL for requests to the tax sites; 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 cannot connect

فارسی: سرور MCP مالیات ایران

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

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

  • شناسه کالا و خدمات (صورتحساب الکترونیکی، سامانه مودیان) و نرخ ارزش افزوده، با توضیح کالا یا شناسه ۱۳ رقمی.
  • کد فعالیت (اینتاکد) با مرحله ارزش افزوده و نسبت سود رسمی.
  • ارزش معاملاتی املاک و ارزش اجاره هر متر مربع بر اساس مختصات.
  • قوانین، بخشنامه‌ها، دستورالعمل‌ها و آرای مالیاتی از سامانه جامع مقررات مالیاتی، با متن کامل یا یک ماده مشخص مثل «ماده ۱۶۹ مکرر».
  • پرسش‌های متداول سازمان امور مالیاتی.

نکته‌ها

  • فقط خواندنی است: وارد حساب نمی‌شود، اظهارنامه نمی‌دهد و پرداخت انجام نمی‌دهد. مشاوره مالیاتی یا حقوقی نیست.
  • استعلام شماره اقتصادی و شرکت‌های نامعتبر ارائه نمی‌شود (کپچا یا ورود لازم دارد).
  • سال و تاریخ شمسی است و مبالغ به ریال.
  • جست‌وجوی اول شناسه کالا ۱۵ تا ۳۰ ثانیه طول می‌کشد و بعد یک ساعت ذخیره می‌شود.
  • این سامانه‌ها اغلب IP خارجی را قبول نمی‌کنند؛ از اینترنت ایران استفاده کنید یا متغیر IRAN_TAX_MCP_PROXY را روی یک پراکسی HTTP با خروجی ایران بگذارید.
  • کلید API لازم نیست و روی سیستم خود شما اجرا می‌شود.

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

bash
claude mcp add iran-tax -- uvx iran-tax-mcp

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

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

  • «شناسه کالا و خدمات لپ‌تاپ و نرخ مالیات بر ارزش افزوده آن چیست؟»
  • «متن ماده ۱۶۹ مکرر قانون مالیات‌های مستقیم را بده.»
  • «آخرین بخشنامه‌های مربوط به صورتحساب الکترونیکی کدام‌اند؟»
  • «کد اینتاکد برای رستوران چیست؟»

Development

bash
git clone https://github.com/sepehr071/iran-tax-mcp && cd iran-tax-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 tax sites, needs an Iranian connectionuv build

Tools live in src/iran_tax_mcp/ (goods.py, taxgov.py, regulation.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

Disclaimer

Unofficial and not affiliated with or endorsed by the Iranian National Tax Administration (سازمان امور مالیاتی کشور). It is read-only and uses public pages of tax.gov.ir, stuffid.tax.gov.ir and regulation.tax.gov.ir, which can change without notice. Information is for reference only and is not tax or legal advice.

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,提交 6f6dc3d

工具

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

版本歷史

4
  1. v0.2.0最新Nov 7, 2026
  2. v0.1.2Oct 23, 2026
  3. v0.1.1Oct 22, 2026
  4. v0.1.0Oct 20, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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