Statistical Centre of Iran
PYPI · AMAR-MCP
Read-only Statistical Centre of Iran (amar.org.ir): CPI inflation, unemployment, census, any table.
Available components
Last scanned (7 hours ago)
Scores higher than 82% of PyPI servers
Category Data and Analytics
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 3 of 39 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to sepehr071/amar-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 3 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability63
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2915 tokens (~242/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
- Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Checks we ran (16)
- Malware scan
- Known CVEs
- Install scripts
- Dependency health
- Source repository
- Provenance
- License
- Maintenance
- Security disclosure
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this package (2)
- Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
- Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 +16
- Malware scan: unverified → pass ▲ security
- 2 Nov 26 −15
- Malware scan: pass → unverified ▼ security
- Package version: 0.1.0 → 0.1.1 functional
- 1 Nov 26 79
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 6 Nov 2026 · Analysed pypi/amar-mcp@0.1.1
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | pypi |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | sepehr071/amar-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/sepehr071/amar-mcp/.github/workflows/publish.yml@refs/tags/v0.1.1 |
| Rekor log index | 3637822352 |
| Predicate type | PyPI publish attestation https://docs.pypi.org/attestations/publish/v1 |
| Subject digest | sha256:85e32ea88fb3b62531fce3a7062c8743aaf598a3e9addfa0c8efc5ccdc666563 |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | Known build tool | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 39 packages
| Packages resolved | 39 |
|---|---|
| Stale | 2 |
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
am_calendar Release calendar ~177
Get the Statistical Centre of Iran's publishing calendar: which statistics come out on which day of a month. Use it to answer "when is the next inflation (or labour force, GDP...) release". Each item gives the product, the responsible office, the month and day it is scheduled for and the period it covers. `id` is set once the release is published: pass it to am_release. Dates are Jalali (month 1 = فروردین). Planned dates can shift.
| Name | Type | Req | Description |
|---|---|---|---|
| month | – | – | Month number 1-12 or Persian name (e.g. 'آبان'); omit for the whole year |
| query | – | – | Persian words in the product name, all must match, e.g. 'نیروی کار' or 'مصرفی' |
| year | integer | – | Jalali year of the calendar |
No output schema declared.
No examples provided.
am_gdp GDP growth (quarterly) ~158
Get Iran's official GDP growth by quarter or year, with the main sectors, latest first. From the Centre's quarterly national accounts (base year 1400 = 2021). growth_pct is the change at constant prices on the same quarter a year earlier; gdp_ex_oil_pct leaves out crude oil and gas. Sector growth is for agriculture, industry (includes oil, mining, manufacturing, construction) and services. Levels are in billion rials. For the full tables (value added by activity, expenditure side) use am_table with the `source.release` id.
| Name | Type | Req | Description |
|---|---|---|---|
| frequency | string | – | quarterly national accounts or yearly totals |
| periods | integer | – | How many latest quarters (or years) |
No output schema declared.
No examples provided.
am_indicators Macro indicators ~364
Read the Centre's monthly macro-indicators workbook: trade, housing, money, budget, prices by decile and more. The workbook (شاخص های کلان اقتصادی و اجتماعی کشور) stacks about 100 small tables on 12 subjects, mostly annual and recent quarters or months. Call with no arguments for the topics, with `topic` for its table list (n, title), then with `topic` and `table` for the data: columns carry the combined header text, rows are [label, values...]. Dash and '000' placeholders come back as null. Data runs to different dates per table (housing prices stop at 1400, trade at 1404); the release it came from is in `source`. The newest file is found by title, so no id is needed.
| Name | Type | Req | Description |
|---|---|---|---|
| col_offset | integer | – | Skip this many columns on the left (wide tables) |
| find | – | – | Only rows whose first cell contains this text (a year, province, month...) |
| last | integer | – | Rows to return: the latest ones in a time table, else the first |
| max_cols | integer | – | Columns to return |
| table | – | – | Table number from the topic's list, or Persian words of its title (e.g. 'اجاره', 'دهک') |
| topic | – | – | Subject sheet: population (and labour, education), household (income, expenditure, Gini, deciles), accounts (national accounts), prices (CPI by decile or province, PPI, food prices), money, budget (g… |
No output schema declared.
No examples provided.
am_inflation Inflation (CPI) ~263
Get Iran's official consumer price index (CPI) and inflation from the Statistical Centre of Iran, latest first. Per month: the index, the change on the previous month (monthly_pct), the change on the same month a year earlier (point_to_point_pct, the headline "inflation" figure) and the change of the 12-month average on the previous 12 months (twelve_month_avg_pct, "annual inflation"). Use region and group for a breakdown (food, housing, ...) or province for one province (no index there, no groups). `newer_report` appears when the portal has published a later month as PDF before its Excel series is updated.
| Name | Type | Req | Description |
|---|---|---|---|
| group | – | – | A CPI group: Persian name part (e.g. 'مسکن', 'خوراک', 'حمل') or its 2-digit code ('04'). Omit for the all-items index. See am_inflation_groups for the list. |
| months | integer | – | How many latest months to return |
| province | – | – | Province name (e.g. 'تهران', 'خوزستان'): returns that province's all-items inflation instead |
| region | string | – | Households: all of Iran, urban or rural |
No output schema declared.
No examples provided.
am_inflation_groups Inflation by CPI group ~131
Compare official inflation across CPI groups (food, housing, transport, health...) for one month. For each main group: the index, the monthly change, the change on the same month a year earlier (point_to_point_pct) and the 12-month average change. Use it to see what drives inflation. For one group's history over many months use am_inflation with `group`.
| Name | Type | Req | Description |
|---|---|---|---|
| period | – | – | Month as YYYY-MM (e.g. '1405-06'); omit for the latest month |
| region | string | – | Households: all of Iran, urban or rural |
No output schema declared.
No examples provided.
am_labour_force Labour force ~144
Get Iran's official unemployment and labour-force participation rates by quarter, latest first. From the Statistical Centre's labour force survey: percent of the active population (unemployment) or of the population 15+ (participation), for the whole country, urban and rural areas. The newest quarter lags about two to three months. For other labour tables (employment by sector, hours, wages) use am_search.
| Name | Type | Req | Description |
|---|---|---|---|
| measure | string | – | unemployment = rate for people 15 and older; participation = economic participation rate; youth_unemployment = ages 15-24; all = unemployment and participation |
| quarters | integer | – | How many latest quarters |
No output schema declared.
No examples provided.
am_news News and press releases ~173
List the latest news and press releases of the Statistical Centre of Iran, or read one item. Without `id` it returns the newest items (id, title, summary, GMT time, url) from the portal's news feed; `query` keeps only items whose title or summary has all those words. With `id` it returns the item's date, categories and text (long items are cut at 4000 characters). Use it for announcements such as census news, interviews and release notes; the numbers themselves are in the data tools.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | How many latest items to fetch for the list (newest first) |
| id | – | – | News item id from the list, to read its text |
| query | – | – | Persian words that must all appear in the title or summary (list mode) |
No output schema declared.
No examples provided.
am_population Population of provinces and counties ~124
Get population and households by province, or by county within one province, from Iran's 1395 census. The latest published full census (Aban 1395 = 2016) with total, urban, rural, male and female population and households. The 1405 census is under way and not published yet. For projections to later years or age groups use am_search ('پیش بینی جمعیت') and am_table.
| Name | Type | Req | Description |
|---|---|---|---|
| province | – | – | Province name (e.g. 'فارس', 'گیلان'): lists its counties instead of all provinces |
No output schema declared.
No examples provided.
am_ppi Producer price index ~187
Get Iran's producer price index (PPI, factory-gate prices) by quarter and sector, latest first. Per quarter: the index (100 = 1400), the change on the previous quarter, on the same quarter a year earlier (point_to_point_pct) and of the 4-quarter average (annual_pct). Producer prices lead consumer prices, so use it next to am_inflation. Detailed PPI series (industry sub-sectors, poultry, dairy, mining, services) are separate releases: find them with am_search('شاخص قیمت تولید کننده') and read them with am_table.
| Name | Type | Req | Description |
|---|---|---|---|
| quarters | integer | – | How many latest quarters |
| sector | – | – | Persian name part: 'كل' (default, all sectors), 'كشاورزي', 'معدن', 'صنعت', 'برق', 'خدمات' |
No output schema declared.
No examples provided.
am_release Get one release ~94
Get one statistical release from amar.org.ir: title, topic path, period and its downloadable files. Use it after am_search. Files are Excel (xlsx/xls), PDF or Word links; read an Excel file with am_table (passing this id), open the PDF link yourself. A release the portal removed gives an error.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Release id from am_search, e.g. 58298 |
No output schema declared.
No examples provided.
am_search Search statistical releases ~318
Search the Statistical Centre of Iran (amar.org.ir) catalog of releases: tables, time series, reports. Use it to find a release by Persian title words, year, how often it is published or its type. With no filters it lists the newest releases. Each result has an id: pass it to am_release for the files, or to am_table to read an Excel table. Ready tools need no search: am_inflation, am_labour_force, am_population, am_gdp, am_ppi and am_indicators (trade, housing, money, budget, household income and spending). `source` and `data_type` narrow by the portal's own system and data type (tables, publications, metadata, visual).
| Name | Type | Req | Description |
|---|---|---|---|
| category | – | – | Top-level topic: population = demographic and social, economic, cross-sector = cross-cutting and environment |
| data_type | – | – | The portal's data type: statistical tables, publications and reports, metadata and microdata, images |
| kind | – | – | Type of publication |
| page | integer | – | Page of 25 results, 1-based |
| period | – | – | How often the release is published |
| query | – | – | Persian words in the title, e.g. 'نرخ بیکاری', 'تولید ناخالص', 'جمعیت استان' |
| source | – | – | Which Centre system holds it: the national portal, statistical info services, digital library |
| year | – | – | Jalali year of the statistical time, e.g. 1404 |
No output schema declared.
No examples provided.
am_table Read an Excel table ~258
Read an Excel table of a statistical release as compact rows (works for any release with an xlsx/xls file). First call with just the id: you get the sheet list with sizes and titles. Then pass `sheet`; rows come as [excel_row_number, cell, cell...] with empty rows removed. Use `find` to pick rows (e.g. a province or a group name), `offset` to page and `col_offset` for wide monthly series (the newest values are usually at the right end: see `cols` in the answer). Files over 25 MB are refused.
| Name | Type | Req | Description |
|---|---|---|---|
| col_offset | integer | – | Skip this many columns on the left (wide time series) |
| file | integer | – | Which Excel file of the release (1-based, see am_release) |
| find | – | – | Only rows that contain this text in any cell |
| id | integer | yes | Release id from am_search or am_release |
| max_cols | integer | – | Columns to return |
| max_rows | integer | – | Rows to return |
| offset | integer | – | Skip this many matching rows (for paging) |
| sheet | – | – | Sheet name or 1-based number. Omit to list the sheets first. |
No output schema declared.
No examples provided.
How do I install the Statistical Centre of Iran MCP server?
Statistical Centre of Iran runs locally as a PyPI package, launched with uvx amar-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · amar-mcp
claude mcp add sepehr071-amar-mcp -- uvx amar-mcp
What is the Statistical Centre of Iran MCP server?
Statistical Centre of Iran is an MCP server listed in the public MCP registry as io.github.sepehr071/amar-mcp. Read-only Statistical Centre of Iran (amar.org.ir): CPI inflation, unemployment, census, any table. This page covers its PyPI package (amar-mcp).
Is the Statistical Centre of Iran MCP server safe to use?
Statistical Centre of Iran scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 6 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Statistical Centre of Iran MCP server expose?
Statistical Centre of Iran exposes 12 tools: am_search, am_release, am_calendar, am_news, am_inflation, and 7 more. Their descriptions and schemas cost roughly 2,391 tokens of context every time the server is loaded.
Is the Statistical Centre of Iran MCP server still maintained?
Statistical Centre of Iran is still listed as active in the MCP registry. We last reached this channel on 6 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Statistical Centre of Iran MCP server under?
Statistical Centre of Iran declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.
What did VerifyMCP test on the Statistical Centre of Iran MCP server?
VerifyMCP ran 16 checks on Statistical Centre of Iran, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to a PyPI package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.