Skip to main content
Glama
juriSacchetta

domustudio-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DOMUSTUDIO_ARCHIVESYesJSON array — one API key addresses exactly one archive, and several archives may coexist. Example: [{"name":"desa","api_key":"..."}]
DOMUSTUDIO_BASE_URLNoBase URL for the Domustudio API. Exists for tests and for pointing at a mock; production should leave it unset. The default is HTTPS even though the OpenAPI servers entry says http://.https://domustudioapi.danea.it/api/external
DOMUSTUDIO_ENV_FILENoPath to the .env file to read. Read from the client's environment only — it chooses the file, so setting it inside one has no effect..env in the working directory; set it empty to skip the lookup

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
domustudio_list_archiviA

Elenca i nomi degli archivi Domustudio configurati su questo server.

Una chiave API indirizza esattamente un archivio; ogni altro strumento accetta un parametro "archivio" che seleziona quale interrogare. Se ne è configurato uno solo, quel parametro può essere omesso.

Nessun parametro.

Restituisce: { "archivi": string[], // nomi configurati, nell'ordine di configurazione "conteggio": number }

L'API Domustudio è di sola lettura: espone solo tre endpoint GET. Domustudio resta il sistema di registrazione — ogni correzione va fatta da un operatore dentro il gestionale.

domustudio_list_condominiA

Elenca i condomini presenti in un archivio Domustudio.

L'endpoint restituisce sempre la lista completa: non è paginato e non accetta filtri lato API. Il parametro "ricerca" filtra i risultati localmente su intestazione, città, provincia, indirizzo e codice fiscale.

L'"id" di un condominio è l'unico identificatore stabile esposto dall'API Domustudio, ed è il valore da passare come "condominio_id" a domustudio_list_persone.

Args:

  • archivio (string, opzionale): archivio da interrogare

  • ricerca (string, opzionale): sottostringa, confronto case-insensitive

  • response_format ('markdown' | 'json'): default 'markdown'

Restituisce (json): { "archivio": string, "conteggio": number, "elementi": [ { "id": number, "intestazione": string, "indirizzo": string, "cap": string, "citta": string, "prov": string, "codFisc": string, "amministratore": { "nome": string, "email": string, ... } } ] } In formato markdown vengono mostrati intestazione, id, indirizzo, codice fiscale e amministratore; il formato json riporta il record completo restituito dall'API.

Usare quando: serve l'id di un condominio, o l'anagrafica dello stabile. Non usare per: elencare le persone di un condominio (domustudio_list_persone) o i fornitori (domustudio_list_fornitori).

L'API Domustudio è di sola lettura: espone solo tre endpoint GET. Domustudio resta il sistema di registrazione — ogni correzione va fatta da un operatore dentro il gestionale.

domustudio_get_condominioA

Restituisce il singolo condominio con l'id indicato.

L'API non espone una lettura per id: lo strumento scarica la lista completa dei condomini e seleziona la voce corrispondente.

Args:

  • condominio_id (number): id Domustudio del condominio

  • archivio (string, opzionale): archivio da interrogare

  • response_format ('markdown' | 'json'): default 'markdown'

Restituisce (json): { "archivio": string, "trovato": boolean, "condominio": object | null }

Errori:

  • "trovato": false se nessun condominio ha quell'id nell'archivio indicato.

L'API Domustudio è di sola lettura: espone solo tre endpoint GET. Domustudio resta il sistema di registrazione — ogni correzione va fatta da un operatore dentro il gestionale.

domustudio_list_personeA

Elenca le persone dell'anagrafica Domustudio, opzionalmente ristrette a un condominio.

L'API non espone un identificatore per le persone: il record non contiene alcun id, quindi non esiste una lettura per id e non c'è modo di indirizzare una persona singola. Per trovare qualcuno si filtra questo elenco (search_query, oppure condominio_id più una lettura dei risultati).

Args:

  • archivio (string, opzionale): archivio da interrogare

  • condominio_id (number, opzionale): restringe a un condominio (parametro CondGendID). Ottenerlo da domustudio_list_condomini

  • filtro_subentri (1|2|3|4|5): 1 tutti, 2 attivi, 3 ex, 4 contabilità, 5 destinatari comunicazioni. Default 2

  • esercizio_id (number, opzionale): parametro EsercizioID

  • tags_id (number[], opzionale): parametro TagsID

  • search_query (string, opzionale): passato all'API come SearchQuery; la semantica è decisa dall'API, non documentata nello spec

  • order_by (string, opzionale): passato all'API come OrderBy, semantica non documentata

  • pagina (number): pagina 1-based, default 1

  • dimensione_pagina (number): elementi per pagina, default 50

  • tutte_le_pagine (boolean): se true scorre le pagine fino a 50, default false

  • response_format ('markdown' | 'json'): default 'markdown'

Restituisce (json): { "archivio": string, "conteggio": number, // elementi in questa risposta "pagina": number, // prima pagina letta "dimensione_pagina": number, "pagine_lette": number, "ha_altre_pagine": boolean, // euristica: l'API non restituisce un totale, quindi è vero quando l'ultima pagina era piena "prossima_pagina": number, // presente solo se ha_altre_pagine "troncato_al_limite_pagine": boolean, "elementi": [ { "descr": string, "codFisc": string, "piva": string, "indirizzo": string, "cap": string, "citta": string, "prov": string, "email": string[], "pec": string[], "tel1": string, "note": string, "preferenzaPagamentoRate": { "codice": number, "etichetta": string }, ... } ] } I campi enumerativi sono restituiti come { codice, etichetta }. Il formato markdown mostra denominazione, codice fiscale, indirizzo, recapiti; json riporta il record completo.

Usare quando: servono i condòmini di uno stabile, i recapiti di un soggetto, o un conteggio per condominio. Non usare per: i fornitori, che stanno in un'anagrafica separata (domustudio_list_fornitori).

L'API Domustudio è di sola lettura: espone solo tre endpoint GET. Domustudio resta il sistema di registrazione — ogni correzione va fatta da un operatore dentro il gestionale.

domustudio_list_fornitoriA

Elenca i fornitori di un archivio Domustudio.

L'anagrafica fornitori è globale sull'archivio, non per condominio: non esiste un parametro che la restringa a uno stabile. Come per le persone, il record non contiene alcun id, quindi non esiste una lettura per id; per trovare un fornitore si filtra questo elenco.

Args:

  • archivio (string, opzionale): archivio da interrogare

  • attivi (boolean, opzionale): solo attivi (true) o solo non attivi (false); omesso, entrambi

  • dati_incompleti (boolean, opzionale): filtra sui fornitori con dati incompleti

  • attivita (string, opzionale): attività del fornitore (parametro Attivita)

  • impianto_servizio_id (number, opzionale): id del servizio collegato (ImpiantoServizioID)

  • esercizi_id (number[], opzionale): esercizi del fornitore (EserciziID)

  • search_query (string, opzionale): passato all'API come SearchQuery, semantica non documentata

  • order_by (string, opzionale): passato all'API come OrderBy, semantica non documentata

  • pagina (number): pagina 1-based, default 1

  • dimensione_pagina (number): elementi per pagina, default 50

  • tutte_le_pagine (boolean): se true scorre le pagine fino a 50, default false

  • response_format ('markdown' | 'json'): default 'markdown'

Restituisce (json): stesso involucro paginato di domustudio_list_persone, con elementi della forma { "descr": string, "fornitoreAttivita": string, "codFisc": string, "piva": string, "iban": string, "email": string[], "pec": string[], "tel1": string, "fornitoreInattivo": boolean, "descStatoDurc": string, "dataScadenzaDurc": string, "f24CodTributo": { "codice": number, "etichetta": string }, ... } "ha_altre_pagine" è un'euristica: l'API non restituisce un totale, quindi è vero quando l'ultima pagina letta era piena.

Usare quando: serve un fornitore per attività, partita IVA, IBAN o stato DURC. Non usare per: i condòmini e i soggetti dell'anagrafica persone (domustudio_list_persone).

L'API Domustudio è di sola lettura: espone solo tre endpoint GET. Domustudio resta il sistema di registrazione — ogni correzione va fatta da un operatore dentro il gestionale.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.5/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct resource: archives, condomini, a single condominio, persone, or fornitori. The descriptions explicitly state when to use each tool and when not to use it, preventing overlap confusion. The only minor redundancy is get_condominio versus list_condomini, but the signature and intent are clearly separated.

Naming Consistency5/5

All tools share the domustudio_ prefix and use consistent snake_case with a verb_noun pattern: list_archivi, list_condomini, get_condominio, list_persone, list_fornitori. There are no mixed conventions or ambiguous verb styles. The naming is entirely predictable.

Tool Count5/5

Five tools is well-scoped for a read-only integration wrapping three GET endpoints plus archive discovery and a convenience single-condominio lookup. Each tool earns its place, with no thin or bloated surface. The count matches the domain perfectly.

Completeness5/5

The Domustudio API is explicitly read-only and exposes only three GET endpoints; the server covers all of them plus archive listing and single-condominio retrieval. Missing update/delete operations are by design, not gaps. Agents have workarounds for person and supplier lookup via filtering, and no obvious read path is absent.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive