Server MCP di Firebase

Puoi utilizzare il server Firebase MCP per consentire agli strumenti di sviluppo basati sull'AI di lavorare con i tuoi progetti Firebase e con il codebase della tua app.

Il server Firebase MCP funziona con qualsiasi strumento che possa fungere da client MCP, tra cui: Firebase Studio, interfaccia a riga di comando di Gemini e Gemini Code Assist, 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 Data Connect
  • Recuperare gli schemi di Firebase Data Connect
  • Comprendere le regole di sicurezza per Firestore e Cloud Storage for Firebase
  • Inviare messaggi con Firebase Cloud Messaging

Alcuni strumenti utilizzano Gemini in Firebase per aiutarti:

  • Generare lo schema e le operazioni di Firebase Data Connect
  • Chiedere a Gemini informazioni sui prodotti Firebase

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

Configurare il client MCP

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

Quando il server Firebase MCP effettua chiamate di strumenti, utilizza le stesse credenziali utente che autorizzano la CLI Firebase nell'ambiente in cui è in esecuzione. Può trattarsi di un utente che ha eseguito l'accesso o delle 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

Di seguito sono riportate le istruzioni di configurazione di base per l'utilizzo del server Firebase MCP con alcuni strumenti di assistenza AI più diffusi:

Firebase Studio

Per configurare Firebase Studio in modo che utilizzi il server Firebase MCP, modifica o crea il file di configurazione: .idx/mcp.json.

Se il file non esiste ancora, crealo facendo clic con il tasto destro del mouse sulla directory principale e selezionando Nuovo file. Aggiungi i seguenti contenuti al file:

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

Interfaccia a riga di comando di Gemini

Il modo consigliato per configurare la CLI Gemini in modo che utilizzi il server Firebase MCP è installare l'estensione Firebase per la CLI Gemini:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

L'installazione dell'estensione Firebase configura automaticamente il server Firebase MCP e include anche un file di contesto che può migliorare il rendimento dello sviluppo di app Firebase di Gemini.

In alternativa, puoi configurare l'interfaccia a riga di comando Gemini per utilizzare il server Firebase MCP (ma non il file di contesto dell'estensione Firebase) modificando o creando uno dei file di configurazione:

  • Nel tuo progetto: .gemini/settings.json
  • Nella tua home directory: ~/.gemini/settings.json

Se il file non esiste ancora, crealo facendo clic con il tasto destro del mouse sulla directory principale e selezionando Nuovo file. Aggiungi i seguenti contenuti al file:

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

Gemini Code Assist

Il modo consigliato per configurare Gemini Code Assist in modo che utilizzi il server Firebase MCP è installare l'estensione Firebase per l'interfaccia a riga di comando di Gemini:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

L'installazione dell'estensione Firebase configura automaticamente il server Firebase MCP e include anche un file di contesto che può migliorare il rendimento dello sviluppo di app Firebase di Gemini.

In alternativa, puoi configurare Gemini Code Assist in modo che utilizzi il server Firebase MCP (ma non il file di contesto dell'estensione Firebase) modificando o creando uno dei file di configurazione:

  • Nel tuo progetto: .gemini/settings.json
  • Nella tua home directory: ~/.gemini/settings.json

Se il file non esiste ancora, crealo facendo clic con il tasto destro del mouse sulla directory principale e selezionando Nuovo file. Aggiungi i seguenti contenuti al file:

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

Claude

Claude Code

Per configurare Claude Code in modo che utilizzi il server Firebase MCP, esegui questo comando nella cartella dell'app:

claude mcp add firebase npx -- -y firebase-tools@latest mcp

Puoi verificare l'installazione eseguendo:

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"]
    }
  }
}

Cline

Per configurare Cline in modo che utilizzi il server MCP di 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 Cline, quindi facendo clic sul pulsante Configura server MCP.

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

Cursore

Per configurare Cursor in modo che utilizzi il server MCP Firebase, modifica il file .cursor/mcp.json (per configurare solo un progetto specifico) o il file ~/.cursor/mcp.json (per rendere disponibile il server MCP in tutti i progetti):

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

VS Code Copilot

Per configurare un singolo progetto, modifica il file .vscode/mcp.json nell'area di lavoro:

"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:

"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 viene 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 Firebase fornisce tre diverse categorie di funzionalità MCP:

  • Prompt: una raccolta di prompt precompilati che puoi eseguire; sono ottimizzati per sviluppare ed eseguire un'app con Firebase

  • Strumenti: un insieme di strumenti destinati all'uso da parte dei LLM 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 LLM 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 eseguire questi prompt per completare varie attività o obiettivi comuni.

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

La maggior parte degli strumenti di sviluppo che supportano MCP offre un modo pratico per eseguire questi prompt. Ad esempio, Gemini CLI rende questi prompt disponibili come comandi slash:

/firebase:init

Nella CLI Gemini, inizia a digitare /firebase: per visualizzare un elenco dei comandi disponibili.

Nome del 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.
firebase:consult core Utilizza questo comando per consultare l'assistente Firebase con accesso alla documentazione dettagliata e aggiornata della piattaforma Firebase.

Argomenti:
<prompt>: una domanda da passare al modello Gemini in Firebase
crashlytics:connect crashlytics Accedere ai dati Crashlytics di un'applicazione Firebase.

Strumenti

Il server Firebase MCP fornisce anche una serie di strumenti destinati all'uso da parte dei LLM che li aiutano a interagire direttamente con il tuo progetto Firebase (con la tua approvazione). A differenza dei prompt, questi strumenti non vengono chiamati direttamente; piuttosto, i modelli che supportano la chiamata di strumenti (come Gemini, Claude e GPT) possono chiamarli automaticamente per eseguire attività di sviluppo quando necessario.

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

Nome dello strumento Gruppo di caratteristiche Descrizione
firebase_login core Utilizzalo per consentire all'utente di accedere all'interfaccia a riga di comando di Firebase e al server Firebase MCP. Per creare e utilizzare i progetti Firebase è necessario un Account Google e l'accesso.
firebase_logout core Utilizza questo comando per disconnettere l'utente dall'interfaccia a riga di comando di Firebase e dal server Firebase MCP.
firebase_validate_security_rules core Utilizza questo strumento per controllare la sintassi e gli errori di convalida delle regole di sicurezza Firebase per Firestore, Storage o Realtime Database.
firebase_get_project core Utilizza questo comando per recuperare informazioni sul progetto Firebase attualmente attivo.
firebase_list_apps core Utilizza questo comando per recuperare un elenco delle app Firebase registrate nel progetto Firebase attualmente attivo. Le app Firebase possono essere iOS, Android o web.
firebase_list_projects core Utilizza questo metodo per recuperare un elenco dei progetti Firebase a cui l'utente che ha eseguito l'accesso ha accesso.
firebase_get_sdk_config core Utilizza questo metodo per recuperare le informazioni di configurazione di Firebase per un'app Firebase. Devi specificare UNA piattaforma O l'ID app Firebase per un'app Firebase registrata nel progetto Firebase attualmente attivo.
firebase_create_project core Utilizza questo strumento per creare un nuovo progetto Firebase.
firebase_create_app core Utilizza questa opzione per creare una nuova app Firebase nel progetto Firebase attualmente attivo. Le app Firebase possono essere iOS, Android o web.
firebase_create_android_sha core Utilizza questo comando per aggiungere l'hash del certificato SHA specificato all'app Firebase per Android specificata.
firebase_get_environment core Utilizza questo comando per recuperare la configurazione dell'ambiente Firebase corrente per la CLI Firebase e il server Firebase MCP, inclusi l'utente autenticato corrente, la directory del progetto, il progetto Firebase attivo e altro ancora.
firebase_update_environment core Utilizza questo comando per aggiornare la configurazione dell'ambiente per la CLI Firebase e il server Firebase MCP, ad esempio la directory del progetto, il progetto attivo, l'account utente attivo, l'accettazione dei Termini di servizio e altro ancora. Utilizza firebase_get_environment per visualizzare l'ambiente attualmente configurato.
firebase_init core Utilizza questo comando per inizializzare i servizi Firebase selezionati nello spazio di lavoro (database Cloud Firestore, Firebase Data Connect, Firebase Realtime Database, Firebase AI Logic). Tutti i servizi sono facoltativi; specifica solo i prodotti che vuoi configurare. Puoi inizializzare nuove funzionalità in una directory di progetto esistente, ma la reinizializzazione di una funzionalità esistente potrebbe sovrascrivere la configurazione. Per eseguire il deployment delle funzionalità inizializzate, esegui il comando firebase deploy dopo lo strumento firebase_init.
firebase_get_security_rules core Utilizzalo per recuperare le regole di sicurezza per un servizio Firebase specificato. Se nel prodotto sono presenti più istanze del servizio, vengono restituite le regole per l'istanza predefinita.
firebase_read_resources core Utilizza questo comando per leggere i contenuti delle risorse firebase:// o elencare le risorse disponibili.
firestore_delete_document firestore Utilizza questo comando per eliminare documenti Firestore da un database nel progetto corrente in base ai percorsi completi dei documenti. Utilizza questa opzione se conosci il percorso esatto di un documento.
firestore_get_documents firestore Utilizza questo metodo per recuperare uno o più documenti Firestore da un database nel progetto corrente in base ai percorsi completi dei documenti. Utilizza questa opzione se conosci il percorso esatto di un documento.
firestore_list_collections firestore Utilizza questo comando per recuperare un elenco di raccolte da un database Firestore nel progetto attuale.
firestore_query_collection firestore Utilizza questo metodo per recuperare uno o più documenti Firestore da una raccolta di un database nel progetto corrente in base a una raccolta con un percorso completo del documento. Utilizza questa opzione se conosci il percorso esatto di una raccolta e la clausola di filtro che vuoi applicare al documento.
auth_get_users autorizzazione Utilizza questo metodo per recuperare uno o più utenti Firebase Auth in base a un elenco di UID o di indirizzi email.
auth_update_user autorizzazione Utilizza questa opzione per disattivare, attivare o impostare un'attestazione personalizzata sull'account di un utente specifico.
auth_set_sms_region_policy autorizzazione Utilizza questo criterio per impostare un criterio per le regioni SMS per Firebase Authentication in modo da limitare le regioni che possono ricevere messaggi di testo in base a un elenco di codici paese CONSENTITI o NON CONSENTITI. Se impostato, questo criterio sostituirà tutti i criteri esistenti.
dataconnect_build dataconnect Utilizza questo comando per compilare lo schema, le operazioni e/o i connettori di Firebase Data Connect e verificare la presenza di errori di compilazione.
dataconnect_generate_schema dataconnect Utilizza questo strumento per generare uno schema Firebase Data Connect in base alla descrizione di un'app fornita dagli utenti.
dataconnect_generate_operation dataconnect Utilizza questo strumento per generare una singola query o mutazione di Firebase Data Connect in base allo schema attualmente implementato e al prompt fornito.
dataconnect_list_services dataconnect Utilizza questo comando per elencare i servizi Firebase Data Connect locali e di backend esistenti
dataconnect_execute dataconnect Utilizza questo comando per eseguire un'operazione GraphQL su un servizio Data Connect o sul relativo emulatore.
storage_get_object_download_url archiviazione Utilizza questo metodo per recuperare l'URL di download di un oggetto in un bucket Cloud Storage per Firebase.
messaging_send_message messaggistica Utilizza questo campo per inviare un messaggio a un token di registrazione o a un argomento Firebase Cloud Messaging. In una chiamata specifica può essere fornito SOLO UNO dei seguenti valori: registration_token o topic.
functions_get_logs funzioni Utilizza questo metodo per recuperare una pagina di voci di log di Cloud Functions utilizzando i filtri avanzati di Google Cloud Logging.
remoteconfig_get_template remoteconfig Utilizza questo comando per recuperare il modello Firebase Remote Config specificato dal progetto Firebase attualmente attivo.
remoteconfig_update_template remoteconfig Utilizza questo comando per pubblicare un nuovo modello di configurazione remota o eseguire il rollback a una versione specifica del progetto
crashlytics_create_note crashlytics Aggiungere una nota a un problema di Crashlytics.
crashlytics_delete_note crashlytics Eliminare una nota da un problema di Crashlytics.
crashlytics_get_issue crashlytics Recupera i dati per un problema di Crashlytics, che possono essere utilizzati come punto di partenza per il debug.
crashlytics_list_events crashlytics Utilizza questo campo per elencare gli eventi più recenti che corrispondono ai filtri specificati.
Può essere utilizzato per recuperare arresti anomali ed eccezioni di esempio per un problema,
che includeranno stack trace e altri dati utili per il debug.
crashlytics_batch_get_events crashlytics Recupera eventi specifici in base al nome della risorsa.
Può essere utilizzato per recuperare arresti anomali ed eccezioni di esempio per un problema,
che includeranno stack trace e altri dati utili per il debug.
crashlytics_list_notes crashlytics Utilizza questo campo per elencare tutte le note relative a un problema in Crashlytics.
crashlytics_get_top_issues crashlytics Utilizza questo report per conteggiare gli eventi e gli utenti distinti interessati, raggruppati per problema.
I gruppi sono ordinati in base al conteggio degli eventi, in ordine decrescente.
Conta solo gli eventi che corrispondono ai filtri specificati.
crashlytics_get_top_variants crashlytics Conteggia gli eventi e gli utenti interessati distinti, raggruppati per variante del problema.
I gruppi sono ordinati in base al conteggio degli eventi, in ordine decrescente.
Conta solo gli eventi che corrispondono ai filtri specificati.
crashlytics_get_top_versions crashlytics Conteggia gli eventi e gli utenti interessati distinti, raggruppati per versione.
I gruppi sono ordinati in base al conteggio degli eventi, in ordine decrescente.
Conta solo gli eventi che corrispondono ai filtri specificati.
crashlytics_get_top_apple_devices crashlytics Conteggia gli eventi e gli utenti interessati distinti, raggruppati per dispositivo Apple.
I gruppi sono ordinati in base al conteggio degli eventi, in ordine decrescente.
Conta solo gli eventi che corrispondono ai filtri specificati.
Rilevante solo per le applicazioni iOS, iPadOS e macOS.
crashlytics_get_top_android_devices crashlytics Conteggia gli eventi e gli utenti interessati distinti, raggruppati per dispositivo Android.
I gruppi sono ordinati in base al conteggio degli eventi, in ordine decrescente.
Conta solo gli eventi che corrispondono ai filtri specificati.
Pertinente solo per le applicazioni Android.
crashlytics_get_top_operating_systems crashlytics Conteggia gli eventi e gli utenti interessati distinti, raggruppati per sistema operativo.
I gruppi sono ordinati in base al conteggio degli eventi, in ordine decrescente.
Conta solo gli eventi che corrispondono ai filtri specificati.
crashlytics_update_issue crashlytics Utilizza questo campo per aggiornare lo stato del problema Crashlytics.
apphosting_fetch_logs apphosting Utilizza questo comando per recuperare i log più recenti per un backend App Hosting specificato. Se viene specificato buildLogs, vengono restituiti i log della procedura di build per l'ultima build. I log più recenti sono elencati per primi.
apphosting_list_backends apphosting Utilizza questo comando per recuperare un elenco dei backend di App Hosting nel progetto attuale. Un elenco vuoto indica che non sono presenti backend. uri è l'URL pubblico del backend. Un backend funzionante avrà un array managed_resources che conterrà una voce run_service. run_service.service è il nome della risorsa del servizio Cloud Run che gestisce il backend di hosting delle app. L'ultimo segmento del nome è l'ID servizio. domains è l'elenco dei domini associati al backend. Hanno il tipo CUSTOM o DEFAULT. Ogni backend deve avere un dominio DEFAULT. Il dominio effettivo che un utente utilizzerebbe per connettersi al backend è l'ultimo parametro del nome della risorsa di dominio. Se un dominio personalizzato è configurato correttamente, avrà stati che terminano con ACTIVE.
realtimedatabase_get_data realtimedatabase Utilizza questo metodo per recuperare i dati dalla posizione specificata in un database Firebase Realtime Database.
realtimedatabase_set_data realtimedatabase Utilizza questo metodo per scrivere dati nella posizione specificata in un Firebase Realtime Database.

Risorse

Il server MCP fornisce risorse, ovvero file di documentazione destinati all'utilizzo da parte dei LLM. I modelli 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.

Nome della risorsa Descrizione
backend_init_guide Guida all'inizializzazione del backend Firebase: guida l'agente di codifica alla configurazione dei servizi di backend Firebase nel progetto corrente
ai_init_guide Guida di inizializzazione di Firebase GenAI: guida l'agente di codifica alla configurazione delle funzionalità di AI generativa nel progetto corrente utilizzando Firebase
data_connect_init_guide Guida all'inizializzazione di Firebase Data Connect: guida l'agente di codifica alla configurazione di Data Connect per l'accesso a PostgreSQL nel progetto corrente
firestore_init_guide Guida all'inizializzazione di Firestore: guida l'agente di codifica alla 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
rtdb_init_guide Guida all'inizializzazione di Firebase Realtime Database: guida l'agente di codifica alla configurazione di Realtime Database nel progetto corrente
auth_init_guide Guida all'inizializzazione di Firebase Authentication: guida l'agente di codifica alla configurazione di Firebase Authentication nel progetto corrente
hosting_init_guide Guida al deployment di Firebase Hosting: guida l'agente di codifica durante il deployment in Firebase Hosting nel progetto corrente
documenti Documenti Firebase: carica contenuti di testo normale dalla documentazione di Firebase, ad es. https://firebase.google.com/docs/functions diventa firebase://docs/functions