Il server Firebase MCP è un server Model Context Protocol (MCP) locale che viene eseguito nel tuo ambiente di sviluppo per consentire agli strumenti per sviluppatori basati sull'AI di interagire con i tuoi progetti Firebase e con il codebase della tua app.
Il server MCP di Firebase funziona con qualsiasi strumento che può 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 MCP di Firebase può utilizzare le sue funzionalità di AI per aiutarti a:
- Crea e gestisci progetti Firebase
- Gestisci gli utenti di Firebase Authentication
- Utilizza i dati in Cloud Firestore e Firebase SQL Connect
- Recupera gli schemi Firebase SQL Connect
- Comprendi le regole di sicurezza per Cloud Firestore e Cloud Storage for Firebase
- Invia 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 MCP di Firebase è un server MCP locale che può funzionare con qualsiasi client MCP che supporti l'I/O standard (stdio) come mezzo di trasporto.
Quando il server Firebase MCP effettua chiamate agli strumenti, viene eseguito localmente nel tuo ambiente utilizzando le stesse credenziali utente che autorizzano l'interfaccia a riga di comando Firebase. Potrebbe 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 più diffusi:
Antigravity
Per configurare Antigravity in modo che utilizzi il server MCP di Firebase:
- In Antigravity, fai clic sul menu nel riquadro Agente > Server MCP.
- 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 Firebase in Claude Code è installare il plug-in Firebase ufficiale:
Aggiungi il marketplace di Firebase per i plug-in Claude:
claude plugin marketplace add firebase/firebase-toolsInstalla il plug-in Claude per Firebase:
claude plugin install firebase@firebaseVerifica l'installazione:
claude plugin marketplace list
Opzione 2: configura manualmente il server MCP
In alternativa, puoi configurare manualmente il server MCP di Firebase:
Esegui questo comando nella cartella dell'app:
claude mcp add firebase npx -- -y firebase-tools@latest mcpVerifica l'installazione:
claude mcp listDovrebbe mostrare:
firebase: npx -y firebase-tools@latest mcp - ✓ Connected
Claude Desktop
Per configurare Claude Desktop in modo che utilizzi il server MCP di 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 da Cursor Marketplace. In questo modo, il server MCP viene configurato automaticamente e viene fornito l'accesso alle skill dell'agente Firebase.
Opzione 2: configurazione di MCP con un solo clic
Se vuoi aggiungere il server MCP solo alla tua configurazione globale, fai clic sul seguente pulsante:
Opzione 3: configurazione manuale
Se preferisci configurare il server per un progetto specifico o vuoi modificare le impostazioni manualmente, aggiorna il file mcp.json:
- Per un progetto specifico, modifica
.cursor/mcp.json - Per tutti i progetti (globali), 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 di Firebase, modifica il file cline_mcp_settings.json. Puoi aprire o creare questo file facendo clic sull'icona Server MCP nella parte superiore del riquadro Cline, quindi 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 il server disponibile 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, puoi specificare due parametri facoltativi:
--dir ABSOLUTE_DIR_PATH: il percorso assoluto di una directory contenentefirebase.json, per impostare un contesto di progetto per il server MCP. Se non specificato, diventano disponibili gli strumentiget_project_directoryeset_project_directorye 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. Utilizza questa opzione per limitare gli strumenti esposti solo alle funzionalità che utilizzi attivamente. Tieni presente che gli strumenti principali 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 libreria di prompt predefiniti che puoi eseguire; sono ottimizzati per lo sviluppo e l'esecuzione di un'app con Firebase
Strumenti: un insieme di strumenti destinati all'utilizzo 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'utilizzo 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 predefiniti 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 per sviluppatori che supportano l'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 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. |
| firestore:generate_security_rules | firestore | Genera regole di sicurezza di Firestore sicure e i test delle unità corrispondenti per il tuo progetto. |
| storage:generate_security_rules | archiviazione | Genera regole di sicurezza di Firebase Storage sicure e i relativi test delle unità per il tuo progetto. |
| crashlytics:connect | crashlytics | Utilizza questo comando per accedere ai dati di Crashlytics di un'applicazione Firebase. |
Strumenti
Il server MCP di Firebase fornisce anche una serie di strumenti destinati all'utilizzo da parte degli 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; piuttosto, gli agenti AI che supportano la chiamata degli strumenti (come Antigravity, Claude Code o Cursor) possono chiamarli automaticamente per eseguire attività di sviluppo quando necessario.
La tabella seguente descrive gli strumenti messi a disposizione dal server MCP.
npx firebase-tools@latest mcp --generate-tool-list
| Nome strumento | Gruppo di caratteristiche | Descrizione |
|---|---|---|
| apphosting_fetch_logs | apphosting | Recupera i log di build o di servizio recenti per un backend App Hosting. |
| apphosting_list_backends | apphosting | Elenca i backend, le configurazioni del traffico e i domini personalizzati di App Hosting nel tuo progetto. |
| auth_get_users | autorizzazione | Recupera gli utenti di Firebase Auth per UID, indirizzo email, numero di telefono o elenca tutti gli utenti. |
| auth_update_user | autorizzazione | Aggiorna l'account di un utente attivandolo/disattivandolo o impostando attestazioni personalizzate. |
| auth_set_sms_region_policy | autorizzazione | Imposta un criterio per le regioni SMS che consenta o neghi prefissi internazionali specifici per Firebase Authentication. |
| firebase_login | core | Consente all'utente di accedere all'interfaccia a riga di comando di Firebase e al server MCP o di controllare lo stato di autenticazione attuale. |
| 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 | Recuperare 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 attiva 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 attuale dell'ambiente dell'interfaccia a riga di comando di Firebase e di MCP, il progetto attivo e l'utente autenticato. |
| firebase_update_environment | core | Aggiorna le impostazioni dell'ambiente, come 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 interne firebase:// o elenca tutte le risorse disponibili. |
| firebase_deploy | core | Esegui il deployment nel tuo progetto delle risorse e dei servizi Firebase configurati in firebase.json. |
| 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 di arresto anomalo ed eccezione recenti che corrispondono ai filtri specificati per un problema. |
| crashlytics_batch_get_events | crashlytics | Recupera eventi di arresto anomalo ed eccezione di esempio in base al nome della risorsa per il debug. |
| crashlytics_list_notes | crashlytics | Elenca tutte le note allegate a un problema di Crashlytics per un'app per Android o iOS. |
| crashlytics_get_report | crashlytics | Genera report numerici aggregati per eventi e problemi di Crashlytics. |
| crashlytics_update_issue | crashlytics | Aggiorna lo stato (OPEN o CLOSED) di un problema di Crashlytics. |
| realtimedatabase_get_data | realtimedatabase | Leggere i dati da un percorso specificato in Firebase Realtime Database. |
| realtimedatabase_set_data | realtimedatabase | Scrivi i 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 funzioni Cloud Functions di cui è stato eseguito il deployment nel tuo progetto Firebase. |
| messaging_send_message | messaggistica | Invia una notifica push di 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 di un oggetto in un bucket Cloud Storage. |
| firestore_get_document | firestore | Recuperare 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 (come 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): { |
| 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 | Ottieni una pianificazione dei backup di Firestore. |
| firestore_list_backup_schedules | firestore | Elenca le pianificazioni di backup di Firestore. |
| firestore_update_backup_schedule | firestore | Aggiorna una pianificazione dei backup di Firestore. |
| firestore_delete_backup_schedule | firestore | Elimina una pianificazione dei 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 | Ottieni una pianificazione dei backup di Firestore. |
| firestore_list_backup_schedules | firestore | Elenca le pianificazioni di backup di Firestore. |
| firestore_update_backup_schedule | firestore | Aggiorna una pianificazione dei backup di Firestore. |
| firestore_delete_backup_schedule | firestore | Elimina una pianificazione dei backup di Firestore. |
| developerknowledge_search_documents | developerknowledge | Utilizza questo strumento per trovare la documentazione sui prodotti Google Developers. 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, Ricerca, 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 abbastanza dettagliati per rispondere alla domanda dell'utente, utilizza get_documents con parent dall'output di questo strumento per recuperare i contenuti completi del documento. |
| developerknowledge_answer_query | developerknowledge | Utilizza answer_query per ottenere una risposta fondata a una query sui prodotti per sviluppatori Google. Questo strumento ha una quota limitata. Questo strumento sintetizzerà 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 generato e un elenco di nomi di documenti (riferimenti) utilizzati per generare la risposta. Utilizza get_documents con i nomi dei documenti per recuperare l'intero contenuto del documento, se necessario. Se ricevi un errore 429 per superamento della quota, utilizza search_documents. |
| developerknowledge_get_documents | developerknowledge | Utilizza questo strumento per recuperare i contenuti completi 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'utilizzo 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 messe a disposizione 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'indagine sulle segnalazioni di bug nei problemi di Crashlytics, incluse le procedure per diagnosticare e correggere gli 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 definizione 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 un report. |
| backend_init_guide | Guida all'inizializzazione del backend Firebase: guida l'agente di programmazione nella 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 AI generativa 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 all'inizializzazione delle regole di Firestore: guida l'agente di programmazione nella configurazione delle regole di sicurezza di Firestore nel progetto |
| auth_init_guide | Guida all'inizializzazione di Firebase Authentication: guida l'agente di programmazione nella configurazione di Firebase Authentication nel progetto corrente |
| hosting_init_guide | Guida al deployment di Firebase Hosting: guida l'agente di programmazione nel deployment su Firebase Hosting nel progetto corrente |
| UI di aggiornamento dell'ambiente | Interfaccia visiva per la selezione del progetto Firebase attivo |
| UI per il deployment | Interfaccia visiva per il deployment di Firebase |
| UI di inizializzazione | Interfaccia visiva per Firebase Init |
| documenti | Documenti Firebase: carica i contenuti di testo normale dalla documentazione di Firebase, ad esempio https://firebase.google.com/docs/functions diventa firebase://docs/functions |