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:
- 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 di Firebase in Claude Code è installare il plug-in Firebase ufficiale:
Aggiungi il marketplace 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 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:
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 contenentefirebase.json, per impostare un contesto di progetto per il server MCP. Se non specificato, gli strumentiget_project_directoryeset_project_directorydiventano 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): { |
| 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 |