Skip to content

Dadras — Iranian law (دادرس)

by dadrasai.com · remote · no sign-in to list tools · v1.5.0 · published by com.dadrasai

95,000+ articles of Iranian law, a legal glossary and 8 Iranian legal calculators. Free.

Final · 1Changes · 718 high findings

14 tools: 1 do something that can't be undone, 7 change things and 6 only read.

Scanned Oct 21, 2026

19 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http iranian-law https://mcp.dadrasai.com/mcp

Findings

Matches of fixed checks, with the text they matched.

18 high1 warn
  • The title contains 1 hidden character: zero-width (U+200C).

    Matched text

    title: "Explain an Iranian legal term (واژه<U+200C>نامهٔ حقوقی)"

    What this check looks for
  • The annotations title contains 1 hidden character: zero-width (U+200C).

    Matched text

    annotations.title: "Explain an Iranian legal term (واژه<U+200C>نامهٔ حقوقی)"

    What this check looks for
  • The description contains 1 hidden character: zero-width (U+200C).

    Matched text

    description: "...p on a lawyer's power of attorney (وکالت<U+200C>نامه, article 103 of the Direct Taxes Ac..."

    What this check looks for
  • The input schema at properties.contract_fee_rial.description contains 2 hidden characters: zero-width (U+200C).

    Matched text

    inputSchema.properties.contract_fee_rial.description: "The حق<U+200C>الوکاله written in the وکالت<U+200C>نامه, in ری..."

    What this check looks for
  • The input schema at properties.injury.description contains 3 hidden characters: zero-width (U+200C).

    Matched text

    inputSchema.properties.injury.description: "...ت سر و صورت — حارصه — خراش پوست بدون خون<U+200C>آمدن; damiyeh = جراحات سر و صورت — دامیه..."

    What this check looks for
  • The input schema at properties.sacred_month.description contains 2 hidden characters: zero-width (U+200C).

    Matched text

    inputSchema.properties.sacred_month.description: "...ct took place in a sacred month (رجب، ذی<U+200C>القعده، ذی<U+200C>الحجه، محرم); adds one third..."

    What this check looks for
Show 13 more findings
  • The title contains 1 hidden character: zero-width (U+200C).

    Matched text

    title: "Inheritance shares (محاسبهٔ سهم<U+200C>الارث)"

    What this check looks for
  • The annotations title contains 1 hidden character: zero-width (U+200C).

    Matched text

    annotations.title: "Inheritance shares (محاسبهٔ سهم<U+200C>الارث)"

    What this check looks for
  • The input schema at properties.claim_kind.description contains 1 hidden character: zero-width (U+200C).

    Matched text

    inputSchema.properties.claim_kind.description: "...non-financial = دعوای غیرمالی و درخواست<U+200C>ها."

    What this check looks for
  • The input schema at properties.stage.description contains 1 hidden character: zero-width (U+200C).

    Matched text

    inputSchema.properties.stage.description: "...واخواهی و تجدیدنظرخواهی; supreme = فرجام<U+200C>خواهی، اعاده دادرسی و اعتراض ثالث."

    What this check looks for
  • The input schema at properties.non_financial_kind.description contains 3 hidden characters: zero-width (U+200C).

    Matched text

    inputSchema.properties.non_financial_kind.description: "...ion = طلاق، نکاح، فسخ نکاح و نسب — فرجام<U+200C>خواهی; marriage-retrial = طلاق، نکاح، فس..."

    What this check looks for
  • The title contains 1 hidden character: zero-width (U+200C).

    Matched text

    title: "Lawyer's fee by tariff (حق<U+200C>الوکاله)"

    What this check looks for
  • The annotations title contains 1 hidden character: zero-width (U+200C).

    Matched text

    annotations.title: "Lawyer's fee by tariff (حق<U+200C>الوکاله)"

    What this check looks for
  • The description contains 1 hidden character: zero-width (U+200C).

    Matched text

    description: "Compute the lawyer's fee (حق<U+200C>الوکاله) for a financial claim under the..."

    What this check looks for
  • The title contains 1 hidden character: zero-width (U+200C).

    Matched text

    title: "Court deadlines (مهلت<U+200C>های دادرسی)"

    What this check looks for
  • The annotations title contains 1 hidden character: zero-width (U+200C).

    Matched text

    annotations.title: "Court deadlines (مهلت<U+200C>های دادرسی)"

    What this check looks for
  • The description contains 1 hidden character: zero-width (U+200C).

    Matched text

    description: "...l (تجدیدنظرخواهی), seek cassation (فرجام<U+200C>خواهی) or object to a default judgment (..."

    What this check looks for
  • The input schema at properties.remedy.description contains 1 hidden character: zero-width (U+200C).

    Matched text

    inputSchema.properties.remedy.description: "...ppeal = تجدیدنظرخواهی; cassation = فرجام<U+200C>خواهی; objection = واخواهی از رأی غیابی;..."

    What this check looks for
  • The server marks "calculate_late_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "calculate_late_payment" says "payment": a word that usually means money moves, which cannot be taken back.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

14 tools

Can't be undone 1Claude Code: ask
  • calculate_late_paymentCompute late-payment damages (خسارت تأخیر تأدیه, article 522 of the Civil Procedure Code) on a debt in rial between the month it fell due and the month it is paid, from the Central…1 finding

    Why it is in this group

    • The name "calculate_late_payment" says "payment": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "calculate_late_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "calculate_late_payment" says "payment": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Compute late-payment damages (خسارت تأخیر تأدیه, article 522 of the Civil Procedure Code) on a debt in rial between the month it fell due and the month it is paid, from the Central Bank's monthly price index. Use it for a money debt, a cheque or a judgment sum; a mehrieh is valued with calculate_mehrieh instead. A month whose index is not published yet uses the latest published one, and the result says so. Returns the damages, their breakdown and the index figures used with their dates. Amounts in rial; dates in the Jalali calendar.

    Annotations the server declares

    • title: Late-payment damages (خسارت تأخیر تأدیه)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 7Claude Code: ask
  • calculate_court_deadlineCompute the last day to appeal (تجدیدنظرخواهی), seek cassation (فرجام[U+200C]خواهی) or object to a default judgment (واخواهی) in an Iranian civil or criminal case, from the Jalali …4 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • High

      The title contains 1 hidden character: zero-width (U+200C).

      Matched text

      title: "Court deadlines (مهلت<U+200C>های دادرسی)"

      What this check looks for
    • High

      The annotations title contains 1 hidden character: zero-width (U+200C).

      Matched text

      annotations.title: "Court deadlines (مهلت<U+200C>های دادرسی)"

      What this check looks for
    • High

      The description contains 1 hidden character: zero-width (U+200C).

      Matched text

      description: "...l (تجدیدنظرخواهی), seek cassation (فرجام<U+200C>خواهی) or object to a default judgment (..."

      What this check looks for
    • High

      The input schema at properties.remedy.description contains 1 hidden character: zero-width (U+200C).

      Matched text

      inputSchema.properties.remedy.description: "...ppeal = تجدیدنظرخواهی; cassation = فرجام<U+200C>خواهی; objection = واخواهی از رأی غیابی;..."

      What this check looks for
    Description, as the server wrote itContains invisible characters, shown as [U+…]
    Compute the last day to appeal (تجدیدنظرخواهی), seek cassation (فرجام[U+200C]خواهی) or object to a default judgment (واخواهی) in an Iranian civil or criminal case, from the Jalali date the judgment was served, skipping Fridays and official holidays. Use it when the question is until when an objection can be filed; for the articles that set the periods use search_iranian_law. A third-party objection has no fixed deadline and the result explains why. Returns the deadline date, the period applied and its legal basis. Amounts in rial; dates in the Jalali calendar.

    Annotations the server declares

    • title: Court deadlines (مهلت[U+200C]های دادرسی)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • calculate_court_feeCompute the court fee (هزینهٔ دادرسی) to file a claim or an appeal in Iran: tiered by the claim's value for a financial claim, a fixed amount for a non-financial claim or a request…3 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • High

      The input schema at properties.claim_kind.description contains 1 hidden character: zero-width (U+200C).

      Matched text

      inputSchema.properties.claim_kind.description: "...non-financial = دعوای غیرمالی و درخواست<U+200C>ها."

      What this check looks for
    • High

      The input schema at properties.stage.description contains 1 hidden character: zero-width (U+200C).

      Matched text

      inputSchema.properties.stage.description: "...واخواهی و تجدیدنظرخواهی; supreme = فرجام<U+200C>خواهی، اعاده دادرسی و اعتراض ثالث."

      What this check looks for
    • High

      The input schema at properties.non_financial_kind.description contains 3 hidden characters: zero-width (U+200C).

      Matched text

      inputSchema.properties.non_financial_kind.description: "...ion = طلاق، نکاح، فسخ نکاح و نسب — فرجام<U+200C>خواهی; marriage-retrial = طلاق، نکاح، فس..."

      What this check looks for
    Description, as the server wrote it
    Compute the court fee (هزینهٔ دادرسی) to file a claim or an appeal in Iran: tiered by the claim's value for a financial claim, a fixed amount for a non-financial claim or a request such as تأمین خواسته, from the Budget Act and the Judiciary's circular. Use it when the question is what filing will cost; for a lawyer's fee use calculate_lawyer_fee, and for the power-of-attorney stamp calculate_stamp_duty. Returns the fee in rial with its breakdown and source; a fixed fee whose figure is not yet verified says so. Amounts in rial; dates in the Jalali calendar.

    Annotations the server declares

    • title: Court fees (هزینهٔ دادرسی)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • calculate_diyaCompute the diya (دیه, blood money) owed for a death or a bodily injury under the Islamic Penal Code: the injury's legal fraction applied to the year's full diya from the Judiciary…2 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • High

      The input schema at properties.injury.description contains 3 hidden characters: zero-width (U+200C).

      Matched text

      inputSchema.properties.injury.description: "...ت سر و صورت — حارصه — خراش پوست بدون خون<U+200C>آمدن; damiyeh = جراحات سر و صورت — دامیه..."

      What this check looks for
    • High

      The input schema at properties.sacred_month.description contains 2 hidden characters: zero-width (U+200C).

      Matched text

      inputSchema.properties.sacred_month.description: "...ct took place in a sacred month (رجب، ذی<U+200C>القعده، ذی<U+200C>الحجه، محرم); adds one third..."

      What this check looks for
    Description, as the server wrote it
    Compute the diya (دیه, blood money) owed for a death or a bodily injury under the Islamic Penal Code: the injury's legal fraction applied to the year's full diya from the Judiciary's annual circular, with the sacred-month and Haram increase and the woman's share where they apply. Use it when the question is how much diya an injury or death carries; for the full-diya figure of a year alone use get_reference_rates, and for the articles that set a fraction use search_iranian_law. Covers the 22 injuries listed under `injury`; for others the articles give the fraction. Returns the amount in rial and toman, its breakdown, the circular used and the legal basis. Amounts in rial; dates in the Jalali calendar.

    Annotations the server declares

    • title: Diya — blood money (محاسبهٔ دیه)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • calculate_inheritanceDivide a deceased person's net estate among the heirs under the Civil Code's classes and fixed shares (فروض), with return (رد) and shortfall (ورود نقص; no عول, as in Shia law) and …2 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • High

      The title contains 1 hidden character: zero-width (U+200C).

      Matched text

      title: "Inheritance shares (محاسبهٔ سهم<U+200C>الارث)"

      What this check looks for
    • High

      The annotations title contains 1 hidden character: zero-width (U+200C).

      Matched text

      annotations.title: "Inheritance shares (محاسبهٔ سهم<U+200C>الارث)"

      What this check looks for
    Description, as the server wrote it
    Divide a deceased person's net estate among the heirs under the Civil Code's classes and fixed shares (فروض), with return (رد) and shortfall (ورود نقص; no عول, as in Shia law) and a bequest of up to one third, flagging the rule on a wife's share of land. Use it when the question is who inherits how much; for the articles behind a share use search_iranian_law or get_law_article (قانون مدنی, مواد ۸۶۱ تا ۹۴۹). Give only the living heirs: a later class inherits only when every earlier class is empty, and a spouse inherits with every class. Returns each heir's fraction and amount in rial with the articles applied. Amounts in rial; dates in the Jalali calendar.

    Annotations the server declares

    • title: Inheritance shares (محاسبهٔ سهم[U+200C]الارث)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • calculate_lawyer_feeCompute the lawyer's fee (حق[U+200C]الوکاله) for a financial claim under the Bar tariff: the tiered amount on the claim's value and each stage's share, for the number of lawyers — …3 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • High

      The title contains 1 hidden character: zero-width (U+200C).

      Matched text

      title: "Lawyer's fee by tariff (حق<U+200C>الوکاله)"

      What this check looks for
    • High

      The annotations title contains 1 hidden character: zero-width (U+200C).

      Matched text

      annotations.title: "Lawyer's fee by tariff (حق<U+200C>الوکاله)"

      What this check looks for
    • High

      The description contains 1 hidden character: zero-width (U+200C).

      Matched text

      description: "Compute the lawyer's fee (حق<U+200C>الوکاله) for a financial claim under the..."

      What this check looks for
    Description, as the server wrote itContains invisible characters, shown as [U+…]
    Compute the lawyer's fee (حق[U+200C]الوکاله) for a financial claim under the Bar tariff: the tiered amount on the claim's value and each stage's share, for the number of lawyers — the figure a court awards against the losing side. Use it when the question is the tariff fee or whether an agreed fee is above it; for the stamp on the power of attorney use calculate_stamp_duty, and for court fees calculate_court_fee. Returns the fee in rial per stage with its breakdown and the tariff's articles. Amounts in rial; dates in the Jalali calendar.

    Annotations the server declares

    • title: Lawyer's fee by tariff (حق[U+200C]الوکاله)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • calculate_mehriehValue a mehrieh (مهریه) at today's prices: a sum in rial indexed by the Central Bank's annual price index from the year of the marriage to the year of the claim (note to article 10…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Value a mehrieh (مهریه) at today's prices: a sum in rial indexed by the Central Bank's annual price index from the year of the marriage to the year of the claim (note to article 1082 of the Civil Code), or a number of gold coins at their latest recorded price. Use it when the question is what a mehrieh is worth now; for damages on an ordinary debt use calculate_late_payment, and for the coin price alone get_reference_rates. Returns the figure, its breakdown, the index or price used with its date, and the legal basis. Amounts in rial; dates in the Jalali calendar.

    Annotations the server declares

    • title: Mehrieh at today's value (مهریه به نرخ روز)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • calculate_stamp_dutyCompute the tax stamp on a lawyer's power of attorney (وکالت[U+200C]نامه, article 103 of the Direct Taxes Act) and the fund and Bar shares paid with it, for one stage of one case, …2 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • High

      The description contains 1 hidden character: zero-width (U+200C).

      Matched text

      description: "...p on a lawyer's power of attorney (وکالت<U+200C>نامه, article 103 of the Direct Taxes Ac..."

      What this check looks for
    • High

      The input schema at properties.contract_fee_rial.description contains 2 hidden characters: zero-width (U+200C).

      Matched text

      inputSchema.properties.contract_fee_rial.description: "The حق<U+200C>الوکاله written in the وکالت<U+200C>نامه, in ری..."

      What this check looks for
    Description, as the server wrote itContains invisible characters, shown as [U+…]
    Compute the tax stamp on a lawyer's power of attorney (وکالت[U+200C]نامه, article 103 of the Direct Taxes Act) and the fund and Bar shares paid with it, for one stage of one case, civil or criminal. Use it when the question is what the stamp costs; for the lawyer's tariff fee use calculate_lawyer_fee, and for court fees calculate_court_fee. Returns the amounts and their breakdown. Amounts in rial; dates in the Jalali calendar.

    Annotations the server declares

    • title: Lawyer's power-of-attorney stamp duty (تمبر وکالت)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 6Claude Code: allow
  • find_lawFind Iranian laws and regulations by their title, or part of it, in Dadras's library: up to 10 matches, best first, each with its slug, number of articles and dadrasai.com page.No findings

    Why it is in this group

    • The name "find_law" says "find": a word for reading.
    Description, as the server wrote it
    Find Iranian laws and regulations by their title, or part of it, in Dadras's library: up to 10 matches, best first, each with its slug, number of articles and dadrasai.com page. Use it when the user names a law («قانون صدور چک», «مدنی») and its exact title or slug is needed, before list_law_articles. It matches title words only; to find what laws say about a subject, use search_iranian_law.

    Annotations the server declares

    • title: Find an Iranian law by name
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_law_articleRead the full text of one article of an Iranian statute or regulation, word for word, with its law, the details on its page, a warning when it is marked repealed, and its dadrasai.…No findings

    Why it is in this group

    • The name "get_law_article" says "get": a word for reading.
    Description, as the server wrote it
    Read the full text of one article of an Iranian statute or regulation, word for word, with its law, the details on its page, a warning when it is marked repealed, and its dadrasai.com link. Use it when the article is known — named by the user or returned by another tool as a slug or link; to find which article covers a subject, use search_iranian_law instead. Dadras's explanatory notes, when present, follow the text under a heading that marks them as not part of the law. When the article is missing, the result says whether the law itself was found and gives its slug and article count for list_law_articles.

    Annotations the server declares

    • title: Read one article of an Iranian law
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_reference_ratesLook up the official figures Dadras's calculators use: the full diya for recent Jalali years (ordinary and sacred-month), the latest gold-coin prices, the Central Bank consumer pri…No findings

    Why it is in this group

    • The name "get_reference_rates" says "get": a word for reading.
    Description, as the server wrote it
    Look up the official figures Dadras's calculators use: the full diya for recent Jalali years (ordinary and sacred-month), the latest gold-coin prices, the Central Bank consumer price index (latest month and annual averages, 1395 = 100) and fixed court fees — each with its source, and a mark on any figure not yet checked against the official text. Use it when the question is the figure itself («دیهٔ کامل ۱۴۰۵ چقدر است؟»); to apply a figure to a case, use the matching calculate_* tool, which reads the same table.

    Annotations the server declares

    • title: Official reference figures (ارقام مرجع)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_law_articlesList the articles of one Iranian law in order, 50 per page, each with its title and slug, headed by the law's article count and number of pages.No findings

    Why it is in this group

    • The name "list_law_articles" says "list": a word for reading.
    Description, as the server wrote it
    List the articles of one Iranian law in order, 50 per page, each with its title and slug, headed by the law's article count and number of pages. Use it to browse a law's structure or to find an article's slug, with a law slug from find_law; then get_law_article reads an article in full. It lists titles, not text, and is not a search: for articles about a subject use search_iranian_law. A page past the end comes back empty and says so.

    Annotations the server declares

    • title: List the articles of an Iranian law
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_iranian_lawSearch the text of Iranian statutes and regulations (قوانین و مقررات) published by Dadras — over 95,000 articles of more than 5,900 laws — and get the best-matching articles, each …No findings

    Why it is in this group

    • The name "search_iranian_law" says "search": a word for reading.
    Description, as the server wrote it
    Search the text of Iranian statutes and regulations (قوانین و مقررات) published by Dadras — over 95,000 articles of more than 5,900 laws — and get the best-matching articles, each with an excerpt of its text, a note when it is repealed or old, and its dadrasai.com link. Use it for a question about what Iranian law says on a subject — «شرایط فسخ قرارداد اجاره», «مجازات کلاهبرداری» — or to check an article's wording before quoting it. Not for reading one known article in full (get_law_article), finding a law by its name (find_law), a word's meaning (explain_legal_term) or an amount (the calculate_* tools). Covers statutes and regulations only, not court rulings. Candidates are ordered by a legal relevance model; an article named by number and law comes first. Works best in Persian, in the statute's own vocabulary rather than as a story.

    Annotations the server declares

    • title: Search Iranian law (دادرس)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.5.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http iranian-law https://mcp.dadrasai.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__iranian-law__search_iranian_law",
      "mcp__iranian-law__get_law_article",
      "mcp__iranian-law__find_law",
      "mcp__iranian-law__list_law_articles",
      "mcp__iranian-law__explain_legal_term",
      "mcp__iranian-law__get_reference_rates"
    ],
    "ask": [
      "mcp__iranian-law__calculate_mehrieh",
      "mcp__iranian-law__calculate_late_payment",
      "mcp__iranian-law__calculate_stamp_duty",
      "mcp__iranian-law__calculate_diya",
      "mcp__iranian-law__calculate_inheritance",
      "mcp__iranian-law__calculate_court_fee",
      "mcp__iranian-law__calculate_lawyer_fee",
      "mcp__iranian-law__calculate_court_deadline"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as iranian-law. Review it before you use it.