HomeGemini CLI

Guida alla configurazione di Gemini CLI con MCP Openapi

Questa documentazione raccoglie esempi pratici e consigli rapidi per configurare il server mcp.openapi.com all’interno di Gemini CLI. L’integrazione tra il modello linguistico Gemini (LLM) e il Marketplace API di Openapi consente di unire la potenza del linguaggio naturale con l’accesso a dati e servizi sempre aggiornati. In questo modo è possibile automatizzare processi, arricchire applicazioni e creare soluzioni personalizzate in modo semplice, veloce ed efficace.

Con i passaggi descritti di seguito, riuscirai a:

  • Collegare Gemini a MCP Openapi
  • Autenticarti correttamente
  • Configurare l’ambiente di lavoro
  • Iniziare a interrogare le API tramite il modello.

L’obiettivo è fornirti un setup semplice e chiaro, così da poter sfruttare subito le potenzialità del LLM Claude in combinazione con le API disponibili.

Siti ufficiali


Requisiti Openapi


Prima di iniziare a configurare Gemini Desktop ricordati di :

Installazione tramite npm (Node Package Manager)


Gemini CLI è disponibile come pacchetto npm. Di seguito trovi i passaggi per installarlo sui principali sistemi operativi:

Linux/macOS


1. Assicurati di avere Node.js e npm installati sul tuo sistema. Puoi verificarlo con il seguente comando:

node -v
npm -v	  

Se non sono installati, scarica e installa Node.js dal sito ufficiale: https://nodejs.org/

2. Installa Gemini CLI globalmente usando npm:

npm install -g gemini-cli

3. Verifica che l'installazione sia avvenuta correttamente eseguendo:

gemini --version

Windows


1. Scarica e installa Node.js dal sito ufficiale: https://nodejs.org/

2. Apri un terminale (ad esempio, PowerShell o il Prompt dei comandi) e verifica che Node.js e npm siano installati:

node -v
npm -v

3. Installa Gemini CLI globalmente utilizzando npm:

npm install -g gemini-cli

4. Verifica che l'installazione sia avvenuta correttamente eseguendo:

gemini --version

Configurazione


1. Crea un file json con il seguente nome settings.json nella directory, in base al tuo sistema operativo:

  • Linux/macOS: il file deve trovarsi in ~/.gemini/settings.json
  • Windows: il file deve trovarsi in %USERPROFILE%\.gemini\settings.json

2. Inserisci nel file settings.json il codice che segue e sostituisci {OPENAPI_TOKEN} con un token generato tramite openapi.com:

{
  "mcpServers": {
    "OpenapiMcpServer": {
      "httpUrl": "https://mcp.openapi.com",
      "headers": {
        "Authorization": "Bearer TUO_TOKEN"
      }
    }
  }
}

Salva il file e verifica che Gemini CLI sia configurato correttamente eseguendo:

gemini --help

Prova veloce


Se desideri fare una prova veloce, puoi modificare direttamente il file di esempio settings.json presente nella directory .gemini di questa repository. Non è necessario copiarlo nella tua home directory. Assicurati di sostituire {OPENAPI_TOKEN} con un token valido generato tramite openapi.com:

{
  "mcpServers": {
    "OpenapiMcpServer": {
      "httpUrl": "https://mcp.openapi.com",
      "headers": {
        "Authorization": "Bearer TUO_TOKEN"
      }
    }
  }
}

Dopo aver modificato il file, puoi eseguire il comando gemini direttamente da questa directory per verificare che l'MCP di openapi.com sia abilitato.

Lista comandi disponibili


Esegui il seguente comando per avviare Gemini CLI e visualizzare l'elenco dei comandi disponibili:

gemini --help

Avvio in modalità cli e autenticazione


Per avviare il client in modalità cli è sufficiente il comando:

gemini

Verrà avviato il client, la prima volta verra richiesto di autenticarsi:

 ███            █████████  ██████████ ██████   ██████ █████ ██████   █████ █████
░░░███         ███░░░░░███░░███░░░░░█░░██████ ██████ ░░███ ░░██████ ░░███ ░░███
  ░░░███      ███     ░░░  ░███  █ ░  ░███░█████░███  ░███  ░███░███ ░███  ░███
    ░░░███   ░███          ░██████    ░███░░███ ░███  ░███  ░███░░███░███  ░███
     ███░    ░███    █████ ░███░░█    ░███ ░░░  ░███  ░███  ░███ ░░██████  ░███
   ███░      ░░███  ░░███  ░███ ░   █ ░███      ░███  ░███  ░███  ░░█████  ░███
 ███░         ░░█████████  ██████████ █████     █████ █████ █████  ░░█████ █████
░░░            ░░░░░░░░░  ░░░░░░░░░░ ░░░░░     ░░░░░ ░░░░░ ░░░░░    ░░░░░ ░░░░░

Tips for getting started:
1. Ask questions, edit files, or run commands.
2. Be specific for the best results.
3. /help for more information.
╭─────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                         │
│ Get started                                                                             │
│                                                                                         │
│ How would you like to authenticate for this project?                                    │
│                                                                                         │
│ ● 1. Login with Google                                                                  │
│   2. Use Gemini API Key                                                                 │
│   3. Vertex AI                                                                          │
│                                                                                         │
│ Authentication timed out. Please try again.                                             │
│                                                                                         │
│ (Use Enter to select)                                                                   │
│                                                                                         │
│ Terms of Services and Privacy Notice for Gemini CLI                                     │
│                                                                                         │
│ https://github.com/google-gemini/gemini-cli/blob/main/docs/tos-privacy.md               │
│                                                                                         │
╰─────────────────────────────────────────────────────────────────────────────────────────╯
~/Openapi/McpGeminiCli     no sandbox (see /docs)        gemini-2.5-pro (100% context left)

Per le modalità di autenticazione consultare la documentazione di Gemini Cli:

Una volta effettuata l'autenticazione non verrà più richiesta in seguito.

Ora siamo pronti:

 ███            █████████  ██████████ ██████   ██████ █████ ██████   █████ █████
░░░███         ███░░░░░███░░███░░░░░█░░██████ ██████ ░░███ ░░██████ ░░███ ░░███
  ░░░███      ███     ░░░  ░███  █ ░  ░███░█████░███  ░███  ░███░███ ░███  ░███
    ░░░███   ░███          ░██████    ░███░░███ ░███  ░███  ░███░░███░███  ░███
     ███░    ░███    █████ ░███░░█    ░███ ░░░  ░███  ░███  ░███ ░░██████  ░███
   ███░      ░░███  ░░███  ░███ ░   █ ░███      ░███  ░███  ░███  ░░█████  ░███
 ███░         ░░█████████  ██████████ █████     █████ █████ █████  ░░█████ █████

░░░            ░░░░░░░░░  ░░░░░░░░░░ ░░░░░     ░░░░░ ░░░░░ ░░░░░    ░░░░░ ░░░░░

Tips for getting started:
1. Ask questions, edit files, or run commands.
2. Be specific for the best results.
3. /help for more information.

Using: 1 GEMINI.md file | 1 MCP server (ctrl+t to view)
╭─────────────────────────────────────────────────────────────────────────────────────────╮
│ >   Type your message or @path/to/file                                                  │
╰─────────────────────────────────────────────────────────────────────────────────────────╯
~/Openapi/McpGeminiCli     no sandbox (see /docs)        gemini-2.5-pro (100% context left)

Verifica della connessione ad mcp.openapi.com


Notare la notifica "1 MCP server (ctrl+t to view)" nella schermata di benvenuto del client.Premendo la combinazione suggerita verrà eseguito il comando:

/mcp desc 

che mostrerà il contesto fornito dal server MCP e premendola una seconda volta verrà mostrato l'elenco dei tools disponibili nel server MCP ovvero l'output del comdando:

/mcp nodesc

  🟢 OpenapiMcpServer - Ready (29 tools)
    Tools:
    - check_email_advanced
    - check_email_start
    - check_ip_advanced
    - check_IT_fiscal_code
    - check_license_plate
    - check_mobile_advanced
    - check_mobile_start
    - check_url_advanced
    - find_IT_istat_by_comune_name
    - find_IT_municipalities_by_zip
    - find_IT_municipality_by_istat
    - geocode
    - get_company_IT_advanced
    - get_company_IT_full
    - get_company_IT_legal_forms_list
    - get_company_IT_search
    - get_company_IT_start
    - get_company_WW_top
    - get_IT_metropolitan_cities_list
    - get_IT_provinces_list
    - get_IT_regions_list
    - get_italian_company_official_document
    - get_italian_company_official_documents_list
    - get_risk_IT_creditscore_top
    - get_suppressed_italian_municipalities
    - get_today_exchange_rates
    - post_risk_WW_kyc_full
    - reverse_geocode
    - send_sms

Iniziamo ad utilizzare Openapi con Gemini: conversione valuta


Se hai inserito correttamente il Token generato, potrai iniziare a interagire in modo naturale con i servizi integrati di Openapi.com tramite il modello di linguaggio Gemini. In questa dimostrazione è stato selezionato il modello Gemini-2.5-pro. Per maggiori dettagli sui modelli disponibili, sui relativi costi e sulla loro disponibilità, consulta la documentazione del client.

Facciamo una semplice domanda al modello: "In tasca ho 12 euro, quanto valgono oggi in dollari?"

╭──────────────────────────────────────────────────────────╮
│  > in tasca ho 12 euro, quanto valgono oggi in dollari?  │
╰──────────────────────────────────────────────────────────╯

Dopo pochi istanti, il modello selezionerà il servizio corretto per rispondere con precisione alla domanda, riducendo al minimo il rischio di allucinazioni.

 ╭─────────────────────────────────────────────────────────────────────────────────────────╮
 │ ?  get_today_exchange_rates (OpenapiMcpServer MCP Server) get_today_exchange_rates … ←  │
 │                                                                                         │
 │   MCP Server: OpenapiMcpServer                                                          │
 │   Tool: get_today_exchange_rates                                                        │
 │                                                                                         │
 │ Allow execution of MCP tool "get_today_exchange_rates" from server "Openap…             │
 │                                                                                         │
 │ ● 1. Yes, allow once                                                                    │
 │   2. Yes, always allow tool "get_today_exchange_rates" from server "Openap…             │
 │   3. Yes, always allow all tools from server "OpenapiMcpServer"                         │
 │   4. No, suggest changes (esc)                                                          │
 │                                                                                         │
 ╰─────────────────────────────────────────────────────────────────────────────────────────╯
⠏ Waiting for user confirmation...

Viene richiesta l’autorizzazione per eseguire la chiamata a uno specifico tool MCP di mcp.openapi.com (in questo esempio, "get_today_exchange_rates"). L’autorizzazione può essere concessa come one-time oppure permanente.

 ╭────────────────────────────────────────────────────────────────────────────────────────────╮
 │ ✔ get_today_exchange_rates (OpenapiMcpServer MCP Server) get_today_exchange_rates (Open…  │
 │                                                                                            │
 │    {"AED":4.2876,"AFN":79.895,"ALL":97.6738,"AMD":447.1099,"ANG":2.0895,"AOA":1            │
 │    070.58,"ARS":1557.4466,"AUD":1.7884,"AWG":2.1044,"AZN":1.9893,"BAM":1.9574,"            │
 │    BBD":2.353,"BDT":142.0463,"BGN":1.9551,"BHD":0.4401,"BIF":3484.6563,"BMD":1.            │
 │    1675,"BND":1.4992,"BOB":8.0724,"BRL":6.3205,"BSD":1.1683,"BTC":0,"BTN":102.2            │
 │    776,"BWP":15.6977,"BYN":3.971,"BYR":22882.6273,"BZD":2.3496,"CAD":1.6055,"CD            │
 │    F":3350.6701,"CHF":0.9363,"CLF":0.0288,"CLP":1130.4954,"CNY":8.3521,"CNH":8.            │
 │    3127,"COP":4700.9206,"CRC":589.7536,"CUC":1.1675,"CUP":30.9382,"CVE":110.355            │
 │    4,"CZK":24.5288,"DJF":207.4851,"DKK":7.4644,"DOP":73.5102,"DZD":151.4486,"EG            │
 │    P":56.6193,"ERN":17.5122,"ETB":167.4468,"EUR":1,"FJD":2.6355,"FKP":0.867,"GB            │
 │    P":0.8642,"GEL":3.1464,"GGP":0.867,"GHS":13.3763,"GIP":0.867,"GMD":83.4715,"            │
 │    GNF":10127.2927,"GTQ":8.9546,"GYD":244.4184,"HKD":9.1002,"HNL":30.577,"HRK":            │
 │    7.5343,"HTG":152.8452,"HUF":396.6633,"IDR":19092.9256,"ILS":3.8821,"IMP":0.8            │
 │    67,"INR":102.2618,"IQD":1530.3466,"IRR":49107.1626,"ISK":143.0047,"JEP":0.86            │
 │    7,"JMD":186.3266,"JOD":0.8278,"JPY":171.6559,"KES":151.1535,"KGS":101.9868,"            │
 │    KHR":4682.3154,"KMF":494.4253,"KPW":1050.7094,"KRW":1617.4394,"KWD":0.3568,"            │
 │    KYD":0.9735,"KZT":628.0896,"LAK":25349.3627,"LBP":104614.716,"LKR":353.2516,            │
 │    "LRD":234.2299,"LSL":20.638,"LTL":3.4473,"LVL":0.7062,"LYD":6.3402,"MAD":10.            │
 │    532,"MDL":19.4692,"MGA":5137.7791,"MKD":61.5108,"MMK":2451.3256,"MNT":4199.0            │
 │    784,"MOP":9.3795,"MRU":46.6372,"MUR":53.7158,"MVR":17.963,"MWK":2025.693,"MX            │
 │    N":21.7903,"MYR":4.9233,"MZN":74.6027,"NAD":20.638,"NGN":1795.2117,"NIO":42.            │
 │    9852,"NOK":11.7611,"NPR":163.6446,"NZD":1.9853,"OMR":0.4489,"PAB":1.1683,"PE            │
 │    N":4.1479,"PGK":4.9432,"PHP":66.4151,"PKR":331.2564,"PLN":4.2622,"PYG":8442.            │
 │    9134,"QAR":4.2698,"RON":5.072,"RSD":117.1742,"RUB":93.9839,"RWF":1691.588,"S            │
 │    AR":4.3808,"SBD":9.5854,"SCR":16.5769,"SDG":701.0735,"SEK":11.0666,"SGD":1.4            │
 │    979,"SHP":0.9175,"SLE":27.1905,"SLL":24481.4901,"SOS":667.6411,"SRD":44.9673            │
 │    ,"STD":24164.4992,"STN":24.523,"SVC":10.2214,"SYP":15179.0869,"SZL":20.6368,            │
 │    "THB":37.6866,"TJS":11.0049,"TMT":4.0979,"TND":3.4175,"TOP":2.7344,"TRY":48.            │
 │    0389,"TTD":7.9294,"TWD":35.6133,"TZS":2923.9935,"UAH":48.1546,"UGX":4150.878            │
 │    9,"USD":1.1675,"UYU":46.7493,"UZS":14500.1839,"VES":168.3423,"VND":30792.311            │
 │    ,"VUV":140.0008,"WST":3.1249,"XAF":656.5621,"XAG":0.0299,"XAU":0.0003,"XCD":            │
 │    3.1552,"XCG":2.1055,"XDR":0.8185,"XOF":656.4946,"XPF":119.3317,"YER":280.37,            │
 │    "ZAR":20.6709,"ZMK":10508.7184,"ZMW":27.3652,"ZWL":375.9284,"success":true,"            │
 │    message":"","error":null}                                                               │
 ╰────────────────────────────────────────────────────────────────────────────────────────────╯
✦ Oggi 12 euro valgono 14,01 dollari. Il tasso di cambio è 1 EUR = 1.1675 USD.

Passiamo a un esempio più avanzato: recupera l’elenco delle aziende con parametri economici e geografici.


Richiediamo informazioni aziendali in base ad alcuni parametri: "Quante Società per Azioni (SPA) con fatturato superiore ai 10 milioni sono presenti nella provincia di Terni (città italiana)?"

╭───────────────────────────────────────────────────────────────────────────────────╮
│  > quante spa ci sono con fatturato sopra i 10 milioni nella provincia di terni?  │
╰───────────────────────────────────────────────────────────────────────────────────╯

 ╭────────────────────────────────────────────────────────────────────────────────────────────╮
 │ ✔ get_company_IT_search (OpenapiMcpServer MCP Server) get_company_IT_search (OpenapiMcp…  │
 │                                                                                            │
 │    {"data":[],"count":27,"cost":0.027,"success":true,"message":"","error":null}            │
 ╰────────────────────────────────────────────────────────────────────────────────────────────╯
✦ Con la provincia impostata a "TR", ci sono 27 SPA con fatturato superiore a 10 milioni.

In questo esempio, la proprietà "dryRun" dell’API company.openapi.com è stata impostata automaticamente. Questa opzione consente di ottenere gratuitamente un conteggio ("count") e un preventivo dei costi ("cost") relativi ai criteri specificati, senza eseguire effettivamente l’estrazione del dataset.

Creiamo un Report Dettagliato di un'azienda


Vogliamo conoscere dati approfonditi di una singola azienda? Nessun problema con un semplice prompt ("fammi un report in formato html della openapi spa") è possibile ottenere non solo i dati ma anche il report di un'azienda con informazioni anagrafiche, finanziarie e organizzative

╭───────────────────────────────────────────────────────╮
│  > fammi un report in formato html della openapi spa  │
╰───────────────────────────────────────────────────────╯

Avendo fornito nella richiesta solo il nome il sistema sceglie di effettuare una ricerca per ottenere la Partita IVA

 ╭────────────────────────────────────────────────────────────────────────────────────────────╮
 │ ✔ get_company_IT_search (OpenapiMcpServer MCP Server) get_company_IT_search (OpenapiMcp…  │
 │                                                                                            │
 │    [{"taxCode":"12485671007","vatCode":"12485671007","companyName":"OPENAPI                │
 │    S.P.A.","address":{"registeredOffice":{"town":"ROMA"}},"creationTimestamp":1            │
 │    624358855,"lastUpdateTimestamp":1755789554,"id":"60d1bfc731177b0a092cdfc1"}]            │
 ╰────────────────────────────────────────────────────────────────────────────────────────────╯

Una volta ottenuta la Partita IVA interroga il servizio IT-advanced dell'API company.openapi.com

 ╭────────────────────────────────────────────────────────────────────────────────────────────╮
 │ ✔ get_company_IT_advanced (OpenapiMcpServer MCP Server) get_company_IT_advanced (Openap…  │
 │                                                                                            │
 │    [{"taxCode":"12485671007","vatCode":"12485671007","companyName":"OPENAPI                │
 │    S.P.A.","address":{"registeredOffice":{"toponym":"VIALE","street":"FILIPPO              │
 │    TOMMASO MARINETTI","streetNumber":"221","streetName":"VIALE FILIPPO TOMMASO             │
 │    MARINETTI                                                                               │
 │    221","town":"ROMA","hamlet":null,"province":"RM","zipCode":"00143","region":            │
 │    {"code":"12","description":"LAZIO"},"townCode":"H501","gps":null}},"activity            │
 │    Status":"ATTIVA","reaCode":"1378273","cciaa":"RM","atecoClassification":{"at            │
 │    eco":{"code":"621","description":"Attivita' di programmazione                           │
 │    informatica"},"ateco2007":{"code":"6201","description":"Produzione di                   │
 │    software non connesso                                                                   │
 │    all'edizione"},"ateco2022":{"code":"6201","description":"Produzione di                  │
 │    software non connesso                                                                   │
 │    all'edizione"}},"detailedLegalForm":{"code":"SP","description":"SOCIETA' PER            │
 │    AZIONI"},"startDate":"2013-10-20","registrationDate":"2013-07-19","endDate":            │
 │    null,"pec":"[email protected]","taxCodeCeased":false,"taxCodeCeasedTimest            │
 │    amp":1752166005,"vatGroup":{"vatGroupParticipation":false,"isVatGroupLeader"            │
 │    :false,"registryOk":true},"sdiCode":"USAL8PV","sdiCodeTimestamp":1756386216,            │
 │    "creationTimestamp":1624358855,"lastUpdateTimestamp":1755789554,"balanceShee            │
 │    ts":{"last":{"year":2024,"employees":15,"balanceSheetDate":"2024-12-31","tur            │
 │    nover":3671995,"netWorth":338315,"shareCapital":50000,"totalStaffCost":61742            │
 │    8,"totalAssets":1118403,"avgGrossSalary":41161},"all":[{"year":2025,"balance            │
 │    SheetDate":null,"turnover":null,"netWorth":null,"employees":15,"shareCapital            │
 │    ":50000,"totalStaffCost":null,"totalAssets":null},{"year":2024,"employees":1            │
 │    5,"balanceSheetDate":"2024-12-31","turnover":3671995,"netWorth":338315,"shar            │
 │    eCapital":50000,"totalStaffCost":617428,"totalAssets":1118403,"avgGrossSalar            │
 │    y":41161},{"year":2023,"employees":15,"balanceSheetDate":"2023-12-31","turno            │
 │    ver":3438271,"netWorth":-4710,"shareCapital":50000,"totalStaffCost":565291,"            │
 │    totalAssets":1286998,"avgGrossSalary":37686},{"year":2022,"employees":14,"ba            │
 │    lanceSheetDate":"2022-12-31","turnover":4043407,"netWorth":166491,"shareCapi            │
 │    tal":50000,"totalStaffCost":604997,"totalAssets":1483126,"avgGrossSalary":43            │
 │    214},{"year":2021,"employees":15,"balanceSheetDate":"2021-12-31","turnover":            │
 │    4432761,"netWorth":469366,"shareCapital":50000},{"year":2020,"employees":14,            │
 │    "balanceSheetDate":"2020-12-31","turnover":4192138,"netWorth":170234,"shareC            │
 │    apital":10000},{"year":2019,"employees":14,"balanceSheetDate":"2019-12-31","            │
 │    turnover":1799587,"netWorth":111309,"shareCapital":10000},{"year":2018,"empl            │
 │    oyees":null,"balanceSheetDate":"2018-12-31","turnover":1325358,"netWorth":82            │
 │    6,"shareCapital":null},{"year":2017,"employees":null,"balanceSheetDate":"201            │
 │    7-12-31","turnover":1120176,"netWorth":2928,"shareCapital":null}]},"shareHol            │
 │    ders":[{"companyName":"OPEN HOLDING                                                     │
 │    S.R.L.","name":null,"surname":null,"taxCode":"16935371001","percentShare":10            │
 │    0}],"id":"60d1bfc731177b0a092cdfc1"}]                                                   │
 ╰────────────────────────────────────────────────────────────────────────────────────────────╯

Dopo aver avuto l'accesso ai dati dell'azienda desiderata procede a generare un report in formato html che verrà scritto sul disco nella directory dalla quale è stato eseguito il comando "gemini"

 ╭──────────────────────────────────────────────────────────────────────────────────╮
 │ ✔ WriteFile Writing to openapi_report.html                                       │
 │                                                                                  │
 │    ... first 105 lines hidden ...                                                │
 │     44 +   <tr><th>Description</th><td>Produzione di software non connesso       │
 │        all'edizione</td></tr>                                                    │
 │     45 + </table>                                                                │
 │     46                                                                           │
 │    ════════════════════════════════════════════════════════════════════════════  │
 │     57 -         <div class="section">                                           │
 │     58 -             <h2>Struttura Societaria</h2>                               │
 │     59 -             <ul>                                                        │
 │     60 -                 <li>L'azienda è controllata al 100% da <strong>OPEN     │
 │        HOLDING S.R.L.</strong> (C.F. 16935371001).</li>                          │
 │     61 -             </ul>                                                       │
 │     62 -         </div>                                                          │
 │     47 + <h2>Financials</h2>                                                     │
 │     48 + <h3>Balance Sheet</h3>                                                  │
 │     49 + <table>                                                                 │
 │     50 +   <tr>                                                                  │
 │     51 +     <th>Year</th>                                                       │
 │     52 +     <th>Employees</th>                                                  │
 │     53 +     <th>Turnover</th>                                                   │
 │     54 +     <th>Net Worth</th>                                                  │
 │     55 +     <th>Share Capital</th>                                              │
 │     56 +     <th>Total Staff Cost</th>                                           │
 │     57 +     <th>Total Assets</th>                                               │
 │     58 +     <th>Avg Gross Salary</th>                                           │
 │     59 +   </tr>                                                                 │
 │     60 +   <tr>                                                                  │
 │     61 +     <td>2024</td>                                                       │
 │     62 +     <td>15</td>                                                         │
 │     63 +     <td>3671995</td>                                                    │
 │     64 +     <td>338315</td>                                                     │
 │     65 +     <td>50000</td>                                                      │
 │     66 +     <td>617428</td>                                                     │
 │     67 +     <td>1118403</td>                                                    │
 │     68 +     <td>41161</td>                                                      │
 │     69 +   </tr>                                                                 │
 │     70 +   <tr>                                                                  │
 │     71 +     <td>2023</td>                                                       │
 │     72 +     <td>15</td>                                                         │
 │     73 +     <td>3438271</td>                                                    │
 │     74 +     <td>-4710</td>                                                      │
 │     75 +     <td>50000</td>                                                      │
 │     76 +     <td>565291</td>                                                     │
 │     77 +     <td>1286998</td>                                                    │
 │     78 +     <td>37686</td>                                                      │
 │     79 +   </tr>                                                                 │
 │     80 +   <tr>                                                                  │
 │     81 +     <td>2022</td>                                                       │
 │     82 +     <td>14</td>                                                         │
 │     83 +     <td>4043407</td>                                                    │
 │     84 +     <td>166491</td>                                                     │
 │     85 +     <td>50000</td>                                                      │
 │     86 +     <td>604997</td>                                                     │
 │     87 +     <td>1483126</td>                                                    │
 │     88 +     <td>43214</td>                                                      │
 │     89 +   </tr>                                                                 │
 │     90 +     <tr>                                                                │
 │     91 +     <td>2021</td>                                                       │
 │     92 +     <td>15</td>                                                         │
 │     93 +     <td>4432761</td>                                                    │
 │     94 +     <td>469366</td>                                                     │
 │     95 +     <td>50000</td>                                                      │
 │     96 +     <td></td>                                                           │
 │     97 +     <td></td>                                                           │
 │     98 +     <td></td>                                                           │
 │     99 +   </tr>                                                                 │
 │    100 +     <tr>                                                                │
 │    101 +     <td>2020</td>                                                       │
 │    102 +     <td>14</td>                                                         │
 │    103 +     <td>4192138</td>                                                    │
 │    104 +     <td>170234</td>                                                     │
 │    105 +     <td>10000</td>                                                      │
 │    106 +     <td></td>                                                           │
 │    107 +     <td></td>                                                           │
 │    108 +     <td></td>                                                           │
 │    109 +   </tr>                                                                 │
 │    110 +     <tr>                                                                │
 │    111 +     <td>2019</td>                                                       │
 │    112 +     <td>14</td>                                                         │
 │    113 +     <td>1799587</td>                                                    │
 │    114 +     <td>111309</td>                                                     │
 │    115 +     <td>10000</td>                                                      │
 │    116 +     <td></td>                                                           │
 │    117 +     <td></td>                                                           │
 │    118 +     <td></td>                                                           │
 │    119 +   </tr>                                                                 │
 │    120 +     <tr>                                                                │
 │    121 +     <td>2018</td>                                                       │
 │    122 +     <td></td>                                                           │
 │    123 +     <td>1325358</td>                                                    │
 │    124 +     <td>826</td>                                                        │
 │    125 +     <td></td>                                                           │
 │    126 +     <td></td>                                                           │
 │    127 +     <td></td>                                                           │
 │    128 +     <td></td>                                                           │
 │    129 +   </tr>                                                                 │
 │    130 +     <tr>                                                                │
 │    131 +     <td>2017</td>                                                       │
 │    132 +     <td></td>                                                           │
 │    133 +     <td>1120176</td>                                                    │
 │    134 +     <td>2928</td>                                                       │
 │    135 +     <td></td>                                                           │
 │    136 +     <td></td>                                                           │
 │    137 +     <td></td>                                                           │
 │    138 +     <td></td>                                                           │
 │    139 +   </tr>                                                                 │
 │    140 + </table>                                                                │
 │    141                                                                           │
 │     64 -         <div class="section">                                           │
 │     65 -             <h2>Grafici Dati Storici</h2>                               │
 │     66 -             <div class="chart-container">                               │
 │     67 -                 <h3>Fatturato Annuale</h3>                              │
 │     68 -                 <canvas id="turnoverChart"></canvas>                    │
 │     69 -             </div>                                                      │
 │     70 -             <div class="chart-container">                               │
 │     71 -                 <h3>Numero Dipendenti</h3>                              │
 │     72 -                 <canvas id="employeesChart"></canvas>                   │
 │     73 -             </div>                                                      │
 │     74 -             <div class="chart-container">                               │
 │     75 -                 <h3>Patrimonio Netto</h3>                               │
 │     76 -                 <canvas id="netWorthChart"></canvas>                    │
 │     77 -             </div>                                                      │
 │     78 -         </div>                                                          │
 │     79 -     </div>                                                              │
 │    ════════════════════════════════════════════════════════════════════════════  │
 │    142 + <h2>Shareholders</h2>                                                   │
 │    143 + <table>                                                                 │
 │    144 +   <tr><th>Company Name</th><th>Tax Code</th><th>Share</th></tr>         │
 │    145 +   <tr><td>OPEN HOLDING S.R.L.</td><td>16935371001</td><td>100%</td></   │
 │        tr>                                                                       │
 │    146 + </table>                                                                │
 │    147                                                                           │
 │     81 -     <script>                                                            │
 │     82 -         const historicalData = [                                        │
 │     83 -                                                                         │
 │        {"year":2025,"balanceSheetDate":null,"turnover":null,"netWorth":null,"em  │
 │        ployees":15,"shareCapital":50000,"totalStaffCost":null,"totalAssets":nul  │
 │        l},                                                                       │
 │     84 -                                                                         │
 │        {"year":2024,"employees":15,"balanceSheetDate":"2024-12-31","turnover":3  │
 │        671995,"netWorth":338315,"shareCapital":50000,"totalStaffCost":617428,"t  │
 │        otalAssets":1118403,"avgGrossSalary":41161},                              │
 │     85 -                                                                         │
 │        {"year":2023,"employees":15,"balanceSheetDate":"2023-12-31","turnover":3  │
 │        438271,"netWorth":-4710,"shareCapital":50000,"totalStaffCost":565291,"to  │
 │        talAssets":1286998,"avgGrossSalary":37686},                               │
 │     86 -                                                                         │
 │        {"year":2022,"employees":14,"balanceSheetDate":"2022-12-31","turnover":4  │
 │        043407,"netWorth":166491,"shareCapital":50000,"totalStaffCost":604997,"t  │
 │        otalAssets":1483126,"avgGrossSalary":43214},                              │
 │     87 -                                                                         │
 │        {"year":2021,"employees":15,"balanceSheetDate":"2021-12-31","turnover":4  │
 │        432761,"netWorth":469366,"shareCapital":50000},                           │
 │     88 -                                                                         │
 │        {"year":2020,"employees":14,"balanceSheetDate":"2020-12-31","turnover":4  │
 │        192138,"netWorth":170234,"shareCapital":10000},                           │
 │     89 -                                                                         │
 │        {"year":2019,"employees":14,"balanceSheetDate":"2019-12-31","turnover":1  │
 │        799587,"netWorth":111309,"shareCapital":10000},                           │
 │     90 -                                                                         │
 │        {"year":2018,"employees":null,"balanceSheetDate":"2018-12-31","turnover"  │
 │        :1325358,"netWorth":826,"shareCapital":null},                             │
 │     91 -                                                                         │
 │        {"year":2017,"employees":null,"balanceSheetDate":"2017-12-31","turnover"  │
 │        :1120176,"netWorth":2928,"shareCapital":null}                             │
 │     92 -         ];                                                              │
 │     93 -                                                                         │
 │     94 -         // Filter out future years or entries with null data for        │
 │        charts and sort by year                                                   │
 │     95 -         const filteredData = historicalData.filter(d => d.year <= new   │
 │        Date().getFullYear() && d.turnover !== null && d.employees !== null &&    │
 │        d.netWorth !== null)                                                      │
 │     96 -                                            .sort((a, b) => a.year -     │
 │        b.year);                                                                  │
 │     97 -                                                                         │
 │     98 -         const years = filteredData.map(d => d.year);                    │
 │     99 -         const turnoverData = filteredData.map(d => d.turnover);         │
 │    100 -         const employeesData = filteredData.map(d => d.employees);       │
 │    101 -         const netWorthData = filteredData.map(d => d.netWorth);         │
 │    102 -                                                                         │
 │    103 -         // Chart for Turnover                                           │
 │    104 -         new Chart(document.getElementById('turnoverChart'), {           │
 │    105 -             type: 'line',                                               │
 │    106 -             data: {                                                     │
 │    107 -                 labels: years,                                          │
 │    108 -                 datasets: [{                                            │
 │    109 -                     label: 'Fatturato (€)',                             │
 │    110 -                     data: turnoverData,                                 │
 │    111 -                     borderColor: 'rgb(75, 192, 192)',                   │
 │    112 -                     tension: 0.1                                        │
 │    113 -                 }]                                                      │
 │    114 -             },                                                          │
 │    115 -             options: {                                                  │
 │    116 -                 responsive: true,                                       │
 │    117 -                 scales: {                                               │
 │    118 -                     y: {                                                │
 │    119 -                         beginAtZero: true                               │
 │    120 -                     }                                                   │
 │    121 -                 }                                                       │
 │    122 -             }                                                           │
 │    123 -         });                                                             │
 │    124 -                                                                         │
 │    125 -         // Chart for Employees                                          │
 │    126 -         new Chart(document.getElementById('employeesChart'), {          │
 │    127 -             type: 'bar',                                                │
 │    128 -             data: {                                                     │
 │    129 -                 labels: years,                                          │
 │    130 -                 datasets: [{                                            │
 │    131 -                     label: 'Numero Dipendenti',                         │
 │    132 -                     data: employeesData,                                │
 │    133 -                     backgroundColor: 'rgba(153, 102, 255, 0.6)',        │
 │    134 -                     borderColor: 'rgb(153, 102, 255)',                  │
 │    135 -                     borderWidth: 1                                      │
 │    136 -                 }]                                                      │
 │    137 -             },                                                          │
 │    138 -             options: {                                                  │
 │    139 -                 responsive: true,                                       │
 │    140 -                 scales: {                                               │
 │    141 -                     y: {                                                │
 │    142 -                         beginAtZero: true,                              │
 │    143 -                         stepSize: 1                                     │
 │    144 -                     }                                                   │
 │    145 -                 }                                                       │
 │    146 -             }                                                           │
 │    147 -         });                                                             │
 │    148 -                                                                         │
 │    149 -         // Chart for Net Worth                                          │
 │    150 -         new Chart(document.getElementById('netWorthChart'), {           │
 │    151 -             type: 'line',                                               │
 │    152 -             data: {                                                     │
 │    153 -                 labels: years,                                          │
 │    154 -                 datasets: [{                                            │
 │    155 -                     label: 'Patrimonio Netto (€)',                      │
 │    156 -                     data: netWorthData,                                 │
 │    157 -                     borderColor: 'rgb(255, 99, 132)',                   │
 │    158 -                     tension: 0.1                                        │
 │    159 -                 }]                                                      │
 │    160 -             },                                                          │
 │    161 -             options: {                                                  │
 │    162 -                 responsive: true,                                       │
 │    163 -                 scales: {                                               │
 │    164 -                     y: {                                                │
 │    165 -                         beginAtZero: false // Net worth can be          │
 │        negative                                                                  │
 │    166 -                     }                                                   │
 │    167 -                 }                                                       │
 │    168 -             }                                                           │
 │    169 -         });                                                             │
 │    170 -     </script>                                                           │
 │    148   </body>                                                                 │
 │    149   </html>                                                                 │
 ╰──────────────────────────────────────────────────────────────────────────────────╯
✦ Ho generato il report in formato html, lo puoi trovare qui:
  ~/Openapi/McpGeminiCli/openapi_report.html

Hai riscontrato problemi durante la richiesta?


Assicurati di aver seguito questi passaggi:

  • Attiva i servizi che desideri utilizzare in Console Openapi.
  • Genera un token e associalo ai servizi che vuoi utilizzare
  • Inserisci il token nel file di configurazione di Claude.
  • Posiziona il file di configurazione nella cartella corretta.
  • Ricarica il tuo credito, se stai utilizzando servizi a pagamento.

Per qualsiasi problema ci siamo noi contattaci per supporto!

E Adesso Tocca a Te!

Vuoi raccontarci come hai utilizzato MCP, non esitare a contattarci!