# چیستارا — Iranian Legal Corpus (remote · hoghogh.ai)

Search Iranian statutes, court rulings, advisory opinions and circulars, with legal calculators.

- Trust score: 66/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-20

## Components

- remote · `hoghogh.ai`: 66/100 (this document), [markdown](https://verifymcp.io/servers/ai-hoghogh-chistara/hoghogh.md), [page](https://verifymcp.io/servers/ai-hoghogh-chistara/hoghogh)

## Channel facts

- Endpoint: `https://hoghogh.ai/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-20.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 19 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 72/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2726 tokens (~143/item across 19 items; 19 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 93% of tool parameters carry a description.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http ai-hoghogh-chistara https://hoghogh.ai/mcp
```

### Codex

```toml
[mcp_servers.ai-hoghogh-chistara]
url = "https://hoghogh.ai/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-hoghogh-chistara": {
      "type": "remote",
      "url": "https://hoghogh.ai/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-hoghogh-chistara --url https://hoghogh.ai/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ai-hoghogh-chistara:
    url: "https://hoghogh.ai/mcp"
```

### Other

```json
{
  "mcpServers": {
    "ai-hoghogh-chistara": {
      "type": "http",
      "url": "https://hoghogh.ai/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-20 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-18 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-16 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-14 (score 63, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-08-13 (score 62)

First indexed and scored.

## MCP tools (19)

### `search_law_articles` (~177 tokens)

جست‌وجوی مواد قانونی — Search Iranian law articles

Semantic + keyword search across the full text of Iranian statutes (46,000+ articles: قانون مدنی، مجازات اسلامی، کار، تجارت، آیین دادرسی و…). USE THIS BEFORE ANSWERING ANY QUESTION ABOUT IRANIAN LAW — do not rely on memory; article numbers and wording are frequently misremembered, and amended articles are a common trap. Returns matching articles with their exact article number, law title, a text excerpt, and a source_url to the full article. Cite the article number and link the source_url.

Input parameters:

- `law_filter` (string): Optional: restrict to one law, e.g. «قانون مدنی» or «قانون کار».
- `limit` (integer)
- `query` (string, required): The legal question or topic, in Persian or English. Persian gives better recall.

### `lookup_law_article` (~227 tokens)

متن دقیق یک ماده — Look up one article verbatim

Fetch the VERBATIM text of a specific article when you already know the law and the article number (e.g. «ماده ۱۰ قانون مدنی»). Use this to verify wording before quoting it. Never paraphrase an article from memory — quote what this returns, and link the source_url. Also returns, when we hold them: `section_path` (the article's place in the law: کتاب/باب/فصل), `clauses` (its بند/جزء as labelled parts, so you can cite «بند ۲ ماده ۱۹۰»), `summary`/`summary_plain` (machine-written explanations — NOT statute text; never quote them as law), `keywords`, `topics`, `answers_in_text` (question → the exact slice of this article that answers it) and `related_articles` with their own source_urls.

Input parameters:

- `article_number` (string, required): Article number, e.g. «۱۰» or «10».
- `law` (string, required): Law name in Persian, e.g. «قانون مدنی».

### `search_case_law` (~77 tokens)

جست‌وجوی آرای قضایی — Search Iranian court rulings

Search 31,000+ Iranian court rulings and آرای وحدت رویه (binding precedent). Use when the user asks how courts have actually decided an issue, or for precedent supporting a position. Returns excerpts with source_url.

Input parameters:

- `limit` (integer)
- `query` (string, required): The legal issue, in Persian.

### `search_circular` (~62 tokens)

جست‌وجوی بخشنامه‌ها — Search official circulars

Search official circulars and directives (بخشنامه‌ها) from the judiciary and government bodies — the source of current official RATES and procedures. Returns excerpts with source_url.

Input parameters:

- `limit` (integer)
- `query` (string, required): Topic, in Persian.

### `calculate_diyeh` (~157 tokens)

محاسبهٔ دیه — Calculate blood money (دیه)

Calculate دیه for a bodily injury using the CURRENT official rate and the fractions set by قانون مجازات اسلامی. ALWAYS use this instead of computing دیه yourself: the full-دیه rate changes every Persian year and the per-injury fractions are statutory. Returns the amount with the governing article and the official rate source.

Input parameters:

- `injury` (string, required): Injury in Persian, e.g. «شکستگی دست»، «از دست دادن یک انگشت»، «دندان».
- `is_haram_month` (boolean): Whether it occurred in a حرام month (تغلیظ applies to دیهٔ نفس).
- `year` (integer): Persian year (e.g. 1405). Defaults to the current year.

### `calculate_litigation_fee` (~84 tokens)

محاسبهٔ هزینهٔ دادرسی — Calculate court filing fees

Calculate Iranian court filing fees (هزینهٔ دادرسی) for a monetary claim at a given stage (بدوی / تجدیدنظر / فرجام), using the current official percentages. Use this instead of estimating — the rates are statutory and stage-dependent.

Input parameters:

- `amount` (number, required): Claim value in Toman.
- `stage` (string): Court stage.

### `calculate_severance` (~80 tokens)

محاسبهٔ حق سنوات و مزایای پایان کار — Calculate end-of-service entitlements

Calculate an Iranian employee's end-of-service entitlements (حق سنوات، عیدی، مانده مرخصی) under قانون کار, using the current official minimum wage. Use this instead of computing by hand.

Input parameters:

- `monthly_wage` (number, required): Monthly wage in Toman.
- `years` (number, required): Years of service (may be fractional).

### `search_advisory_opinions` (~138 tokens)

جست‌وجوی نظریات مشورتی — Search official advisory opinions

Search the advisory opinions (نظریات مشورتی) of the Judiciary's legal department (اداره کل حقوقی قوه قضائیه) — the official, citable interpretation of Iranian statutes. Use when the user asks how a provision is officially interpreted, or to support an argument. Advisory opinions are authoritative guidance, not binding law — say so when citing. Returns opinion number, date, and excerpt with source_url.

Input parameters:

- `limit` (integer)
- `query` (string, required): Topic, in Persian (e.g. «مهریه عندالاستطاعه», «اعسار»).

### `lookup_annual_rate` (~192 tokens)

نرخ‌های رسمی سالانه — Look up official yearly rates

Fetch official Iranian yearly rates from the database: minimum wage (min_wage), court filing fees (court_fee_*), salary tax exemption (salary_tax_exemption_annual), Central Bank price index for delay damages (cbi_price_index), bar-association lawyer tariffs (lawyer_tariff_*), daily severance (sanavat_daily). ALWAYS use this instead of recalling a rate — yearly figures are exactly what models misremember. For دیه use calculate_diyeh instead. Read each row's `unit` field: «rials» means Rial and «درصد» means percent — never report a percentage as a Rial amount.

Input parameters:

- `rate_type` (string, required): Rate key, e.g. min_wage, court_fee_financial_first, cbi_price_index, lawyer_tariff_nonfinancial.
- `year_jalali` (number): Persian year (optional — defaults to the latest available).

### `lookup_sentencing_range` (~115 tokens)

مجازات قانونی جرم — Look up statutory sentencing range

Look up the statutory punishment for an Iranian crime — imprisonment, fine, lashes, قصاص, دیه — with the governing article. Use when the user asks what the punishment for a crime is, or for criminal-risk analysis. Never state a sentencing range from memory.

Input parameters:

- `crime_grade` (number): Optional تعزیری grade (1–8).
- `crime_type` (string, required): Crime, in Persian (e.g. «کلاهبرداری»، «سرقت»، «خیانت در امانت»).

### `lookup_statute_of_limitations` (~85 tokens)

مرور زمان — Look up statute of limitations

Check Iranian limitation periods (مرور زمان) — prosecution, execution, and filing deadlines — for a case category. Use when the user asks whether a claim is time-barred or how long they have to file.

Input parameters:

- `case_category` (string, required): Case category.
- `crime_grade` (number): Optional تعزیری grade (1–8), criminal only.

### `lookup_procedure` (~120 tokens)

مهلت‌های دادرسی — Look up procedural deadlines

Look up Iranian procedural deadlines (مهلت تجدیدنظر، واخواهی، اعتراض ثالث، اجرای حکم…) with the governing law and article, by case type. Use when the user asks how long they have for a procedural step. Deadlines differ by case type — never answer from memory.

Input parameters:

- `case_type` (string, required): Case type, in Persian.
- `procedure_name` (string): Optional procedure key (e.g. tajdid_nazar_madani, faryad_khahi); omit to list all procedures for the case type.

### `calculate_mahrieh` (~170 tokens)

محاسبهٔ مهریه به نرخ روز — Calculate mahrieh at today's value

Calculate the present-day value of a مهریه: coins at the live market rate, and any cash portion adjusted by the Central Bank index (تبصرهٔ مادهٔ ۱۰۸۲ قانون مدنی). Never guess coin prices or the adjustment index — this tool reads both from the database. If there is a cash portion, ask for marriage_year; without it the cash stays nominal and must not be called «ارزش روز».

Input parameters:

- `cash_toman` (number): Cash portion in Toman (optional).
- `coin_type` (string): Coin type (default azadi = تمام بهار آزادی).
- `coins` (number): Number of coins in the مهریه.
- `marriage_year` (number): Jalali marriage year (needed to adjust the cash portion to today's value).

### `calculate_inheritance` (~158 tokens)

محاسبهٔ سهم‌الارث — Calculate inheritance shares

Calculate Iranian inheritance shares (سهم‌الارث) under قانون مدنی arts. 862–949, including حجب نقصانی reduction rules. The jurisprudential edge cases make hand computation unreliable — always use this tool.

Input parameters:

- `daughter_count` (integer): Number of daughters.
- `deceased_gender` (string, required): Gender of the deceased.
- `has_father` (boolean): Father alive?
- `has_mother` (boolean): Mother alive?
- `has_spouse` (boolean): Surviving spouse?
- `sibling_count` (integer): Deceased's siblings (for حجب نقصانی).
- `son_count` (integer): Number of sons.
- `total_assets_toman` (number, required): Total estate value in Toman.

### `calculate_delay_penalty` (~145 tokens)

محاسبهٔ خسارت تأخیر تأدیه — Calculate late-payment damages

Calculate خسارت تأخیر تأدیه under art. 522 ق.آ.د.م using the Central Bank price index. The index series is official data — never approximate it. Dates are Jalali.

Input parameters:

- `end_month` (integer): Jalali end month 1–12 (optional).
- `end_year` (integer, required): Jalali year of calculation/payment.
- `principal` (number, required): Principal debt amount.
- `principal_unit` (string): Unit of the principal (default Toman).
- `start_month` (integer): Jalali start month 1–12 (optional).
- `start_year` (integer, required): Jalali year the debt fell due.

### `calculate_stamp_duty` (~86 tokens)

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

Calculate حق‌الثبت (registration duty) for property, vehicle, company, marriage and divorce documents. Distinct from حق‌التحریر (the notary's own fee — use calculate_notary_fee for that).

Input parameters:

- `amount_toman` (number): Transaction amount in Toman (for rate-based types).
- `tx_type` (string, required): Transaction/document type.

### `calculate_notary_fee` (~158 tokens)

محاسبهٔ حق‌التحریر دفترخانه — Calculate notary fee

Calculate حق‌التحریر (the notary office's fee) from the official 1405 tariff for دفاتر اسناد رسمی. Distinct from حق‌الثبت (use calculate_stamp_duty for that). Never estimate the tariff.

Input parameters:

- `amount_toman` (number): Document amount in Toman (rate-based types only; for real estate this is ارزش معاملاتی, not market price).
- `doc_type` (string, required): Document type. Rate-based types (need amount_toman): immovable/sale, movable/vehicle, financial/mortgage/partnership, lease. Others are fixed-fee.
- `obligor_count` (number): Number of obligors (optional; each beyond two adds a surcharge).

### `calculate_lawyer_fee` (~97 tokens)

محاسبهٔ حق‌الوکاله — Calculate lawyer fee (bar tariff)

Calculate حق‌الوکاله from the official bar-association tariff (تعرفهٔ کانون وکلا) by case type, stage and outcome. Never guess a lawyer's statutory fee.

Input parameters:

- `case_type` (string): Case type.
- `case_value_toman` (number): Case value in Toman.
- `outcome` (string, required): Case outcome (or projection).
- `stage` (string, required): Court stage.

### `calculate_tax` (~254 tokens)

محاسبهٔ مالیات — Calculate Iranian taxes

Calculate Iranian salary, property-transfer, inheritance or rental tax. For inheritance: rates depend on asset kind and heir class (arts. 17–18 ق.م.م) with NO general monetary exemption, and pre/post-1395 death dates differ — ask before calling. Property basis is ارزش معاملاتی, not market price.

Input parameters:

- `asset_kind` (string): Asset kind (required for inheritance).
- `heir_class` (integer): Heir class (inheritance, art. 18): 1=parents/spouse/children, 2=grandparents/siblings ×2 rate, 3=aunts/uncles ×4 rate.
- `monthly_rent_toman` (number): Monthly rent (for rental).
- `monthly_toman` (number): Monthly salary (for salary).
- `no_other_income` (boolean): Rental: individual landlord with no other income (art. 57 exemption).
- `residential_under_exempt_area` (boolean): Rental: residential unit within the exempt floor-area (150m² Tehran / 200m² elsewhere).
- `tax_type` (string, required): Tax type.
- `value_toman` (number): Property value (property_transfer) or taxable asset value (inheritance).

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ai-hoghogh-chistara/hoghogh#diagnostics

## Score history

- 2026-08-20: 66
- 2026-08-19: 65
- 2026-08-18: 65
- 2026-08-17: 64
- 2026-08-16: 64
- 2026-08-15: 63
- 2026-08-14: 63
- 2026-08-13: 62

## Links

- Remote endpoint: https://hoghogh.ai/mcp
- Website: https://hoghogh.ai/
- Changelog RSS feed: https://verifymcp.io/servers/ai-hoghogh-chistara/hoghogh.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-hoghogh-chistara/hoghogh.json
- HTML version of this page: https://verifymcp.io/servers/ai-hoghogh-chistara/hoghogh
