In breve
Server MCP open source per SAP HANA, per Claude, ChatGPT e Copilot: data dictionary e CDS view SAP come tool, SQL in sola lettura, self-hosted con Docker.
Prova a chiedere
Prompt di esempio per SAP S/4HANA (HANA SQL)
Clicca su un prompt per copiarlo. Incollalo in Claude, ChatGPT, Cursor, Gemini, Copilot o OpenClaw per eseguirlo contro questo connettore.
Claude è un'AI e può sbagliare. Verifica sempre le risposte.
Risposta breve: AnythingMCP è un server MCP open source che legge SAP HANA. Qualsiasi database HANA funziona come semplice connettore database; per SAP S/4HANA c'è un connettore dedicato che trasforma in tool il data dictionary e le CDS view di SAP, così il modello sa cosa significano BUKRS, HSL o VBRK prima di scrivere SQL. Ogni sessione è in sola lettura in HANA stesso, limitata a 1.000 righe e con timeout. Gira con Docker Compose dentro la rete che raggiunge HANA, e Claude, ChatGPT, Copilot, Cursor e Claude Code vi si collegano tramite MCP.
- 10 tool sap_*
- Ruoli e accesso ai tool
- Sola lettura di default
- Log di audit
Due modi di usare HANA
Connettore database (hana://) | Connettore SAP S/4HANA (HANA SQL) | |
|---|---|---|
| Per | Qualsiasi database SAP HANA | Il database HANA sotto S/4HANA |
| Tool | Tool di schema, esempi e query generati dal database, oppure query parametrizzate scritte da te | 10 tool pronti: sap_guide, il dizionario di SAP, CDS view, struttura organizzativa, sap_query |
| Cosa vede il modello | Nomi di tabelle e colonne | Etichette di business di SAP, campi valuta, valori dei codici, join, view rilasciate |
| Configurazione | Connection string e un utente | Dati di connessione, un utente in sola lettura e i grant descritti nella guida di configurazione |
Avvio rapido
Su un host che raggiunge la porta SQL di HANA:
mkdir anythingmcp && cd anythingmcp
curl -fsSLo docker-compose.yml \
https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
echo 'SSRF_ALLOWED_HOSTS=hana.internal' >> .env # altrimenti gli host privati vengono rifiutati
docker compose up -d # → http://localhost:3000
Poi Connectors → Marketplace → SAP S/4HANA (HANA SQL), oppure Add Connector → Database con una connection string hana:// per qualsiasi altro database HANA. Il repository sap-hana-mcp-server contiene lo stesso connettore con uno script di installazione e uno smoke test.
Connection string
hana://host:port/?databaseName=TENANT¤tSchema=SCHEMA&sapClient=100&tls=verify
| Opzione | Significato |
|---|---|
| host, port | La porta SQL del tenant database: 3<instance>15 per il primo tenant, 3<instance>41 e successive per gli altri tenant. La porta del system database 3<instance>13 funziona con databaseName, ma può reindirizzare a un nome host interno. |
databaseName | Nome del tenant in un sistema multi-container. Accettato anche come percorso: hana://host:30013/S4P. |
currentSchema | Schema per i nomi non qualificati, es. SAPHANADB o SAPABAP1. |
sapClient | Il mandante SAP a tre cifre. Imposta la variabile di sessione CDS_CLIENT, senza la quale le CDS view di SAP non restituiscono righe. |
tls | verify (default), no-verify per un certificato autofirmato, oppure off. |
statementTimeout | Secondi prima che uno statement venga annullato. Default 60, massimo 600. |
driver | hdb (default, incluso) oppure hana-client. |
Utente e password vanno nelle credenziali del connettore, salvate cifrate, mai nell'URL.
Come Claude trova i dati
sap_guidespiega il modello dati di SAP per l'SQL, per argomento: basi, finanza, vendite, magazzino, acquisti, operations, trappole e ricette di query.sap_org_structuredelimita la domanda: società con valuta e variante di esercizio, divisioni, organizzazioni commerciali e di acquisto.sap_search_cds_viewsesap_search_tablestrovano dove stanno i dati, segnalando le view di compatibilità che un SQL semplice leggerebbe male.sap_describe_table,sap_find_fields,sap_field_valuesesap_table_relationsforniscono etichette, campi valuta, significato dei codici e join.sap_queryesegue un soloSELECTin sola lettura.
I tool del dizionario sono query fisse in sola lettura sulle tabelle di SAP stesso (DD02L, DD03L, DD04T, DD07T, DD08L, DDHEADANNO, DDFIELDANNO). Ogni tool e il suo SQL sono visibili nella pagina del connettore.
Garanzie
Il vero confine restano i grant del database: l'SQL non applica le autorizzazioni applicative di SAP, quindi crea un utente che possa leggere solo ciò che il modello può vedere. L'accesso SQL diretto allo schema ABAP da parte di un'applicazione terza è regolato dalla tua licenza HANA: una licenza runtime inclusa in S/4HANA di solito non lo copre, una licenza full-use sì.
Driver
AnythingMCP include hdb, il driver HANA di SAP in puro JavaScript (Apache-2.0): utente e password, TLS, sistemi multi-tenant. Il driver nativo di SAP @sap/hana-client aggiunge Kerberos, hdbuserstore e il connection pooling, ma la sua licenza non ne consente la ridistribuzione, quindi lo installi tu nel tuo deployment e lo selezioni con driver=hana-client o HANA_DRIVER=hana-client. Dettagli: SAP HANA nella documentazione di AnythingMCP.
Rispetto a un server MCP HANA generico
Un server MCP HANA generico elenca gli schemi ed esegue SQL. Su un sistema S/4HANA non basta: il modello vede decine di migliaia di tabelle con nomi abbreviati, importi senza il loro campo valuta e view di compatibilità che restituiscono totali sbagliati. Il connettore S/4HANA aggiunge il data dictionary di SAP, le CDS view e una guida al modello dati, così il modello sceglie la tabella giusta e dichiara le sue ipotesi. Funziona inoltre da qualsiasi client MCP, con ruoli, audit log e le garanzie di sola lettura descritte sopra.
FAQ
Esiste un server MCP per SAP? Sì. AnythingMCP include connettori MCP per SAP S/4HANA (HANA SQL e OData), S/4HANA Cloud, SAP Business One e SAP Concur, open source e self-hosted. Questa pagina tratta quello per HANA; Collegare SAP a Claude li elenca tutti.
Come inizio con il server MCP per HANA?
Avvia AnythingMCP con Docker Compose su un host che raggiunge la porta SQL di HANA, aggiungi l'host a SSRF_ALLOWED_HOSTS, installa il connettore SAP S/4HANA (HANA SQL) con un utente del database in sola lettura e aggiungi il server MCP al tuo client. La guida di configurazione contiene l'SQL per l'utente e i suoi grant.
Il modello può scrivere su HANA?
No. La sessione è in sola lettura in HANA, gira un solo SELECT, e scritture e letture con lock vengono rifiutate.
Funziona con SAP ECC o Business One? Non con questo connettore: legge le tabelle e le CDS view di S/4HANA. ECC si collega tramite i servizi OData del suo SAP Gateway, Business One tramite il suo Service Layer.
Quali client MCP funzionano? Claude (claude.ai, Desktop e Code), ChatGPT (piani a pagamento), GitHub Copilot, Cursor e qualsiasi altro client che parli MCP su HTTP.
Prossimi passi
- Collegare SAP S/4HANA a Claude tramite SAP HANA: la configurazione passo per passo, con domande di esempio
- Collegare SAP a Claude: tutte le vie verso SAP in sintesi
- OData to MCP: S/4HANA ed ECC tramite SAP Gateway
- Database to MCP: HANA accanto a SQL Server, PostgreSQL e Oracle
Questa guida ti è stata utile?