{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T19:24:24.712Z","url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp","markdownUrl":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp.md","server":{"slug":"sepehr071-rrk-mcp","name":"Official Gazette of Iran","registryName":"io.github.sepehr071/rrk-mcp","description":"Read-only Official Gazette of Iran (rrk.ir): search laws and rulings, read their text.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"rrk-mcp","type":"pypi","identifier":"rrk-mcp","withdrawn":false,"url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp","version":"0.1.2","transport":"stdio","scoredAt":"2026-11-05T03:38:44.417Z"},"score":{"total":81,"tier":"high trust","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":81},{"date":"2026-11-04","total":66},{"date":"2026-11-03","total":65},{"date":"2026-11-02","total":65},{"date":"2026-11-01","total":64}]},"categories":[{"name":"Supply Chain Security","score":100,"verdict":"partial","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","Runs hatchling.build at install time, a recognised build step with no custom scripting around it.","1 of 35 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.allowlisted","args":{"tool":"hatchling.build","hooks":"build_backend"}},{"code":"dephealth.assessed","args":{"deps":"35","unhealthy":"1"}}]},{"name":"Provenance & Transparency","score":97,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to sepehr071/rrk-mcp).","Clear OSI-approved license (MIT).","Actively maintained (last published 1 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"sepehr071/rrk-mcp"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"1"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":65,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 1438 tokens (~287/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"287","items":"5","tools":"5","tokens":"1438","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":13,"verdict":"partial","reasons":["Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"4"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"5"}},{"code":"toolsafety.manipulation_clean","args":{"units":"6","judged":"6"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"rrk-mcp","type":"pypi","identifier":"rrk-mcp","withdrawn":false,"score":81,"current":true,"url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp","markdownUrl":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp.md"}],"facts":[{"label":"Registry","value":"pypi"},{"label":"Package","value":"rrk-mcp"},{"label":"Version","value":"0.1.2"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"rk_search_laws","title":"Search laws and regulations","description":"Search the Official Gazette's laws and regulations database (rrk.ir) by title, full text, group, approver, special number or gazette date.\n\nUse to find a law, regulation, Court of Administrative Justice ruling or Majlis approval. All filters are\noptional and combined; with none it lists the newest. Gazette dates are Jalali (1405 = 2026). `group` and\n`approver` take an id or name words (see rk_law_filters). Returns `total`, `more` and up to 20 `laws` with\n`code`; pass a code to rk_law_text to read the text. This covers laws only: company registration notices\n(founding, capital, board, liquidation) are not openly searchable on rrk.ir.","inputs":[{"name":"approver","type":"string","required":false,"description":"Approving authority (مرجع تصویب) code or name words from rk_law_filters, e.g. 'دبیر هیات دولت'."},{"name":"from_date","type":"string","required":false,"description":"Gazette date from, Jalali YYYY/MM/DD, e.g. '1405/08/01'."},{"name":"group","type":"string","required":false,"description":"Law group (category) id or name words from rk_law_filters, e.g. 'آرای هیات عمومی دیوان عدالت اداری' or '3'. A top-level group includes its sub-groups; id 64 is the Majlis debates."},{"name":"page","type":"integer","required":false,"description":"Page number, 20 laws per page, newest gazette first."},{"name":"special_no","type":"string","required":false,"description":"The special issue number (شماره ویژه), e.g. '2301'."},{"name":"text","type":"string","required":false,"description":"Words inside the law's full text (slower than title search)."},{"name":"title","type":"string","required":false,"description":"Words in the law's title, Persian (e.g. 'ماليات', 'ديوان عدالت اداري')."},{"name":"to_date","type":"string","required":false,"description":"Gazette date to, Jalali YYYY/MM/DD, inclusive."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":406},{"name":"rk_law_filters","title":"Law groups and approvers","description":"List the law groups (categories) and approving authorities that rk_search_laws can filter by.\n\nUse first when the user asks for one kind of document (court rulings, cabinet decrees, regulations, Majlis\ndebates) or one issuing body. Pass a group `id` or an approver `code` (or their name words) to\nrk_search_laws as `group` or `approver`. Groups are two levels deep: `parent` is set on sub-groups.","inputs":[{"name":"query","type":"string","required":false,"description":"Name words to narrow the lists, e.g. 'دیوان' or 'مالیات'."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":137},{"name":"rk_latest_laws","title":"Latest laws and regulations","description":"List the newest laws, rulings and regulations published in the Official Gazette (rrk.ir), newest gazette first.\n\nUse for \"what was published in the gazette lately\". Each law has a `code`; pass it to rk_law_text for the\nfull text. To narrow by topic or date use rk_search_laws.","inputs":[{"name":"page","type":"integer","required":false,"description":"Page number, 20 laws per page."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":93},{"name":"rk_law_text","title":"Read a law's text","description":"Read the full text of one law or ruling from the Official Gazette (rrk.ir): approver, gazette number and date, body.\n\nUse after rk_search_laws or rk_latest_laws with a law's `code`. A code that this session has not listed yet\nis located by paging through the newest-first list (slow: 10-60 s, older laws may not be found). Long texts\nare cut at `max_chars`; call again with `offset` = the returned `next_offset` to continue.","inputs":[{"name":"code","type":"string","required":true,"description":"Law code (number) from rk_search_laws or rk_latest_laws."},{"name":"max_chars","type":"integer","required":false,"description":"Most characters to return."},{"name":"offset","type":"integer","required":false,"description":"Character to start from, to read long texts in parts."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":170},{"name":"rk_exchange_offices","title":"Licensed exchange offices","description":"List the licensed currency exchange offices (صرافی مجاز) the Central Bank published in the Official Gazette (rrk.ir).\n\nUse to see where licensed exchange offices are or to find one's address and phone. Filter by `province` and\n`city` (Persian names; an unknown province is an error that lists the valid ones). Returns `total`, `more`\nand up to 50 `offices` with province, city, district, phone, postal_code and address. Office names are not\npublished, only the location.","inputs":[{"name":"city","type":"string","required":false,"description":"City name as on the site, e.g. 'قم', 'سلفچگان'. Empty = whole province."},{"name":"page","type":"integer","required":false,"description":"Page number, 50 offices per page."},{"name":"province","type":"string","required":false,"description":"Province name as on the site, e.g. 'تهران', 'قم'. Empty = all."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":192}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T03:38:44.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"verified","label":"Verified","reason":"verified","reasonLabel":"Verified","discovery":"attestation_endpoint","discoveryLabel":"Registry attestation endpoint","sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[{"hook":"build_backend","tier":"allowlisted"}],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":35,"partial":false,"deprecated":null,"stale":null,"noRepo":1}},"mismatches":[],"changelog":{"trackingSince":"2026-11-01","recent":[{"id":"chg_01a1a9c9-9b8b-7090-bf8d-15549cbf9572","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp#chg-chg_01a1a9c9-9b8b-7090-bf8d-15549cbf9572"},{"id":"chg_01a1a9c9-9b90-727c-828b-c44339ed1f4b","kind":"score.total_changed","summary":"Trust score (66 → 81)","materiality":"functional","direction":"improvement","scoreDelta":15,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp#chg-chg_01a1a9c9-9b90-727c-828b-c44339ed1f4b"},{"id":"chg_01a1a4c0-a839-7179-af34-c777761c3b29","kind":"score.total_changed","summary":"Trust score (65 → 66)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp#chg-chg_01a1a4c0-a839-7179-af34-c777761c3b29"},{"id":"chg_01a1a1dd-df49-739a-84d2-42a246f24c25","kind":"package.version_changed","summary":"Package version (0.1.1 → 0.1.2)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp#chg-chg_01a1a1dd-df49-739a-84d2-42a246f24c25"},{"id":"chg_01a19b3e-f013-73a0-9ad6-0af1883cf1d2","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp#chg-chg_01a19b3e-f013-73a0-9ad6-0af1883cf1d2"},{"id":"chg_01a19b3e-f013-79d5-b022-ff07fd83d638","kind":"package.version_changed","summary":"Package version (0.1.0 → 0.1.1)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp#chg-chg_01a19b3e-f013-79d5-b022-ff07fd83d638"},{"id":"chg_01a19b3e-f013-7e28-8c24-7ae5876cf1a3","kind":"score.total_changed","summary":"Trust score (79 → 65)","materiality":"functional","direction":"regression","scoreDelta":-14,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp#chg-chg_01a19b3e-f013-7e28-8c24-7ae5876cf1a3"},{"id":"chg_01a199dd-80cc-746f-a3dd-784b5c396113","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp#chg-chg_01a199dd-80cc-746f-a3dd-784b5c396113"},{"id":"chg_01a199dd-80cc-7c0e-b53f-83711e4ea8c1","kind":"score.total_changed","summary":"Trust score (64 → 79)","materiality":"functional","direction":"improvement","scoreDelta":15,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp#chg-chg_01a199dd-80cc-7c0e-b53f-83711e4ea8c1"},{"id":"chg_01a19709-73e4-7aff-a8f1-229dc43f757d","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp#chg-chg_01a19709-73e4-7aff-a8f1-229dc43f757d"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp","markdown":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp.md","changelogJson":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/sepehr071-rrk-mcp/rrk-mcp.xml","external":[{"label":"PyPI project","href":"https://pypi.org/project/rrk-mcp/"},{"label":"Socket report","href":"https://socket.dev/pypi/package/rrk-mcp"},{"label":"Repository","href":"https://github.com/sepehr071/rrk-mcp"}]}}