Server MCP di Firebase

Il server Firebase MCPè un server Model Context Protocol (MCP) locale che viene eseguito nel tuo ambiente di sviluppo per consentire agli strumenti di sviluppo basati sull'AI di funzionare con i tuoi progetti Firebase e il codebase della tua app.

Il server MCP Firebase funziona con qualsiasi strumento che possa fungere da client MCP, tra cui: Antigravity, Claude Code e Claude Desktop, Cline, Cursor, VS Code Copilot, Windsurf e altri ancora.

Vai alle istruzioni di configurazione

Vantaggi del server MCP

Un editor configurato per utilizzare il server Firebase MCP può utilizzare le sue funzionalità di AI per aiutarti a:

  • Creare e gestire progetti Firebase
  • Gestire gli utenti di Firebase Authentication
  • Utilizzare i dati in Cloud Firestore e Firebase SQL Connect
  • Recupera schemi Firebase SQL Connect
  • Comprendere le regole di sicurezza per Cloud Firestore e Cloud Storage for Firebase
  • Inviare messaggi con Firebase Cloud Messaging

Questi sono solo elenchi parziali. Consulta la sezione Funzionalità del server per un elenco completo degli strumenti disponibili per l'editor.

Configura il client MCP

Il server Firebase MCP è un server MCP locale che può funzionare con qualsiasi client MCP che supporta I/O standard (stdio) come mezzo di trasporto.

Quando il server Firebase MCP effettua chiamate di strumenti, viene eseguito localmente nel tuo ambiente utilizzando le stesse credenziali utente che autorizzano la CLI Firebase. Può trattarsi di un utente che ha eseguito l'accesso o di credenziali predefinite dell'applicazione, a seconda dell'ambiente.

Prima di iniziare

Assicurati di avere un'installazione funzionante di Node.js e npm.

Configurazione di base

Ecco le istruzioni di configurazione di base per l'utilizzo del server MCP di Firebase con alcuni strumenti di assistenza AI popolari:

Antigravity

Per configurare Antigravity in modo da utilizzare il server MCP Firebase:

  1. In Antigravity, fai clic sul menu nel riquadro Agente > Server MCP.
  2. Seleziona Firebase > Installa.

In questo modo, il file mcp_config.json viene aggiornato automaticamente. Puoi visualizzarlo facendo clic su Gestisci server MCP nella parte superiore del riquadro MCP Store > Visualizza configurazione non elaborata, con i seguenti contenuti:

{
  "mcpServers": {
    "firebase-mcp-server": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Claude

Claude Code

  • Opzione 1: installa tramite plug-in (consigliata)

    Il modo più semplice per configurare il server MCP di Firebase in Claude Code è installare il plug-in Firebase ufficiale:

    1. Aggiungi il marketplace Firebase per i plug-in Claude:

      claude plugin marketplace add firebase/firebase-tools
    2. Installa il plug-in Claude per Firebase:

      claude plugin install firebase@firebase
    3. Verifica l'installazione:

      claude plugin marketplace list
  • Opzione 2: configura manualmente il server MCP

    In alternativa, puoi configurare manualmente il server MCP di Firebase:

    1. Esegui questo comando nella cartella dell'app:

      claude mcp add firebase npx -- -y firebase-tools@latest mcp
    2. Verifica l'installazione:

      claude mcp list

      Dovrebbe mostrare:

      firebase: npx -y firebase-tools@latest mcp - ✓ Connected
      

Claude Desktop

Per configurare Claude Desktop in modo che utilizzi il server MCP Firebase, modifica il file claude_desktop_config.json. Puoi aprire o creare questo file dal menu Claude > Impostazioni. Seleziona la scheda Sviluppatore, quindi fai clic su Modifica configurazione.

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Cursore

Opzione 1: plug-in Marketplace (consigliato)

Installa il plug-in Firebase dal Marketplace di Cursor. Questa operazione configura automaticamente il server MCP e fornisce l'accesso alle skill dell'agente Firebase.

Opzione 2: configurazione MCP con un solo clic

Se vuoi aggiungere il server MCP solo alla configurazione globale, fai clic sul pulsante seguente:

Installa il server MCP

Opzione 3: configurazione manuale

Se preferisci configurare il server per un progetto specifico o vuoi modificare manualmente le impostazioni, aggiorna il file mcp.json:

  • Per un progetto specifico, modifica .cursor/mcp.json
  • Per tutti i progetti (a livello globale), modifica ~/.cursor/mcp.json
"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

Cline

Per configurare Cline in modo che utilizzi il server MCP Firebase, modifica il file cline_mcp_settings.json. Puoi aprire o creare questo file facendo clic sull'icona dei server MCP nella parte superiore del riquadro Client, quindi facendo clic sul pulsante Configura server MCP.

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"],
      "disabled": false
    }
  }
}

VS Code Copilot

Per configurare un singolo progetto, modifica il file .vscode/mcp.json nel tuo workspace:

"servers": {
  "firebase": {
    "type": "stdio",
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

Per rendere disponibile il server in ogni progetto che apri, modifica le impostazioni utente, ad esempio:

"mcp": {
  "servers": {
    "firebase": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Windsurf

Per configurare Windsurf Editor, modifica il file ~/.codeium/windsurf/mcp_config.json:

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

Configurazione facoltativa

Oltre alla configurazione di base per ogni client, mostrata in precedenza, esistono due parametri facoltativi che puoi specificare:

  • --dir ABSOLUTE_DIR_PATH: il percorso assoluto di una directory contenente firebase.json, per impostare un contesto di progetto per il server MCP. Se non specificato, gli strumenti get_project_directory e set_project_directory diventano disponibili e la directory predefinita sarà la directory di lavoro in cui è stato avviato il server MCP.

  • --only FEATURE_1,FEATURE_2: un elenco separato da virgole dei gruppi di funzionalità da attivare. Utilizzalo per limitare gli strumenti esposti solo alle funzionalità che utilizzi attivamente. Tieni presente che gli strumenti di base sono sempre disponibili.

Ad esempio:

"firebase": {
  "command": "npx",
  "args": [
    "-y",
    "firebase-tools@latest", "mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

Funzionalità del server MCP

Il server MCP di Firebase fornisce tre diverse categorie di funzionalità MCP:

  • Prompt: una raccolta di prompt precompilati che puoi eseguire; sono ottimizzati per lo sviluppo e l'esecuzione di un'app con Firebase

  • Strumenti: un insieme di strumenti destinati all'uso da parte degli agenti AI che li aiutano a lavorare direttamente con il tuo progetto Firebase (con la tua approvazione).

  • Risorse: file di documentazione destinati all'uso da parte degli agenti AI per fornire loro maggiori indicazioni e contesto per completare un'attività o un obiettivo

Prompt

Il server Firebase MCP include una libreria di prompt precompilati ottimizzati per lo sviluppo e l'esecuzione di un'app con Firebase. Puoi utilizzare questi prompt per completare varie attività o obiettivi comuni con i tuoi assistenti AI agentici.

La tabella seguente descrive i prompt resi disponibili dal server MCP.

Molti strumenti di sviluppo che supportano MCP forniscono un modo pratico per eseguire questi prompt. Ad esempio, come comando slash:

/firebase:init

Negli ambienti supportati, puoi iniziare a digitare /firebase: per visualizzare un elenco di prompt disponibili.

npx firebase-tools@latest mcp --generate-prompt-list
Nome prompt Gruppo di caratteristiche Descrizione
firebase:deploy core Utilizza questo comando per eseguire il deployment delle risorse su Firebase.

Argomenti:
<prompt> (facoltativo): eventuali istruzioni specifiche che vuoi fornire sul deployment
firebase:init core Utilizza questo comando per configurare i servizi Firebase, come le funzionalità di backend e AI.
firestore:generate_security_rules firestore Genera regole di sicurezza Firebase Firestore sicure e unit test corrispondenti per il tuo progetto.
storage:generate_security_rules archiviazione Genera regole di sicurezza di Firebase Storage sicure e i test delle unità corrispondenti per il tuo progetto.
crashlytics:connect crashlytics Utilizza questo comando per accedere ai dati di Crashlytics di un'applicazione Firebase.

Strumenti

Il server Firebase MCP fornisce anche una serie di strumenti destinati all'uso da parte di agenti AI che li aiutano a lavorare direttamente con il tuo progetto Firebase (con la tua approvazione). A differenza dei prompt, non chiami direttamente questi strumenti. Gli agenti AI che supportano la chiamata di strumenti (come Antigravity, Claude Code o Cursor) possono chiamarli automaticamente per eseguire attività di sviluppo quando necessario.

La tabella seguente descrive gli strumenti resi disponibili dal server MCP.

npx firebase-tools@latest mcp --generate-tool-list
Nome strumento Gruppo di caratteristiche Descrizione
apphosting_fetch_logs apphosting Recupera i log recenti del servizio o della build per un backend App Hosting.
apphosting_list_backends apphosting Elenca i backend di App Hosting, le configurazioni del traffico e i domini personalizzati nel progetto.
auth_get_users autorizzazione Recupera gli utenti di Firebase Auth per UID, email, numero di telefono o elenca tutti gli utenti.
auth_update_user autorizzazione Aggiorna l'account di un utente attivandolo/disattivandolo o impostando rivendicazioni personalizzate.
auth_set_sms_region_policy autorizzazione Imposta un criterio per le regioni SMS che consenta o neghi codici paese specifici per Firebase Authentication.
firebase_login core Accedi all'interfaccia a riga di comando di Firebase e al server MCP o controlla lo stato di autenticazione corrente.
firebase_logout core Disconnetti l'utente dall'interfaccia a riga di comando di Firebase e dal server MCP.
firebase_validate_security_rules core Convalida la sintassi e controlla la presenza di errori nelle regole di sicurezza di Firestore, Storage o Realtime Database.
firebase_get_project core Recupera i metadati e i dettagli di configurazione del progetto Firebase attualmente attivo.
firebase_list_apps core Elenca tutte le app Firebase registrate nel progetto attivo.
firebase_list_projects core Elenca i progetti Firebase accessibili dall'utente autenticato.
firebase_get_sdk_config core Recupera i dettagli di configurazione dell'SDK o i contenuti del file di configurazione per un'app Firebase registrata.
firebase_create_project core Crea un nuovo progetto Firebase o abilita i servizi Firebase in un progetto Google Cloud esistente.
firebase_create_app core Crea una nuova app per iOS, Android o web nel progetto Firebase attivo.
firebase_create_android_sha core Aggiungi un hash del certificato SHA-1 o SHA-256 a un'app per Android nel progetto Firebase attivo.
firebase_get_environment core Recupera la configurazione corrente dell'ambiente dell'interfaccia a riga di comando di Firebase e MCP, il progetto attivo e l'utente autenticato.
firebase_update_environment core Aggiorna le impostazioni dell'ambiente, ad esempio la directory del progetto, il progetto attivo o l'account utente attivo.
firebase_init core Inizializza e configura i servizi Firebase nell'area di lavoro del progetto locale.
firebase_get_security_rules core Recupera le regole di sicurezza attive per Firestore, Storage o Realtime Database.
firebase_read_resources core Leggi i contenuti delle risorse di documentazione firebase:// interne o elenca tutte le risorse disponibili.
firebase_deploy core Esegui il deployment dei servizi e delle risorse Firebase configurati in firebase.json nel tuo progetto.
firebase_deploy_status core Controlla lo stato e l'avanzamento di un job di deployment in background.
crashlytics_create_note crashlytics Aggiungi una nota a un problema di Crashlytics per un'app per Android o iOS.
crashlytics_delete_note crashlytics Elimina una nota da un problema di Crashlytics per un'app per Android o iOS.
crashlytics_get_issue crashlytics Recupera i dettagli e i metadati di un problema specifico di Crashlytics.
crashlytics_list_events crashlytics Elenca gli eventi recenti di arresto anomalo ed eccezione che corrispondono ai filtri specificati per un problema.
crashlytics_batch_get_events crashlytics Recupera eventi di arresto anomalo ed eccezione di esempio per nome risorsa per il debug.
crashlytics_list_notes crashlytics Elenca tutte le note allegate a un problema di Crashlytics per un'app Android o iOS.
crashlytics_get_report crashlytics Genera report numerici aggregati per problemi ed eventi di Crashlytics.
crashlytics_update_issue crashlytics Aggiorna lo stato (APERTO o CHIUSO) di un problema di Crashlytics.
realtimedatabase_get_data realtimedatabase Legge i dati da un percorso specificato in Firebase Realtime Database.
realtimedatabase_set_data realtimedatabase Scrivi dati JSON in un percorso specificato in Firebase Realtime Database.
dataconnect_build dataconnect Compila schemi, operazioni e connettori di Firebase SQL Connect per convalidare la sintassi e i tipi.
dataconnect_list_services dataconnect Elenca i servizi, gli schemi e i connettori Firebase SQL Connect locali e di cui è stato eseguito il deployment.
dataconnect_execute dataconnect Esegui una query o una mutazione GraphQL su un servizio o un emulatore Firebase SQL Connect.
functions_get_logs funzioni Recupera e filtra le voci di log di Cloud Functions da Google Cloud Logging.
functions_list_functions funzioni Elenca tutte le Cloud Functions di cui è stato eseguito il deployment nel tuo progetto Firebase.
messaging_send_message messaggistica Invia una notifica push Firebase Cloud Messaging a un token di registrazione del dispositivo o a un argomento.
remoteconfig_get_template remoteconfig Recupera la versione attiva o specificata del modello Firebase Remote Config.
remoteconfig_update_template remoteconfig Pubblica un nuovo modello Firebase Remote Config o esegui il rollback a una versione precedente.
storage_get_object_download_url archiviazione Recupera l'URL di download per un oggetto in un bucket Cloud Storage.
firestore_get_document firestore Recupera un documento da un database Firestore.
firestore_add_document firestore Crea un documento da un database Firestore.
firestore_update_document firestore Aggiorna un documento da un database Firestore.
firestore_delete_document firestore Elimina un documento da un database Firestore.
firestore_list_documents firestore Elenca i documenti di un database Firestore.
firestore_list_collections firestore Elenca tutti gli ID raccolta sotto un documento.
firestore_query_collection firestore Esegui query sui documenti Firestore di una raccolta con filtri e ordinamento facoltativi.
firestore_run_aggregation_query firestore Esegui una query di aggregazione su un database Firestore.
Esegue una query di aggregazione (ad esempio COUNT, SUM o AVG) su una query strutturata e restituisce i risultati aggregati.

Parametri obbligatori:
- parent: il nome della risorsa padre nel formato projects/{project_id}/databases/{database_id}/documents (ad es. projects/my-project/databases/(default)/documents).
- structured_aggregation_query: un oggetto StructuredAggregationQuery che definisce la query di aggregazione da eseguire.

Esempio di utilizzo (COUNT e AVG):
{
"parent": "projects/my-project/databases/(default)/documents",
"structured_aggregation_query": {
"structured_query": {
"from": [{"collection_id": "orders"}],
"where": {
"field_filter": {
"field": {"field_path": "status"},
"op": "EQUAL",
"value": {"string_value": "COMPLETED"}
}
}
},
"aggregations": [
{
"alias": "total_orders",
"count": {}
},
{
"alias": "average_amount",
"avg": {
"field": {"field_path": "amount"}
}
}
]
}
}
firestore_create_database firestore Crea un database Firestore.
firestore_get_database firestore Recupera un database Firestore.
firestore_list_databases firestore Elenca i database Firestore.
firestore_update_database firestore Aggiorna un database Firestore.
firestore_delete_database firestore Elimina un database Firestore.
firestore_create_index firestore Crea un indice composto.
firestore_get_index firestore Recupera un indice Firestore.
firestore_list_indexes firestore Elenca gli indici Firestore.
firestore_delete_index firestore Elimina un indice Firestore.
firestore_get_backup firestore Recupera un backup Firestore.
firestore_list_backups firestore Elenca i backup di Firestore.
firestore_delete_backup firestore Elimina un backup Firestore.
firestore_create_backup_schedule firestore Crea una pianificazione dei backup di Firestore.
firestore_get_backup_schedule firestore Recupera una pianificazione dei backup Firestore.
firestore_list_backup_schedules firestore Elenca le pianificazioni di backup di Firestore.
firestore_update_backup_schedule firestore Aggiorna una pianificazione dei backup Firestore.
firestore_delete_backup_schedule firestore Elimina una pianificazione del backup di Firestore.
firestore_get_backup firestore Recupera un backup Firestore.
firestore_list_backups firestore Elenca i backup di Firestore.
firestore_delete_backup firestore Elimina un backup Firestore.
firestore_create_backup_schedule firestore Crea una pianificazione dei backup di Firestore.
firestore_get_backup_schedule firestore Recupera una pianificazione dei backup Firestore.
firestore_list_backup_schedules firestore Elenca le pianificazioni di backup di Firestore.
firestore_update_backup_schedule firestore Aggiorna una pianificazione dei backup Firestore.
firestore_delete_backup_schedule firestore Elimina una pianificazione del backup di Firestore.
developerknowledge_search_documents developerknowledge Utilizza questo strumento per trovare la documentazione sui prodotti per sviluppatori Google. I documenti contengono API ufficiali, snippet di codice, note di rilascio, best practice, guide, informazioni di debug e altro ancora. Copre i seguenti prodotti e domini:


* ADK: adk.dev

* Android: developer.android.com

* Apigee: docs.apigee.com

* Chrome: developer.chrome.com

* Dart: dart.dev

* Firebase: firebase.google.com

* Flutter: docs.flutter.dev

* Fuchsia: fuchsia.dev

* Gemini CLI: geminicli.com

* Genkit: genkit.dev

* Go: go.dev

* Google AI: ai.google.dev

* Google Antigravity: antigravity.google

* Google Cloud: cloud.google.com e docs.cloud.google.com

* Google Developers, Ads, Search, Google Maps, YouTube: developers.google.com

* Google Home: developers.home.google.com

* Google Maps Platform: mapsplatform.google.com

* TensorFlow: www.tensorflow.org

* Web: web.dev


Questo strumento restituisce blocchi di testo, nomi e URL per i documenti corrispondenti. Se i chunk restituiti non sono sufficientemente dettagliati per rispondere alla domanda dell'utente, utilizza get_documents con parent dall'output di questo strumento per recuperare l'intero contenuto del documento.
developerknowledge_answer_query developerknowledge Utilizza answer_query per ottenere una risposta basata su una query sui prodotti per sviluppatori Google. Questo strumento ha una quota limitata. Questo strumento sintetizza le informazioni del corpus per generare una risposta alla query. answer_query basa le risposte sullo stesso corpus di search_documents.
Questo strumento restituisce il testo della risposta generata e un elenco di nomi di documenti (riferimenti) utilizzati per generare la risposta. Se necessario, utilizza get_documents con i nomi dei documenti per recuperare l'intero contenuto del documento.

Se ricevi un errore 429 relativo alla quota, utilizza search_documents.
developerknowledge_get_documents developerknowledge Utilizza questo strumento per recuperare l'intero contenuto di un singolo documento o di un massimo di 20 documenti in una singola chiamata. I nomi dei documenti devono essere ottenuti dal campo parent dei risultati di una chiamata allo strumento search_documents. Imposta il parametro names su un elenco di nomi di documenti.

Risorse

Il server MCP fornisce risorse, ovvero file di documentazione destinati all'uso da parte degli agenti AI. Gli agenti che supportano l'utilizzo delle risorse includeranno automaticamente le risorse pertinenti nel contesto della sessione.

La tabella seguente descrive le risorse rese disponibili dal server MCP.

npx firebase-tools@latest mcp --generate-resource-list
Nome della risorsa Descrizione
app_id_guide Guida all'ID app Firebase: guida l'agente di programmazione nella scelta di un ID app Firebase nel progetto corrente
crashlytics_investigations_guide Guida alle indagini di Firebase Crashlytics: guida l'agente di programmazione durante l'analisi dei bug segnalati nei problemi di Crashlytics, incluse le procedure per la diagnosi e la correzione degli arresti anomali.
crashlytics_issues_guide Guida ai problemi di Firebase Crashlytics: guida l'agente di programmazione quando lavora con i problemi di Crashlytics, incluse le regole di assegnazione delle priorità e le procedure per diagnosticare e risolvere i problemi.
crashlytics_reports_guide Guida ai report di Firebase Crashlytics: guida l'agente di programmazione nella richiesta di report di Crashlytics, inclusa l'impostazione di filtri appropriati e la comprensione delle metriche. L'agente deve leggere questa guida prima di richiedere qualsiasi report.
backend_init_guide Guida all'inizializzazione del backend Firebase: guida l'agente di programmazione alla configurazione dei servizi di backend Firebase nel progetto corrente
ai_init_guide Guida all'inizializzazione di Firebase GenAI: guida l'agente di programmazione nella configurazione delle funzionalità di GenAI nel progetto corrente utilizzando Firebase
firestore_init_guide Guida all'inizializzazione di Firestore: guida l'agente di programmazione nella configurazione di Firestore nel progetto corrente
firestore_rules_init_guide Guida iniziale alle regole di Firestore: guida l'agente di codifica alla configurazione delle regole di sicurezza di Firestore nel progetto
auth_init_guide Guida all'inizializzazione di Firebase Authentication: guida l'agente di codifica nella configurazione di Firebase Authentication nel progetto corrente
hosting_init_guide Guida al deployment di Firebase Hosting: guida l'agente di codifica al deployment in Firebase Hosting nel progetto corrente
Aggiornamento dell'interfaccia utente dell'ambiente Interfaccia visiva per selezionare il progetto Firebase attivo
UI per il deployment Interfaccia visiva per Firebase Deploy
Init UI Interfaccia visiva per Firebase Init
documenti Documenti Firebase: carica contenuti di testo normale dalla documentazione di Firebase, ad es. https://firebase.google.com/docs/functions diventa firebase://docs/functions