Server MCP di Insights
Collega ChatGPT, Claude, Copilot o Gemini al tuo tenant Fooodo Insights tramite il server remoto Model Context Protocol.
Fooodo Insights include un server remoto Model Context Protocol per tenant. Espone le analisi operative della tua organizzazione e un insieme limitato di azioni di scrittura delimitate a qualsiasi client AI che supporti MCP — senza chiavi API, integrazioni personalizzate o copia-incolla.
Chi può utilizzarlo? Qualsiasi cliente Fooodo Insights con accesso
admin,analystoviewera un tenant che ha il flag funzionalitàmcp_enabledattivato. Il flag è disattivato per impostazione predefinita per ogni organizzazione; contatta support@fooodo.com per richiedere l'abilitazione e ricevere l'URL MCP del tuo tenant.
Due server MCP, una sola famiglia di prodotti. Questa pagina riguarda il server MCP di Insights, che espone le analisi operative per tenant tramite OAuth 2.1. Un server MCP del manuale marketing separato è in esecuzione su
/api/mcpsufooodo.comed è pubblico — gli agenti lo utilizzano per conoscere Fooodo e inviare richieste di contatto commerciale. Le due superfici sono deliberatamente separate: contenuti del manuale vs. dati dei clienti.
Perché MCP
MCP è lo standard aperto che i client AI utilizzano per comunicare con dati e strumenti remoti — l'equivalente per gli agenti di OAuth + REST. Un singolo server MCP può essere aggiunto una volta sola e riutilizzato da ChatGPT, Claude, Copilot, Gemini, Cursor, Windsurf, Zed e dal crescente elenco di client conformi.
Per i clienti Fooodo Insights questo significa:
- Nessun vendor lock-in. Il tuo analista può porre la stessa domanda da ChatGPT oggi e da Gemini domani senza riconfigurare nulla.
- Azioni delimitate e verificate. Gli strumenti di scrittura (ad es.
attiva importazione dati, conferma avviso) richiedono lo scope
insights:writee un ruoloadminoanalyst. Ogni scrittura viene registrata nel log di audit consource: "mcp". - Isolamento del tenant. Gli strumenti sono limitati all'organizzazione dell'utente a livello di database; l'accesso cross-tenant è impossibile.
Connetti dal tuo AI
Il server MCP di Insights supporta OAuth 2.1 con Dynamic Client Registration, quindi ogni client qui sotto utilizza lo stesso flusso con un clic: incolla l'URL del tuo tenant, fai clic su Connetti, accedi con il tuo account Fooodo Insights, approva gli scope — fatto.
I frammenti di codice qui sotto utilizzano <INSIGHTS_MCP_URL> come
segnaposto. Sostituiscilo con l'URL che il supporto Fooodo ti invia dopo aver
abilitato MCP per il tuo tenant.
ChatGPT (Plus / Pro / Enterprise)
- Apri Impostazioni → Connettori → Aggiungi connettore personalizzato (la Modalità Sviluppatore deve essere abilitata).
- URL server:
<INSIGHTS_MCP_URL>. - Approva la pagina di consenso quando richiesto.
Claude.ai (Pro e superiori)
- Apri Impostazioni → Connettori → Aggiungi connettore personalizzato.
- Nome:
Fooodo Insights. URL server:<INSIGHTS_MCP_URL>. - Approva la pagina di consenso.
GitHub Copilot (VS Code 1.101+, JetBrains, Visual Studio)
Aggiungi al file .vscode/mcp.json del tuo workspace:
{
"servers": {
"fooodo-insights": {
"type": "http",
"url": "<INSIGHTS_MCP_URL>"
}
}
}Se utilizzi Copilot Business/Enterprise, il tuo amministratore deve prima abilitare il criterio Server MCP in Copilot.
Gemini CLI
Aggiungi alla configurazione di Gemini CLI:
{
"mcpServers": {
"fooodo-insights": {
"url": "<INSIGHTS_MCP_URL>",
"oauth": true
}
}
}Gemini Enterprise
Nella console Google Cloud, registra il server come archivio dati MCP personalizzato:
| Campo | Valore |
|---|---|
| URL server | <INSIGHTS_MCP_URL> |
| Autenticazione | OAuth 2.0 (Dynamic Client Registration) |
| Scope richiesti | insights:read, insights:write |
Cosa può fare l'agente
Il server espone strumenti su tre livelli. I client dovrebbero scegliere il livello più basso che risponde alla domanda — è più economico, più veloce e deterministico.
Livello 1 — Strumenti dati (veloci, deterministici, sola lettura)
| Strumento | Restituisce |
|---|---|
get_period_summary | Metriche aggregate per un intervallo di date — vendite, COGS, EBIT, margine lordo, campagne principali |
get_weekly_sales_data | Vendite settimana per settimana con campagne attive e dati sui costi |
get_channel_stats | Metriche di performance per canale (sala, delivery, ghost kitchen, ecc.) |
get_daily_performance | Vendite giorno per giorno per canale e ristorante |
get_product_performance | Classifica prodotti/voci di menu per margine e volume |
get_cfo_pnl_data | Dettaglio P&L — ricavi, COGS, lavoro, OpEx, EBIT — per la vista dashboard CFO |
Livello 2 — Agenti specialisti (analisi LLM a dominio singolo)
| Strumento | Restituisce |
|---|---|
consult_financial_analyst | Analisi del "perché" esclusivamente finanziaria, basata sui dati del periodo |
consult_marketing_strategist | Analisi causale-uplift e attribuzione campagne esclusivamente marketing |
consult_market_research | Contesto di mercato — stagionalità, festività, tendenze del comportamento dei consumatori |
Livello 3 — Orchestratore (sintesi cross-dominio)
| Strumento | Restituisce |
|---|---|
ask_orchestrator | Instrada una domanda cross-dominio a tutti gli agenti specialisti e sintetizza un'unica risposta |
Ricerca e recupero (ChatGPT Deep Research, client generici)
| Strumento | Restituisce |
|---|---|
search | Elenco di insight e cronologia delle azioni degli agenti corrispondenti a una query — {id, title, url, snippet} |
fetch | Contenuto completo di un documento tramite id da search — {id, title, text, url, metadata} |
Strumenti di scrittura (richiedono insights:write + ruolo admin/analyst)
| Strumento | Azione |
|---|---|
trigger_data_import | Attiva immediatamente un recupero file pianificato e configurato (asincrono — restituisce un job_id) |
acknowledge_alert | Contrassegna un avviso come confermato |
resolve_alert | Risolve un avviso |
generate_report | Genera un report PDF (asincrono) |
regenerate_insights | Riesegue il generatore di insight per l'organizzazione (asincrono) |
get_job_status | Interroga lo stato di un job asincrono |
Prompt
weekly_business_review, margin_diagnosis — prompt da slash-command per
ChatGPT Apps e altri client che supportano i prompt.
Sicurezza e limiti
- OAuth 2.1 + PKCE, client pubblici, refresh token a rotazione. I token di accesso sono JWT HS256 validi per un'ora. I refresh token sono validi per 60 giorni, memorizzati come hash SHA-256, monouso alla rotazione.
- Controllo per organizzazione tramite il flag funzionalità
mcp_enabled— disattivato per impostazione predefinita per ogni organizzazione. L'abilitazione avviene tramite ticket di supporto, non tramite un'opzione self-service, in modo che i clienti possano gestire il rollout in fasi. - Limiti di frequenza per livello per utente. Strumenti dati 60/min; specialisti e orchestratore 10 ogni 5 min; strumenti di scrittura 5 ogni 5 min.
- Revoca. Gli utenti possono revocare qualsiasi client in qualsiasi momento
dalle impostazioni del proprio account (
/account/connected-appssul lato Insights). Gli amministratori possono revocare a livello di organizzazione. - Registro di audit. Ogni chiamata a uno strumento di scrittura viene
registrata nel log di audit con
source: "mcp", inclusi il nome del client, l'utente e il payload di input. - Isolamento del tenant a livello di database. Ogni query è limitata all'organizzazione dell'utente prima di uscire dall'applicazione; il server non può restituire dati cross-tenant.
Per gli sviluppatori di agenti
- URL di discovery:
<INSIGHTS_MCP_URL>/.well-known/oauth-authorization-server(e con suffisso/mcp, secondo RFC 8414 §3.1). - Metadati della risorsa protetta:
<INSIGHTS_MCP_URL>/.well-known/oauth-protected-resource/mcp(secondo RFC 9728). - Dynamic Client Registration:
POST <INSIGHTS_MCP_URL>/register— registrazione aperta, ma ogni autorizzazione richiede comunque il consenso interattivo. - Scope:
insights:read(predefinito) einsights:write(per gli strumenti di scrittura). - Trasporto: HTTP streamable, versione del protocollo MCP
2025-06-18.
Standard seguiti: MCP 2025-06-18, RFC 6749 (OAuth 2.0), RFC 7636 (PKCE), RFC 7591 (Dynamic Client Registration), RFC 8414 (Authorization Server Metadata), RFC 9728 (Protected Resource Metadata).