Skip to main content
Glama

چیستارا — Iranian Legal Corpus

محاسبهٔ حق‌الثبت — Calculate registration duty

calculate_stamp_duty
Read-onlyIdempotent

Calculate حق‌الثبت, the STATE registration duty on a notarised document: 0.5% of the amount in a financial document (art. 123 of the Registration Act, as amended 1384), and the 1405 fixed amounts of art. 124 items (budget law 1405, table 16). Distinct from حق‌التحریر (the notary's own fee — use calculate_notary_fee). Marriage/divorce and company registration are refused (no official 1405 tariff / a separate capital ladder).

Input Schema

NameRequiredDescriptionDefault
countNoPages or items (optional).
doc_kindYesfinancial = sale/gift/mortgage/lease…; vehicle_sale_poa = vehicle sale power of attorney; non_valued = a document whose subject cannot be valued; signature_cert; rescission (فسخ/اقاله); copy_page (per page); registry_certificate; duplicate_deed (المثنی); true_copy_page (برابر اصل, per page).
amount_tomanNoAmount in the document, or its statutory base, in Toman (financial and vehicle_sale_poa only).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / amount_toman / description
      Previous value: -"Transaction amount in Toman (for rate-based types)."New value: +"Amount in the document, or its statutory base, in Toman (financial and vehicle_sale_poa only)."
    • addedInput schema / properties / count
      Added value: +{
      +  "description": "Pages or items (optional).",
      +  "type": "integer"
      +}
    • addedInput schema / properties / doc_kind
      Added value: +{
      +  "description": "financial = sale/gift/mortgage/lease…; vehicle_sale_poa = vehicle sale power of attorney; non_valued = a document whose subject cannot be valued; signature_cert; rescission (فسخ/اقاله); copy_page (per page); registry_certificate; duplicate_deed (المثنی); true_copy_page (برابر اصل, per page).",
      +  "enum": [
      +    "financial",
      +    "vehicle_sale_poa",
      +    "non_valued",
      +    "signature_cert",
      +    "rescission",
      +    "copy_page",
      +    "registry_certificate",
      +    "duplicate_deed",
      +    "true_copy_page"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / tx_type
      Removed value: -{
      -  "description": "Transaction/document type.",
      -  "enum": [
      -    "property_sale",
      -    "property_gift",
      -    "vehicle",
      -    "mortgage",
      -    "power_attorney",
      -    "marriage",
      -    "divorce",
      -    "company",
      -    "will"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "tx_type"
      -]New value: +[
      +  "doc_kind"
      +]
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: the 0.5% rate, the fixed-tariff regime, and the explicit refusal of marriage/divorce and company registration, telling the agent what will not be computed. It stops short of describing output format, but for a deterministic calculator that gap is small.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the definition and rate in the first sentence, with the sibling disambiguation and refusals following. It is dense with parentheticals and legal citations, but every clause carries routing or scope information; only slight tightening would help.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only calculator with no output schema and full schema coverage, the description supplies scope, statutory basis, rate, refusals and sibling routing — enough for correct invocation. It omits any note on output shape or rounding, which is the only remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so doc_kind, amount_toman and count are already documented in the schema, making baseline 3 appropriate. The description reinforces that amount_toman applies to 'a financial document' and mentions the 0.5% rate, but adds no syntax, units or boundary detail the schema does not already supply.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Calculate) and a precisely named resource (حق‌الثبت, the STATE registration duty on a notarised document), and explicitly distinguishes it from the sibling calculate_notary_fee. The legal grounding (art. 123, art. 124) makes the scope unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names both the alternative and the condition that selects it: 'Distinct from حق‌التحریر (the notary's own fee — use calculate_notary_fee).' It also states when the tool does NOT apply (marriage/divorce and company registration are refused), which is exactly the when-not guidance this dimension rewards.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources