Firebase MCP Server
oficialPuedes usar el servidor MCP de Firebase para darle a las herramientas de desarrollo impulsadas por IA la capacidad de trabajar con tus proyectos de Firebase y la base de código de tu aplicación.
¿Qué puedes hacer con Firebase MCP?
- Crear y gestionar proyectos de Firebase — Pídele al asistente que inicialice un nuevo proyecto con
firebase_create_projecto que liste los proyectos y aplicaciones existentes. - Gestionar usuarios de Authentication — Recupera detalles de usuarios con
auth_get_users, actualiza claims personalizados o desactiva cuentas medianteauth_update_user. - Consultar y actualizar Firestore o Realtime Database — Lee, escribe y gestiona documentos usando
firebase_read_resourcesy herramientas relacionadas con bases de datos. - Depurar fallos con Crashlytics — Obtén detalles de problemas, lista eventos de fallos recientes y añade notas usando
crashlytics_get_issueycrashlytics_list_events. - Validar y recuperar reglas de seguridad — Verifica si hay errores en las reglas de Firestore, Storage o Realtime Database con
firebase_validate_security_rules. - Monitorear backends de App Hosting — Lista backends mediante
apphosting_list_backendsy obtén registros recientes de compilación o tiempo de ejecución conapphosting_fetch_logs.
Documentación
Servidor MCP de Firebase
El Servidor de Protocolo de Contexto de Modelo (MCP) de Firebase brinda a las herramientas de desarrollo impulsadas por IA la capacidad de trabajar con tus proyectos de Firebase y el código de tu aplicación. El servidor MCP de Firebase funciona con cualquier herramienta que pueda actuar como cliente MCP, incluyendo: Firebase Studio, Gemini CLI, Claude Code, Cline, Cursor, VS Code Copilot, Windsurf, ¡y más!
Funcionalidades
Un editor configurado para usar el servidor MCP de Firebase puede usar sus capacidades de IA para ayudarte a:
- Crear y gestionar proyectos de Firebase - Inicializar nuevos proyectos, listar los existentes y gestionar aplicaciones de Firebase
- Gestionar usuarios de Firebase Authentication - Recuperar, actualizar y gestionar cuentas de usuario
- Trabajar con Cloud Firestore y Firebase SQL Connect - Consultar, leer, escribir y gestionar documentos de la base de datos
- Recuperar esquemas de Firebase SQL Connect - Generar esquemas y operaciones con asistencia de IA
- Comprender las reglas de seguridad - Validar y recuperar reglas de seguridad para Firestore, Cloud Storage y Realtime Database
- Enviar mensajes con Firebase Cloud Messaging - Enviar notificaciones push a dispositivos y temas
- Acceder a datos de Crashlytics - Depurar problemas, ver informes de fallos y gestionar analíticas de fallos
- Desplegar en App Hosting - Supervisar backends y recuperar registros
- Trabajar con Realtime Database - Leer y escribir datos en tiempo real
- Consultar registros de Cloud Functions - Recuperar y analizar registros de ejecución de funciones
- Gestionar Remote Config - Obtener y actualizar plantillas de configuración remota
Algunas herramientas usan Gemini en Firebase para ayudarte a:
- Generar esquemas y operaciones de Firebase SQL Connect
- Consultar a Gemini sobre productos de Firebase
Importante: Gemini en Firebase puede generar resultados que parecen plausibles pero que son factualmente incorrectos. Puede responder con información inexacta que no representa las opiniones de Google. Valida todos los resultados de Gemini antes de usarlos y no uses código generado no probado en producción. No introduzcas información de identificación personal (PII) ni datos de usuario en el chat.
Más información sobre Gemini en Firebase y cómo usa tus datos.
Instalación y configuración
Requisitos previos
Asegúrate de tener una instalación funcional de Node.js y npm.
Configuración básica
El servidor MCP de Firebase puede funcionar con cualquier cliente MCP que admita E/S estándar (stdio) como medio de transporte. Cuando el servidor MCP de Firebase realiza llamadas a herramientas, usa las mismas credenciales de usuario que autorizan la CLI de Firebase en el entorno donde se está ejecutando.
Aquí están las instrucciones de configuración para herramientas populares de asistencia de IA:
Gemini CLI
Instala la extensión de Firebase para Gemini CLI:
gemini extensions install https://github.com/firebase/agent-skills
Claude Code
Opción 1: Instalar mediante plugin (Recomendado)
La forma más fácil de configurar el servidor MCP de Firebase en Claude Code es instalar el plugin oficial de Firebase:
-
Agrega el marketplace de Firebase para plugins de Claude:
claude plugin marketplace add firebase/firebase-tools -
Instala el plugin de Claude para Firebase:
claude plugin install firebase@firebase -
Verifica la instalación:
claude plugin
Opción 2: Configurar el servidor MCP manualmente
Alternativamente, puedes configurar manualmente el servidor MCP de Firebase ejecutando:
claude mcp add firebase npx -- -y firebase-tools@latest mcp
Puedes verificar la instalación ejecutando:
claude mcp list
Debería mostrar:
firebase: npx -y firebase-tools@latest mcp - ✓ Connected
Cursor
Agrega a .cursorrules en el directorio de tu proyecto o configura en los ajustes de Cursor:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Windsurf
Agrega a ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Firebase Studio
Para configurar Firebase Studio para usar el servidor MCP de Firebase, edita o crea el archivo de configuración: .idx/mcp.json
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Uso
Una vez configurado, el servidor MCP proporcionará automáticamente capacidades de Firebase a tu asistente de IA. Puedes:
- Pedirle a la IA que te ayude a configurar servicios de Firebase
- Consultar tu base de datos Firestore
- Gestionar usuarios de autenticación
- Desplegar en Firebase Hosting
- Depurar problemas de Crashlytics
- ¡Y mucho más!
Para una lista completa de herramientas y recursos disponibles, consulta la sección Capacidades del servidor a continuación.
Documentación
Para más información, visita la documentación oficial del servidor MCP de Firebase.
Capacidades del servidor
El servidor MCP de Firebase proporciona tres tipos de capacidades: Herramientas (funciones que realizan acciones), Prompts (plantillas de comandos reutilizables) y Recursos (archivos de documentación para modelos de IA).
| Nombre de la herramienta | Grupo de funcionalidad | Descripción |
|---|---|---|
| apphosting_fetch_logs | apphosting | Úsalo para obtener los registros más recientes de un backend de App Hosting especificado. Si se especifica buildLogs, se devuelven los registros del proceso de compilación de la última compilación. Los registros más recientes se muestran primero. |
| apphosting_list_backends | apphosting | Úsalo para recuperar una lista de backends de App Hosting en el proyecto actual. Una lista vacía significa que no hay backends. El uri es la URL pública del backend. Un backend en funcionamiento tendrá un array managed_resources que contendrá una entrada run_service. Ese run_service.service es el nombre del recurso del servicio de Cloud Run que sirve el backend de App Hosting. El último segmento de ese nombre es el ID del servicio. domains es la lista de dominios asociados con el backend. Tienen tipo CUSTOM o DEFAULT. Cada backend debe tener un dominio DEFAULT. El dominio real que un usuario usaría para conectarse al backend es el último parámetro del nombre del recurso de dominio. Si un dominio personalizado está configurado correctamente, tendrá estados que terminan en ACTIVE. |
| auth_get_users | auth | Úsalo para recuperar uno o más usuarios de Firebase Auth basándose en una lista de UIDs o una lista de correos electrónicos. |
| auth_update_user | auth | Úsalo para deshabilitar, habilitar o establecer un claim personalizado en la cuenta de un usuario específico. |
| auth_set_sms_region_policy | auth | Úsalo para establecer una política de región SMS para Firebase Authentication y restringir las regiones que pueden recibir mensajes de texto basándose en una lista ALLOW o DENY de códigos de país. Esta política anulará cualquier política existente cuando se establezca. |
| firebase_login | core | Úsalo para iniciar sesión del usuario en Firebase CLI y el servidor MCP de Firebase. Requiere una cuenta de Google, y el inicio de sesión es necesario para crear y trabajar con proyectos de Firebase. |
| firebase_logout | core | Úsalo para cerrar la sesión del usuario de Firebase CLI y el servidor MCP de Firebase. |
| firebase_validate_security_rules | core | Úsalo para verificar las reglas de seguridad de Firebase para Firestore, Storage o Realtime Database en busca de errores de sintaxis y validación. |
| firebase_get_project | core | Úsalo para recuperar información sobre el proyecto de Firebase actualmente activo. |
| firebase_list_apps | core | Úsalo para recuperar una lista de las aplicaciones de Firebase registradas en el proyecto de Firebase actualmente activo. Las aplicaciones de Firebase pueden ser iOS, Android o Web. |
| firebase_list_projects | core | Úsalo para recuperar una lista de proyectos de Firebase a los que el usuario que ha iniciado sesión tiene acceso. |
| firebase_get_sdk_config | core | Úsalo para recuperar la información de configuración de Firebase para una aplicación de Firebase. Debes especificar O BIEN una plataforma O el ID de la aplicación de Firebase para una aplicación registrada en el proyecto de Firebase actualmente activo. |
| firebase_create_project | core | Úsalo para crear un nuevo proyecto de Firebase. |
| firebase_create_app | core | Úsalo para crear una nueva app de Firebase en el proyecto de Firebase activo actualmente. Las apps de Firebase pueden ser de iOS, Android o Web. |
| firebase_create_android_sha | core | Úsalo para agregar el hash de certificado SHA especificado a la app de Firebase para Android indicada. |
| firebase_get_environment | core | Úsalo para recuperar la configuración actual del entorno de Firebase para la CLI de Firebase y el servidor MCP de Firebase, incluyendo el usuario autenticado actual, el directorio del proyecto, el proyecto de Firebase activo y más. Todas las herramientas requieren que el usuario esté autenticado, pero no toda la información es necesaria para todas las herramientas. Presta atención a los requisitos de cada herramienta para saber qué información se necesita. |
| firebase_update_environment | core | Úsalo para actualizar la configuración del entorno de la CLI de Firebase y el servidor MCP de Firebase, como el directorio del proyecto, el proyecto activo, la cuenta de usuario activa, la aceptación de los términos del servicio y más. Usa firebase_get_environment para ver la configuración actual del entorno. |
| firebase_init | core | Úsalo para inicializar servicios de Firebase seleccionados en el espacio de trabajo (base de datos Cloud Firestore, Firebase SQL Connect, Firebase Realtime Database, Firebase AI Logic). Todos los servicios son opcionales; especifica solo los productos que deseas configurar. Puedes inicializar nuevas funciones en un directorio de proyecto existente, pero reinicializar una función existente puede sobrescribir la configuración. Para desplegar las funciones inicializadas, ejecuta el comando firebase deploy después de la herramienta firebase_init. |
| firebase_get_security_rules | core | Úsalo para recuperar las reglas de seguridad de un servicio de Firebase especificado. Si hay múltiples instancias de ese servicio en el producto, se devuelven las reglas de la instancia predeterminada. |
| firebase_read_resources | core | Úsalo para leer el contenido de los recursos firebase:// o listar los recursos disponibles. |
| crashlytics_create_note | crashlytics | Agrega una nota a un problema de Crashlytics. |
| crashlytics_delete_note | crashlytics | Elimina una nota de un problema de Crashlytics. |
| crashlytics_get_issue | crashlytics | Obtiene los datos de un problema de Crashlytics, que pueden usarse como punto de partida para la depuración. |
| crashlytics_list_events | crashlytics | Úsalo para listar los eventos más recientes que coincidan con los filtros dados. Puede usarse para obtener muestras de fallos y excepciones de un problema, lo que incluirá seguimientos de pila y otros datos útiles para la depuración. |
| crashlytics_batch_get_events | crashlytics | Obtiene eventos específicos por nombre de recurso. Puede usarse para obtener muestras de fallos y excepciones de un problema, lo que incluirá seguimientos de pila y otros datos útiles para la depuración. |
| crashlytics_list_notes | crashlytics | Úsalo para listar todas las notas de un problema en Crashlytics. |
| crashlytics_update_issue | crashlytics | Úsalo para actualizar el estado de un problema de Crashlytics. |
| realtimedatabase_get_data | realtimedatabase | Úsalo para recuperar datos de la ubicación especificada en una Firebase Realtime Database. |
| realtimedatabase_set_data | realtimedatabase | Úsalo para escribir datos en la ubicación especificada en una Firebase Realtime Database. |
| dataconnect_build | dataconnect | Úsalo para compilar el esquema, las operaciones y/o los conectores de Firebase SQL Connect y verificar si hay errores de compilación. |
| dataconnect_list_services | dataconnect | Úsalo para listar los servicios locales y de backend existentes de Firebase SQL Connect. |
| dataconnect_execute | dataconnect | Úsalo para ejecutar una operación GraphQL contra un servicio de SQL Connect o su emulador. |
| firestore_delete_document | firestore | Úsalo para eliminar documentos de Firestore de una base de datos en el proyecto actual mediante rutas completas de documento. Úsalo si conoces la ruta exacta de un documento. |
| firestore_get_documents | firestore | Úsalo para recuperar uno o más documentos de Firestore de una base de datos en el proyecto actual mediante rutas completas de documento. Úsalo si conoces la ruta exacta de un documento. |
| firestore_list_collections | firestore | Úsalo para recuperar una lista de colecciones de una base de datos de Firestore en el proyecto actual. |
| firestore_query_collection | firestore | Úsalo para recuperar uno o más documentos de Firestore de una colección en una base de datos del proyecto actual mediante una colección con una ruta completa de documento. Úsalo si conoces la ruta exacta de una colección y la cláusula de filtrado que deseas para el documento. |
| functions_get_logs | functions | Úsalo para recuperar una página de entradas de registro de Cloud Functions usando filtros avanzados de Google Cloud Logging. |
| functions_list_functions | functions | Lista todas las funciones desplegadas en tu proyecto de Firebase. |
| messaging_send_message | messaging | Úsalo para enviar un mensaje a un token de registro o tema de Firebase Cloud Messaging. SOLO UNO de registration_token o topic puede proporcionarse en una llamada específica. |
| remoteconfig_get_template | remoteconfig | Úsalo para recuperar la plantilla de Firebase Remote Config especificada del proyecto de Firebase activo actualmente. |
| remoteconfig_update_template | remoteconfig | Úsalo para publicar una nueva plantilla de Remote Config o volver a una versión específica para el proyecto. |
| storage_get_object_download_url | storage | Úsalo para recuperar la URL de descarga de un objeto en un bucket de Cloud Storage for Firebase. |
| --------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| firebase:deploy | core | Usa este comando para desplegar recursos en Firebase. Argumentos: <prompt> (opcional): cualquier instrucción específica que desees proporcionar sobre el despliegue |
| firebase:init | core | Usa este comando para configurar servicios de Firebase, como funciones de backend e IA. |
| firestore:generate_security_rules | firestore | Genera Reglas de Seguridad de Firebase Firestore seguras y sus correspondientes pruebas unitarias para tu proyecto. |
| storage:generate_security_rules | storage | Genera Reglas de Seguridad de Firebase Storage seguras y sus correspondientes pruebas unitarias para tu proyecto. |
| crashlytics:connect | crashlytics | Usa este comando para acceder a los datos de Crashlytics de una aplicación Firebase. |
| Nombre del Recurso | Descripción |
|---|---|
| app_id_guide | Guía de ID de App de Firebase: guía al agente de codificación para elegir un ID de App de Firebase en el proyecto actual. |
| crashlytics_investigations_guide | Guía de Investigaciones de Crashlytics de Firebase: Guía al agente de codificación al investigar errores reportados en incidencias de Crashlytics, incluyendo procedimientos para diagnosticar y solucionar fallos. |
| crashlytics_issues_guide | Guía de Incidencias de Crashlytics de Firebase: Guía al agente de codificación al trabajar con incidencias de Crashlytics, incluyendo reglas de priorización y procedimientos para diagnosticar y solucionar fallos. |
| crashlytics_reports_guide | Guía de Informes de Crashlytics de Firebase: Guía al agente de codificación para solicitar informes de Crashlytics, incluyendo la configuración de filtros apropiados y cómo entender las métricas. El agente debe leer esta guía antes de solicitar cualquier informe. |
| backend_init_guide | Guía de Inicio de Backend de Firebase: guía al agente de codificación para configurar los servicios de backend de Firebase en el proyecto actual. |
| ai_init_guide | Guía de Inicio de GenAI de Firebase: guía al agente de codificación para configurar las capacidades de GenAI en el proyecto actual utilizando Firebase. |
| firestore_init_guide | Guía de Inicio de Firestore: guía al agente de codificación para configurar Firestore en el proyecto actual. |
| firestore_rules_init_guide | Guía de Inicio de Reglas de Firestore: guía al agente de codificación para configurar las reglas de seguridad de Firestore en el proyecto. |
| auth_init_guide | Guía de Inicio de Autenticación de Firebase: guía al agente de codificación para configurar Firebase Authentication en el proyecto actual. |
| hosting_init_guide | Guía de Despliegue de Firebase Hosting: guía al agente de codificación para desplegar en Firebase Hosting en el proyecto actual. |
| docs | Documentación de Firebase: carga contenido de texto plano desde la documentación de Firebase, p. ej. https://firebase.google.com/docs/functions se convierte en firebase://docs/functions |