TrovaStorage
TrovaStorage.it è il marketplace per il self-storage. Cerca centri, schede per città. Sola lettura.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"trovastorage": {
"url": "https://trovastorage.it/mcp"
}
}
}远程端点
https://trovastorage.it/mcpstreamable-http它能做什么
工具清单
工具(4)
🟢cerca_centri(citta, zona, lat, lng, raggio_km, ...)
Trova i centri self storage e i depositi in elenco in una città italiana (`citta`, con `zona` per un quartiere) oppure attorno a un punto (`lat`, `lng`, `raggio_km`). Usalo quando serve un elenco di centri in un luogo. Filtri facoltativi: `mq` (solo i centri che dichiarano quella misura) e `servizi`. Restituisce i centri dal più vicino, ciascuno con indirizzo, misure, prezzo pubblicato o `su richiesta`, la sua pagina e il link per chiedere un preventivo. — Finds the self-storage centres and depositories listed in an Italian city (`citta`, with `zona` for a district) or around a point (`lat`, `lng`, `raggio_km`). Use it when a list of centres in a place is needed. Optional filters: `mq` (only centres that declare that size) and `servizi` (amenities). Returns centres nearest first, each with address, sizes, published price or `su richiesta`, its page and the link to request a quote.
输入模式
{
"type": "object",
"properties": {
"citta": {
"anyOf": [
{
"description": "Nome della città, in italiano o in inglese: Milano, Milan, Reggio Emilia.",
"maxLength": 80,
"minLength": 2,
"pattern": "^[\\w' .\\-]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Nome della città, in italiano o in inglese: Milano, Milan, Reggio Emilia.",
"title": "Citta"
},
"zona": {
"anyOf": [
{
"description": "Quartiere o zona della città, se serve: Lambrate. Richiede `citta`.",
"maxLength": 80,
"minLength": 2,
"pattern": "^[\\w' .\\-]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Quartiere o zona della città, se serve: Lambrate. Richiede `citta`.",
"title": "Zona"
},
"lat": {
"anyOf": [
{
"description": "Latitudine in gradi decimali.",
"maximum": 48,
"minimum": 35,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Latitudine in gradi decimali.",
"title": "Lat"
},
"lng": {
"anyOf": [
{
"description": "Longitudine in gradi decimali.",
"maximum": 19,
"minimum": 6,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitudine in gradi decimali.",
"title": "Lng"
},
"raggio_km": {
"anyOf": [
{
"description": "Raggio di ricerca in chilometri, al massimo 50.",
"exclusiveMinimum": 0,
"maximum": 50,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Raggio di ricerca in chilometri, al massimo 50.",
"title": "Raggio Km"
},
"mq": {
"anyOf": [
{
"description": "Metri quadrati che servono: solo i centri che li dichiarano.",
"exclusiveMinimum": 0,
"maximum": 1000,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Metri quadrati che servono: solo i centri che li dichiarano.",
"title": "Mq"
},
"servizi": {
"default": [],
"description": "Servizi che il centro deve avere.",
"items": {
"$ref": "#/$defs/Servizio"
},
"maxItems": 8,
"title": "Servizi",
"type": "array"
},
"limite": {
"default": 10,
"description": "Quanti centri al massimo, fino a 20.",
"maximum": 20,
"minimum": 1,
"title": "Limite",
"type": "integer"
}
},
"$defs": {
"Servizio": {
"enum": [
"car_access",
"cctv",
"cleaning_room",
"elevator",
"forklift",
"security_24_7",
"toilets",
"truck_access"
],
"title": "Servizio",
"type": "string"
}
},
"title": "cercaArguments"
}输出模式
{
"type": "object",
"properties": {
"fonte": {
"description": "Da dove viene il dato.",
"title": "Fonte",
"type": "string"
},
"data": {
"description": "Il giorno in cui il dato è stato letto o calcolato.",
"format": "date",
"title": "Data",
"type": "string"
},
"url": {
"description": "La pagina di TrovaStorage che mostra questo dato.",
"title": "Url",
"type": "string"
},
"centri": {
"items": {
"$ref": "#/$defs/Centro"
},
"title": "Centri",
"type": "array"
},
"totale": {
"description": "Quanti centri corrispondono, anche oltre `limite`.",
"title": "Totale",
"type": "integer"
},
"ordine": {
"title": "Ordine",
"type": "string"
},
"nota": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Nota"
}
},
"required": [
"fonte",
"data",
"url",
"centri",
"totale",
"ordine"
],
"$defs": {
"Centro": {
"additionalProperties": false,
"description": "A centre in a list: the facts a card of the site shows.",
"properties": {
"fonte": {
"description": "Da dove viene il dato.",
"title": "Fonte",
"type": "string"
},
"data": {
"description": "Il giorno in cui il dato è stato letto o calcolato.",
"format": "date",
"title": "Data",
"type": "string"
},
"url": {
"description": "La pagina di TrovaStorage che mostra questo dato.",
"title": "Url",
"type": "string"
},
"slug": {
"description": "Da passare a `dettaglio_centro`.",
"title": "Slug",
"type": "string"
},
"nome": {
"title": "Nome",
"type": "string"
},
"operatore": {
"title": "Operatore",
"type": "string"
},
"categoria": {
"enum": [
"self_storage",
"container_yard",
"mover_depository"
],
"title": "Categoria",
"type": "string"
},
"indirizzo": {
"title": "Indirizzo",
"type": "string"
},
"citta": {
"title": "Citta",
"type": "string"
},
"stato_scheda": {
"description": "unmanaged: scheda compilata da fonti pubbliche, non gestita dall'operatore; confirmed: dati confermati dall'operatore; managed: gestita dall'operatore.",
"enum": [
"unmanaged",
"confirmed",
"managed"
],
"title": "Stato Scheda",
"type": "string"
},
"distanza_km": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Distanza Km"
},
"misura_min_m2": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Misura Min M2"
},
"misura_max_m2": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Misura Max M2"
},
"prezzo_da": {
"anyOf": [
{
"$ref": "#/$defs/Prezzo"
},
{
"type": "null"
}
],
"description": "Il prezzo più basso pubblicato dall'operatore, o null."
},
"prezzo_nota": {
"description": "`su richiesta` quando l'operatore non pubblica prezzi.",
"title": "Prezzo Nota",
"type": "string"
},
"servizi": {
"items": {
"type": "string"
},
"title": "Servizi",
"type": "array"
},
"richiesta_url": {
"description": "La pagina dove chiedere un preventivo a questo centro, già compilata.",
"title": "Richiesta Url",
"type": "string"
}
},
"required": [
"fonte",
"data",
"url",
"slug",
"nome",
"operatore",
"categoria",
"indirizzo",
"citta",
"stato_scheda",
"misura_min_m2",
"misura_max_m2",
"prezzo_da",
"prezzo_nota",
"servizi",
"richiesta_url"
],
"title": "Centro",
"type": "object"
},
"Prezzo": {
"description": "A price as its operator publishes it. Never worked out by us.",
"properties": {
"importo_eur": {
"title": "Importo Eur",
"type": "number"
},
"periodo": {
"enum": [
"day",
"week",
"month"
],
"title": "Periodo",
"type": "string"
},
"base": {
"description": "per_unit: per un box intero; per_m2 e per_m3: al metro quadro o cubo.",
"enum": [
"per_unit",
"per_m2",
"per_m3"
],
"title": "Base",
"type": "string"
},
"iva_inclusa": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Iva Inclusa"
},
"fonte": {
"title": "Fonte",
"type": "string"
},
"data": {
"format": "date",
"title": "Data",
"type": "string"
}
},
"required": [
"importo_eur",
"periodo",
"base",
"iva_inclusa",
"fonte",
"data"
],
"title": "Prezzo",
"type": "object"
}
},
"additionalProperties": false,
"title": "RicercaCentri"
}🟢dettaglio_centro(slug)
Legge la scheda di un centro, dato il suo `slug` come lo restituisce `cerca_centri`. Usalo dopo una ricerca, quando servono orari, misure, prezzo, telefono e lo stato della scheda (gestita dall'operatore o compilata da fonti pubbliche), con la fonte e la data di ogni dato. Non restituisce fotografie né disponibilità dei box. — Reads one centre's listing, given its `slug` as returned by `cerca_centri`. Use it after a search, when opening hours, sizes, price, phone and the listing's status (managed by the operator or compiled from public sources) are needed, with the source and date of the data. It returns no photographs and no unit availability.
输入模式
{
"type": "object",
"properties": {
"slug": {
"description": "Identificativo pubblico del centro, come lo restituisce `cerca_centri`: `città/centro`, per esempio `milano/milano-certosa`.",
"maxLength": 200,
"minLength": 3,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*/[a-z0-9]+(-[a-z0-9]+)*$",
"title": "Slug",
"type": "string"
}
},
"required": [
"slug"
],
"title": "dettaglioArguments"
}输出模式
{
"type": "object",
"properties": {
"fonte": {
"description": "Da dove viene il dato.",
"title": "Fonte",
"type": "string"
},
"data": {
"description": "Il giorno in cui il dato è stato letto o calcolato.",
"format": "date",
"title": "Data",
"type": "string"
},
"url": {
"description": "La pagina di TrovaStorage che mostra questo dato.",
"title": "Url",
"type": "string"
},
"slug": {
"description": "Da passare a `dettaglio_centro`.",
"title": "Slug",
"type": "string"
},
"nome": {
"title": "Nome",
"type": "string"
},
"operatore": {
"title": "Operatore",
"type": "string"
},
"categoria": {
"enum": [
"self_storage",
"container_yard",
"mover_depository"
],
"title": "Categoria",
"type": "string"
},
"indirizzo": {
"title": "Indirizzo",
"type": "string"
},
"citta": {
"title": "Citta",
"type": "string"
},
"stato_scheda": {
"description": "unmanaged: scheda compilata da fonti pubbliche, non gestita dall'operatore; confirmed: dati confermati dall'operatore; managed: gestita dall'operatore.",
"enum": [
"unmanaged",
"confirmed",
"managed"
],
"title": "Stato Scheda",
"type": "string"
},
"distanza_km": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Distanza Km"
},
"misura_min_m2": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Misura Min M2"
},
"misura_max_m2": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Misura Max M2"
},
"prezzo_da": {
"anyOf": [
{
"$ref": "#/$defs/Prezzo"
},
{
"type": "null"
}
],
"description": "Il prezzo più basso pubblicato dall'operatore, o null."
},
"prezzo_nota": {
"description": "`su richiesta` quando l'operatore non pubblica prezzi.",
"title": "Prezzo Nota",
"type": "string"
},
"servizi": {
"items": {
"type": "string"
},
"title": "Servizi",
"type": "array"
},
"richiesta_url": {
"description": "La pagina dove chiedere un preventivo a questo centro, già compilata.",
"title": "Richiesta Url",
"type": "string"
},
"livello_scheda": {
"description": "Da 0 (fonti pubbliche) a 3 (gestita).",
"maximum": 3,
"minimum": 0,
"title": "Livello Scheda",
"type": "integer"
},
"cap": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cap"
},
"provincia": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Provincia"
},
"telefono": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Telefono"
},
"sito_web": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sito Web"
},
"orari_apertura": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Orari Apertura"
},
"orari_accesso": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Orari Accesso"
},
"prezzo_al_metro": {
"anyOf": [
{
"$ref": "#/$defs/Prezzo"
},
{
"type": "null"
}
]
},
"descrizione_operatore": {
"anyOf": [
{
"$ref": "#/$defs/TestoOperatore"
},
{
"type": "null"
}
]
}
},
"required": [
"fonte",
"data",
"url",
"slug",
"nome",
"operatore",
"categoria",
"indirizzo",
"citta",
"stato_scheda",
"misura_min_m2",
"misura_max_m2",
"prezzo_da",
"prezzo_nota",
"servizi",
"richiesta_url",
"livello_scheda",
"cap",
"provincia",
"telefono",
"sito_web",
"orari_apertura",
"orari_accesso",
"prezzo_al_metro",
"descrizione_operatore"
],
"$defs": {
"Prezzo": {
"description": "A price as its operator publishes it. Never worked out by us.",
"properties": {
"importo_eur": {
"title": "Importo Eur",
"type": "number"
},
"periodo": {
"enum": [
"day",
"week",
"month"
],
"title": "Periodo",
"type": "string"
},
"base": {
"description": "per_unit: per un box intero; per_m2 e per_m3: al metro quadro o cubo.",
"enum": [
"per_unit",
"per_m2",
"per_m3"
],
"title": "Base",
"type": "string"
},
"iva_inclusa": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Iva Inclusa"
},
"fonte": {
"title": "Fonte",
"type": "string"
},
"data": {
"format": "date",
"title": "Data",
"type": "string"
}
},
"required": [
"importo_eur",
"periodo",
"base",
"iva_inclusa",
"fonte",
"data"
],
"title": "Prezzo",
"type": "object"
},
"TestoOperatore": {
"description": "The one free text. Written by the operator, not checked by anybody.",
"properties": {
"nota": {
"title": "Nota",
"type": "string"
},
"testo": {
"maxLength": 300,
"title": "Testo",
"type": "string"
}
},
"required": [
"nota",
"testo"
],
"title": "TestoOperatore",
"type": "object"
}
},
"additionalProperties": false,
"title": "DettaglioCentro"
}🟢stima_metratura(casa, cose)
Stima quanti metri quadrati di box servono per il contenuto di una casa (`casa`) o per un elenco di cose (`cose`), con la stessa tabella del calcolatore del sito. Usalo quando qualcuno non sa che misura chiedere. Il calcolo è deterministico: stesse voci, stesso risultato. — Estimates how many square metres of storage are needed for the contents of a home (`casa`) or a list of things (`cose`), with the same table as the site's calculator. Use it when someone does not know what size to ask for. The calculation is deterministic: same choices, same result.
输入模式
{
"type": "object",
"properties": {
"casa": {
"anyOf": [
{
"$ref": "#/$defs/Casa"
},
{
"type": "null"
}
],
"default": null,
"description": "Il tipo di casa da svuotare, se è una casa."
},
"cose": {
"default": [],
"description": "Che cosa va messo nel box, una o più voci.",
"items": {
"$ref": "#/$defs/Cosa"
},
"maxItems": 11,
"title": "Cose",
"type": "array"
}
},
"$defs": {
"Casa": {
"enum": [
"monolocale",
"bilocale",
"trilocale",
"quadrilocale",
"villa"
],
"title": "Casa",
"type": "string"
},
"Cosa": {
"enum": [
"cantina",
"soffitta",
"garage",
"ufficio",
"negozio",
"scatoloni",
"mobili",
"elettrodomestici",
"documenti",
"archivio",
"moto"
],
"title": "Cosa",
"type": "string"
}
},
"title": "stimaArguments"
}输出模式
{
"type": "object",
"properties": {
"fonte": {
"description": "Da dove viene il dato.",
"title": "Fonte",
"type": "string"
},
"data": {
"description": "Il giorno in cui il dato è stato letto o calcolato.",
"format": "date",
"title": "Data",
"type": "string"
},
"url": {
"description": "La pagina di TrovaStorage che mostra questo dato.",
"title": "Url",
"type": "string"
},
"voci": {
"items": {
"type": "string"
},
"title": "Voci",
"type": "array"
},
"volume_min_m3": {
"title": "Volume Min M3",
"type": "number"
},
"volume_max_m3": {
"title": "Volume Max M3",
"type": "number"
},
"superficie_m2": {
"title": "Superficie M2",
"type": "number"
},
"misura_consigliata_m2": {
"title": "Misura Consigliata M2",
"type": "integer"
},
"altezza_utile_m": {
"title": "Altezza Utile M",
"type": "number"
},
"nota": {
"title": "Nota",
"type": "string"
}
},
"required": [
"fonte",
"data",
"url",
"voci",
"volume_min_m3",
"volume_max_m3",
"superficie_m2",
"misura_consigliata_m2",
"altezza_utile_m",
"nota"
],
"additionalProperties": false,
"title": "StimaMetratura"
}🟢prezzi_citta(citta, mq)
Legge l'ultimo indice dei prezzi del self storage per una città italiana: minimo, mediano e massimo al mese per misura del box, con il numero di centri e di operatori del campione e il mese. Usalo per rispondere a «quanto costa un box a…». Con un campione troppo piccolo risponde `dato non disponibile`: in quel caso non indicare alcuna cifra. — Reads the latest self-storage price index for an Italian city: monthly minimum, median and maximum by unit size, with the number of centres and operators in the sample and the month. Use it to answer "how much does a unit cost in…". With too small a sample it answers `dato non disponibile` (not available): give no figure in that case.
输入模式
{
"type": "object",
"properties": {
"citta": {
"description": "Nome della città, in italiano o in inglese: Milano, Milan, Reggio Emilia.",
"maxLength": 80,
"minLength": 2,
"pattern": "^[\\w' .\\-]+$",
"title": "Citta",
"type": "string"
},
"mq": {
"anyOf": [
{
"description": "Misura del box in metri quadrati: 1, 3, 5, 10…",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Misura del box in metri quadrati: 1, 3, 5, 10…",
"title": "Mq"
}
},
"required": [
"citta"
],
"title": "prezziArguments"
}输出模式
{
"type": "object",
"properties": {
"fonte": {
"description": "Da dove viene il dato.",
"title": "Fonte",
"type": "string"
},
"data": {
"description": "Il giorno in cui il dato è stato letto o calcolato.",
"format": "date",
"title": "Data",
"type": "string"
},
"url": {
"description": "La pagina di TrovaStorage che mostra questo dato.",
"title": "Url",
"type": "string"
},
"citta": {
"title": "Citta",
"type": "string"
},
"disponibile": {
"title": "Disponibile",
"type": "boolean"
},
"messaggio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "`dato non disponibile` quando il campione è troppo piccolo.",
"title": "Messaggio"
},
"mese": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Mese"
},
"fasce": {
"items": {
"$ref": "#/$defs/FasciaPrezzo"
},
"title": "Fasce",
"type": "array"
},
"metodo_url": {
"title": "Metodo Url",
"type": "string"
}
},
"required": [
"fonte",
"data",
"url",
"citta",
"disponibile",
"mese",
"fasce",
"metodo_url"
],
"$defs": {
"FasciaPrezzo": {
"properties": {
"misura_m2": {
"title": "Misura M2",
"type": "integer"
},
"minimo_eur": {
"title": "Minimo Eur",
"type": "number"
},
"mediano_eur": {
"title": "Mediano Eur",
"type": "number"
},
"massimo_eur": {
"title": "Massimo Eur",
"type": "number"
},
"centri": {
"title": "Centri",
"type": "integer"
},
"operatori": {
"title": "Operatori",
"type": "integer"
},
"iva": {
"title": "Iva",
"type": "string"
}
},
"required": [
"misura_m2",
"minimo_eur",
"mediano_eur",
"massimo_eur",
"centri",
"operatori",
"iva"
],
"title": "FasciaPrezzo",
"type": "object"
}
},
"additionalProperties": false,
"title": "PrezziCitta"
}社区
证据