datituristici
Registry code: 0993b3854830581b
Tourism statistics of Italian municipalities (comuni), processed by DatiTuristici.it from institutional data (ISTAT): nights spent (presenze), arrivals, bed places, accommodation establishments and resident population, for a comune, a province, a region and Italy. cerca_comune turns a place name, even partial or misspelled, into its 6-digit ISTAT code, and elenca_territori lists regions, provinces and comuni with their exact names. leggi_dati_comune reads the figures of one comune in one year, leggi_serie_comune its yearly series, confronta_comuni sets 2 to 5 comuni side by side and…
- endpoint
- https://datituristici.it/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is datituristici live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is datituristici free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does datituristici have?
- 9 tools: leggi_dati_territorio, cerca_comune, leggi_dati_comune, elenca_territori, leggi_serie_comune, confronta_comuni, leggi_previsioni_comune, classifica_territori, ….
- Is datituristici safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 9 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
classifica_territori open 1h ago
Ranks and filters Italian comuni, provinces or regions by the tourism figures of one year, with the same rows, order and values as the advanced search (Esplora) on datituristici.it. Use it for questions with criteria, such as the comuni of a region with the most nights or those above a bed occupancy threshold; do not use it to read one known comune (use leggi_dati_comune instead), to look a place up by name (use cerca_comune instead) or to browse names (use elenca_territori instead). Figures are for `anno`, by default the latest year with data; a figure that is not available is null, an empty list means that no territory meets the criteria, and in 2025 `variazione` is null because the counts started including privately rented holiday flats (`nota` explains it). Read-only, public, no authentication; 30 requests per minute per client, shared across tools.
{ "type": "object", "properties": { "anno": { "type": "integer", "maximum": 2100, "minimum": 2000, "description": "Year of the figures, e.g. 2024; default: the latest year with data. A year outside the years with data returns an error that gives them." }, "filtri": { "type": "array", "items": { "type": "object", "required": [ "metrica" ], "properties": { "max": { "type": "number", "description": "Highest accepted value, inclusive; omit it for no upper bound." }, "min": { "type": "number", "description": "Lowest accepted value, inclusive; omit it for no lower bound." }, "metrica": { "enum": [ "presenze", "arrivi", "permanenza", "variazione", "stagionalita", "tasso_occ", "posti_letto", "n_esercizi", "quota_extra" ], "type": "string", "description": "Metric to bound: presenze: Nights spent by guests in accommodation establishments in `anno` (one guest staying three nights counts three).; arrivi: Guest arrivals (check-ins) at accommodation establishments in `anno`.; permanenza: Average length of stay in nights: presenze divided by arrivi.; variazione: Percent change of presenze on the previous year; null in 2025 by construction (see `nota`).; stagionalita: Seasonality index from 0 to 100: how much the nights concentrate in the three busiest months (0 = spread evenly over the year, 100 = all in three months).; tasso_occ: Gross bed occupancy in percent: presenze / (posti_letto * 365) * 100.; posti_letto: Bed places in accommodation establishments.; n_esercizi: Number of accommodation establishments.; quota_extra: Share of nights spent in non-hotel establishments (holiday homes, campsites, rented flats and others), in percent." } }, "additionalProperties": false }, "maxItems": 5, "description": "Optional thresholds, up to 5 and one per metric: a row is kept when each metric is within its bounds, and a row without that metric is dropped. Example: [{\"metrica\": \"presenze\", \"min\": 100000}, {\"metrica\": \"tasso_occ\", \"max\": 40}]." }, "limite": { "type": "integer", "default": 10, "maximum": 50, "minimum": 1, "description": "Rows per page, 1-50, default 10." }, "offset": { "type": "integer", "default": 0, "minimum": 0, "description": "Items to skip, default 0: for the next page pass the previous `offset` plus `limite` while `ha_altri` is true." }, "ordine": { "enum": [ "desc", "asc" ], "type": "string", "default": "desc", "description": "\"desc\" (default) puts the highest values first, \"asc\" the lowest." }, "livello": { "enum": [ "comune", "provincia", "regione" ], "type": "string", "default": "comune", "description": "What to rank: \"comune\" (default), \"provincia\" or \"regione\"." }, "regione": { "type": "array", "items": { "type": "string", "maxLength": 60, "minLength": 2 }, "maxItems": 5, "description": "Optional: keep only these regions, up to 5, by Italian name in any case, e.g. [\"Toscana\", \"Umbria\"]." }, "andamento": { "enum": [ "crescita", "stabile", "calo" ], "type": "string", "description": "Optional trend of presenze on the previous year: crescita = variazione at least +3%, calo = at most -3%, stabile = in between. Not applied in 2025, where variazione does not exist (see `nota`)." }, "provincia": { "type": "array", "items": { "type": "string", "maxLength": 60, "minLength": 2 }, "maxItems": 5, "description": "Optional: keep only these provinces, up to 5, by Italian name, e.g. [\"Firenze\", \"Bolzano\"]; not with \"regione\" as `livello`." }, "ordina_per": { "enum": [ "presenze", "arrivi", "permanenza", "variazione", "stagionalita", "tasso_occ", "posti_letto", "n_esercizi", "quota_extra", "nome" ], "type": "string", "default": "presenze", "description": "Metric to sort by (meanings under `filtri`), or nome for alphabetical order; default presenze. Rows without the metric come last." } }, "additionalProperties": false }arguments 127 linesleggi_copertura_dati open 1h ago
Reads which tourism figures the service holds and how recent they are: the latest year, how many comuni are covered, the last import, what each metric means and the 2025 break in the series. Use it to check how current the figures are, what a metric means or why a comune has a gap; do not use it to read the figures themselves (use leggi_dati_comune instead) or to find a comune by name (use cerca_comune instead). With a 6-digit `cod_istat` it adds the years with figures and with capacity for that comune and whether it has a projection and why not; without one `per_comune` is null. `aggiornato_il` is the time of the last successful import, null if none is recorded, not of the last check for new files; `profilo_territoriale` gives the year and the last import of the sources of the territorial profile. Read-only, public, no authentication; 30 requests per minute per client, shared across tools.
{ "type": "object", "properties": { "cod_istat": { "type": "string", "pattern": "^\\d{6}$", "description": "Optional: 6-digit ISTAT code of one comune as a string, leading zeros kept (\"058091\" is Roma), from cerca_comune, to add its own coverage; omit it for the summary of the whole country. An unknown code returns an error that says what to pass." } }, "additionalProperties": false }arguments 11 linesleggi_dati_territorio unknown never probed
Reads the tourism totals of one Italian region, one province or the whole of Italy in one year: nights, arrivals, bed places, establishments and population. Use it for the figures of a whole territory, split by guests resident in Italy and abroad; do not use it to rank or filter territories (use classifica_territori instead) or for a single comune (use leggi_dati_comune instead). Names ignore case and accents, Trentino-Alto Adige is one region with the provinces of Bolzano and Trento, and an unknown name returns an error with the closest names (elenca_territori lists them all). The totals are those of classifica_territori for the same year; a figure that is not available is null and `nota` says why, also from 2025, when the counts changed scope. Read-only, public, no authentication; 30 requests per minute per client, shared across tools.
{ "type": "object", "required": [ "livello" ], "properties": { "anno": { "type": "integer", "maximum": 2100, "minimum": 2000, "description": "Year of the figures, e.g. 2024; default: the latest year with data. A year outside the years with data returns an error that gives them." }, "nome": { "type": "string", "maxLength": 60, "minLength": 2, "description": "Italian name of the region or province, in any case (\"Toscana\", \"Bolzano\", \"Monza e Brianza\"); required for regione and provincia, omitted for nazione." }, "livello": { "enum": [ "regione", "provincia", "nazione" ], "type": "string", "description": "What to total: \"regione\" (one region), \"provincia\" (one province) or \"nazione\" (the whole of Italy, the sum of the regions)." } }, "additionalProperties": false }arguments 30 linescerca_comune unknown 1h ago
Searches Italian municipalities (comuni) by name, tolerating partial names and typos, and returns each match with its 6-digit ISTAT code, province and region. Use it when you have a place name and need the code; when you already have the 6-digit code, do not search again and use leggi_dati_comune instead, to pick comuni by criteria use classifica_territori, and to browse a province use elenca_territori. All homonyms are returned, most similar first (narrow them with `provincia` or `regione`); an empty list means nothing resembles the text and is not an error. Read-only, public, no authentication; 30 requests per minute per client, shared across tools.
{ "type": "object", "required": [ "nome" ], "properties": { "nome": { "type": "string", "maxLength": 80, "minLength": 2, "description": "Name of the comune, full or partial, 2-80 characters, in any case; typos, missing accents and apostrophes are tolerated (\"cassano adda\" finds Cassano d'Adda)." }, "limite": { "type": "integer", "default": 10, "maximum": 20, "minimum": 1, "description": "Maximum number of matches, 1-20, default 10." }, "regione": { "type": "string", "maxLength": 60, "minLength": 2, "description": "Optional: keep only comuni of this region, given by its Italian name (\"Toscana\", not \"Tuscany\"; Bolzano and Trento are in \"Trentino-Alto Adige\")." }, "provincia": { "type": "string", "maxLength": 60, "minLength": 2, "description": "Optional: keep only comuni of this province, given by its Italian name in any case (\"Trento\", \"Bolzano\", \"Monza e Brianza\")." } }, "additionalProperties": false }arguments 34 linesleggi_dati_comune unknown never probed
Reads the tourism figures of one Italian municipality (comune) in one year: nights spent (presenze), arrivals, bed places, accommodation establishments and resident population. Use it when you have the 6-digit `cod_istat` from cerca_comune; do not use it to look a place up by name (use cerca_comune instead), to follow a comune over the years (use leggi_serie_comune instead) or to put comuni side by side (use confronta_comuni instead). Presenze are nights, not people (one guest staying three nights counts three); `anno` defaults to the latest year with data, and capacity figures are for `anno_capacita`: the latest year published, as on the comune's page, or the latest up to `anno` when `anno` is given; `profilo` adds the comune's altitude, surface, coordinates, UNESCO sites and tourism pressure, each group with its own year. Missing figures are null and `nota` says why (also from 2025, when the counts changed scope, and when `profilo` is null), and a year outside `anni_disponibili` or an unknown code returns an error that says what to pass. Read-only, public, no authentication; 30 requests per minute per client, shared across tools.
{ "type": "object", "required": [ "cod_istat" ], "properties": { "anno": { "type": "integer", "maximum": 2100, "minimum": 2000, "description": "Year of the figures, e.g. 2024; default: the latest year with data for this comune. A year outside its years with data returns an error that gives them." }, "cod_istat": { "type": "string", "pattern": "^\\d{6}$", "description": "6-digit ISTAT code of the comune as a string, leading zeros kept (\"058091\" is Roma); it comes from cerca_comune." } }, "additionalProperties": false }arguments 20 lineselenca_territori unknown never probed
Lists Italian regions, provinces or comuni in alphabetical order, with how many provinces and comuni each region has and how many comuni each province has. Use it to browse the territory and to get the exact names that classifica_territori accepts; do not use it to rank places by tourism figures (use classifica_territori instead) or to look one comune up by name (use cerca_comune instead). Names ignore case, accents and punctuation, and Trentino-Alto Adige is one region with the two provinces of Bolzano and Trento; an unknown or ambiguous name returns an error with the closest names, a comune without a recorded province has null there, and a page past the end is an empty list. Read-only, public, no authentication; 30 requests per minute per client, shared across tools.
{ "type": "object", "required": [ "livello" ], "properties": { "limite": { "type": "integer", "default": 50, "maximum": 200, "minimum": 1, "description": "Items per page, 1-200, default 50." }, "offset": { "type": "integer", "default": 0, "minimum": 0, "description": "Items to skip, default 0: for the next page pass the previous `offset` plus `limite` while `ha_altri` is true." }, "livello": { "enum": [ "regione", "provincia", "comune" ], "type": "string", "description": "What to list: \"regione\" (regions), \"provincia\" (provinces, optionally of one `regione`) or \"comune\" (comuni, optionally of one `regione` or `provincia`)." }, "regione": { "type": "string", "maxLength": 60, "minLength": 2, "description": "Optional: only the provinces or comuni of this region, by its Italian name in any case (\"Toscana\", \"trentino alto adige\")." }, "provincia": { "type": "string", "maxLength": 60, "minLength": 2, "description": "Optional: only the comuni of this province, by its Italian name in any case (\"Firenze\", \"Bolzano\", \"Monza e Brianza\")." } }, "additionalProperties": false }arguments 43 linesleggi_serie_comune unknown never probed
Reads the yearly series of nights spent (presenze) and arrivals of one Italian comune, split by guests resident in Italy and abroad, over a range of years. Use it for the trend of one comune, given its 6-digit `cod_istat` from cerca_comune; do not use it for one year or for capacity and population (use leggi_dati_comune instead), or for several comuni (use confronta_comuni instead). Rows are yearly, oldest first; from 2025 ISTAT counts include privately rented holiday flats, so `anno_discontinuita` and `nota` flag that totals across 2025 are not comparable (hotel figures are). A comune without figures returns an empty list in `serie` with a `nota`, and a range outside its years with data or an unknown code returns an error that says what to pass. Read-only, public, no authentication; 30 requests per minute per client, shared across tools.
{ "type": "object", "required": [ "cod_istat" ], "properties": { "a_anno": { "type": "integer", "maximum": 2100, "minimum": 2000, "description": "Last year to include, e.g. 2024, not before `da_anno`; default: the latest year with data. A range with no year of data returns an error that gives the years." }, "da_anno": { "type": "integer", "maximum": 2100, "minimum": 2000, "description": "First year to include, e.g. 2015; default: the first year with data." }, "cod_istat": { "type": "string", "pattern": "^\\d{6}$", "description": "6-digit ISTAT code of the comune as a string, leading zeros kept (\"058091\" is Roma); it comes from cerca_comune." } }, "additionalProperties": false }arguments 26 linesconfronta_comuni unknown never probed
Compares 2 to 5 Italian comuni side by side in the same year: nights, arrivals, bed places, establishments, population, average stay and share of arrivals from abroad. Use it when the question is about several comuni at once and you have their 6-digit codes from cerca_comune; do not use it for one comune (use leggi_dati_comune instead) or to rank many by a criterion (use classifica_territori instead). `anno` defaults to the latest year with figures for every comune, so the numbers stay comparable; a comune without figures in that year keeps null values and `nota` names it, also flagging 2025 and later, when the counts changed scope. Fewer than 2 or more than 5 codes, a repeated code or an unknown one returns an error that says what to pass. Read-only, public, no authentication; 30 requests per minute per client, shared across tools.
{ "type": "object", "required": [ "cod_istat" ], "properties": { "anno": { "type": "integer", "maximum": 2100, "minimum": 2000, "description": "Year of the figures for every comune, e.g. 2024; default: the latest year they all have. A year outside their years with data returns an error that gives them." }, "cod_istat": { "type": "array", "items": { "type": "string", "pattern": "^\\d{6}$" }, "maxItems": 5, "minItems": 2, "description": "2 to 5 different 6-digit ISTAT codes as strings, leading zeros kept, e.g. [\"058091\", \"015146\"] for Roma and Milano; they come from cerca_comune.", "uniqueItems": true } }, "additionalProperties": false }arguments 26 linesleggi_previsioni_comune unknown never probed
Reads the statistical projection of one Italian municipality (comune) for the year after the latest ISTAT year: total, hotel and non-hotel nights and arrivals. Use it when you have the 6-digit `cod_istat` from cerca_comune and the question is what to expect next; do not use it for past figures (use leggi_serie_comune instead) or to set comuni side by side (use confronta_comuni instead). Each line gives last year's real figure, the projected figure and `affidabilita_pct` (0 to 100, measured by projecting a past year), and only the total has the p10 to p90 uncertainty band; a line that fails the checks has `disponibile` false and a `motivo`, a comune without a yearly series returns an empty list in `linee` with a `nota`, and a missing figure is null. These are estimates, not official statistics, and they are served only while the site shows projections to everyone, otherwise the call returns an error. Read-only, public, no authentication; 30 requests per minute per client, shared across tools.
{ "type": "object", "required": [ "cod_istat" ], "properties": { "cod_istat": { "type": "string", "pattern": "^\\d{6}$", "description": "6-digit ISTAT code of the comune as a string, leading zeros kept (\"058091\" is Roma); it comes from cerca_comune. An unknown code returns an error that says what to pass." } }, "additionalProperties": false }arguments 14 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id0993b3854830581b.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/0993b3854830581b/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/0993b3854830581b?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.