Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ondata/istat_mcp_server --skill istat-mcpgit clone --depth 1 https://github.com/ondata/istat_mcp_serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ondata/istat_mcp_server/istat-mcp)<a href="https://agentmods.dev/skills/ondata/istat_mcp_server/istat-mcp"><img src="https://agentmods.dev/badge/skills/ondata/istat_mcp_server/istat-mcp/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ondata/istat_mcp_server/istat-mcp"><img src="https://agentmods.dev/badge/skills/ondata/istat_mcp_server/istat-mcp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00102 | $0.06046 |
| Opus 5 | $0.00051 | $0.03023 |
| Sonnet 5 | $0.00020 | $0.01209 |
| Haiku 4.5 | $0.00010 | $0.00605 |
Grade A, and why
istat-mcp scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- The goal is to hand off the download to the user (browser, curl, DuckDB, script) How it starts
The opening of the file, as written. The whole thing — 547 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ISTAT MCP Server - Workflow Guide
Language Detection — First Step (mandatory)
Before doing anything else, detect the language of the user's first message.
| User writes in | Set | Apply to |
|---|---|---|
| Italian | lang=it |
all responses, labels, summaries, warnings, get_concepts calls, "Fonti dati" section |
| English | lang=en |
all responses, labels, summaries, warnings, get_concepts calls, "Data Sources" section |
Rules:
- Detect once at the start; keep
langfixed for the entire conversation even if the user later switches language. - Every response — including tool-call summaries, warnings, and the closing data-sources section — must use the detected language.
- When calling
get_concepts, always pass"lang": "<detected>"(e.g.{"concept_id": "FREQ", "lang": "it"}). - If the language cannot be determined (e.g. the first message is a bare dataflow ID), default to
lang=it.
Quick Start
If the query targets a specific territory (region, province, municipality), start by resolving the territory:
- Resolve territory with
get_territorial_codes→ get REF_AREA codes - Discover the dataflow with
discover_dataflows - Get metadata with
get_constraints(one call returns dimensions + valid codes + descriptions) - Fetch data with
get_datausing the codes from steps 0 and 2
Skip step 0 only when the query is about Italy as a whole (REF_AREA: IT).
Time Period Rule
Default behaviour — last available year, month or quarter. Unless the user explicitly requests a time series or a specific period, always use get_data without start_period/end_period and with lastNObservations=1 . Using lastNObservations=1 returns only the last available observation. This keeps responses compact and avoids flooding the context with multi-decade series.
Time series — explicit request. Use start_period / end_period only when the user explicitly asks for:
- time series for a specific years range ("dal 2015 al 2026", "from 2010 to 2026")
- Time series starting from a specific year ("dal 2015 in poi", "from 2015 onwards")
- time series for a specific month/quarter ("mostrami la serie storica mensile", "show me the quarterly series"). In this case show data only for the last 2 available years to avoid flooding the context with too many observations.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 547 lines · 102 tokens per session scan A 6f2930c17f9f
istat-mcp is a skill published in the GitHub repository ondata/istat_mcp_server (23 stars, last pushed 3mo ago), licensed MIT. It adds 102 tokens to every session and 6,046 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
arrowspace
Spectral vector search using graph Laplacian eigenstructure. Use when cosine/L2 similarity misses latent structure in your embeddings.
data-report
Turns CSV, Excel, or JSON data into a polished visual report page.
docetl
Build and run LLM-powered data processing pipelines with DocETL. Use when users say "docetl", want to analyze unstructured data, process documents, extract information, or run ETL tasks on text. Helps with data collection, pipeline creation, execution, and optimization.
build-with-tinybase
Scaffold, extend, and verify reactive local-first JavaScript or TypeScript applications with TinyBase. Use when choosing TinyBase for in-memory tabular or key-value state, generating an app with create-tinybase, adding schemas or UI bindings, configuring browser or database persistence, configuring MergeableStore…
Workspace Data Analyst
Analyze CSV files in the workspace and summarize insights.
data-report
A template for turning CSV, Excel, or JSON data into a visual report page. It includes summary metrics, charts, a data table, and written observations based on the supplied data.