Conecta un agente de IA a FireCMS Cloud (servidor MCP)
FireCMS Cloud ofrece un servidor MCP, de modo que asistentes de IA como Claude, Claude Code o Cursor pueden trabajar directamente sobre tu proyecto: explorar y editar datos, crear y modificar colecciones, inferir esquemas a partir de los documentos que ya tienes en Firestore y gestionar usuarios.
Hay una única dirección para todos:
https://api.firecms.co/mcpAñádela a tu cliente e inicia sesión en FireCMS Cloud desde el navegador. No hay nada que instalar. El agente actúa con tu propia cuenta, así que nunca puede hacer nada que tú no pudieras hacer desde FireCMS Cloud.
Antes de empezar
Sección titulada «Antes de empezar»- Un cliente compatible con MCP: Claude (claude.ai o Claude Desktop), Claude Code, Cursor o cualquier otro cliente que hable el Model Context Protocol.
- Una cuenta de FireCMS Cloud. La lectura está disponible para cualquier miembro del proyecto;
crear o modificar colecciones, datos y usuarios requiere el rol
adminen el proyecto.
Añade el servidor MCP de FireCMS
Sección titulada «Añade el servidor MCP de FireCMS»En Claude (claude.ai o Claude Desktop), abre Settings → Connectors, elige
Add custom connector, ponle el nombre FireCMS y pega:
https://api.firecms.co/mcpEn Claude Code, ejecuta esto en tu terminal; después ejecuta /mcp dentro de Claude Code y elige
Authenticate:
claude mcp add --transport http firecms https://api.firecms.co/mcpEn Cursor, o en cualquier otro cliente que acepte servidores remotos por URL, añade esto a su
configuración MCP (.cursor/mcp.json en tu proyecto, o ~/.cursor/mcp.json para todos los proyectos):
{ "mcpServers": { "firecms": { "url": "https://api.firecms.co/mcp" } }}Inicia sesión
Sección titulada «Inicia sesión»La primera vez que tu cliente se conecte, abrirá FireCMS Cloud en tu navegador. Inicia sesión si aún no lo has hecho, comprueba qué aplicación lo solicita y a dónde te devolverá, y aprueba la solicitud. A partir de ahí, tu cliente mantiene la sesión iniciada.
Para desconectarlo, elimina el conector de tu cliente.
Pruébalo
Sección titulada «Pruébalo»Pídele al agente algo como:
List my FireCMS projectsList the collections in my FireCMS project <tu-project-id>Add a "featured" boolean property to the products collection, shown after the titleCómo incorporar un proyecto de Firebase existente
Sección titulada «Cómo incorporar un proyecto de Firebase existente»Conectar un proyecto crea una cuenta de servicio en tu proyecto de Google Cloud, lo que requiere tus propios permisos de Google Cloud. El servidor alojado nunca los tiene, así que este único paso se hace en FireCMS Cloud:
- Pídele al agente que conecte tu proyecto.
connect_project_to_firecmsresponde con un enlace a app.firecms.co/new. - Elige ahí el proyecto y sigue los pasos. Lleva alrededor de un minuto.
- De vuelta en tu cliente,
setup_all_collectionsinfiere todas las colecciones raíz a partir de los datos existentes.
El paso 3 es donde un proyecto existente se convierte en un CMS funcional: FireCMS toma una muestra de los documentos de cada colección raíz, infiere los tipos de las propiedades y elige nombres para mostrar, un nombre en singular, un icono y un grupo de navegación.
Si prefieres que el agente haga toda la conexión por sí mismo, incluida la activación de las APIs y la creación de la base de datos de Firestore, ejecuta el servidor en local: inicia sesión con tu cuenta de Google, así que puede hacerlo.
Construir colecciones a partir de datos existentes
Sección titulada «Construir colecciones a partir de datos existentes»| Herramienta | Descripción |
|---|---|
get_root_collections |
Lista las colecciones raíz de Firestore de un proyecto (lectura en vivo) |
list_subcollections |
Lista las subcolecciones de un documento, para explorar datos anidados |
list_databases |
Lista las bases de datos de Firestore (solo necesario más allá de (default)) |
preview_inferred_schema |
Infiere un esquema a partir de documentos muestreados sin guardarlo |
infer_collections_from_data 🔒 |
Infiere y guarda colecciones para las rutas elegidas |
setup_all_collections 🔒 |
Infiere y guarda todas las colecciones raíz aún no mapeadas |
preview_inferred_schema es la opción no destructiva: toma una muestra de hasta 200 documentos,
infiere tipos, enumeraciones y validaciones, y devuelve un borrador que puedes editar y después
persistir con save_collection_schema. También funciona con subcolecciones y con cualquier ruta
que las herramientas masivas omitan.
infer_collections_from_data y setup_all_collections escriben el resultado directamente en el
proyecto. Ambas omiten las rutas que ya están asociadas a una colección, así que puedes volver a
ejecutarlas a medida que crece tu base de datos. También rechazan las rutas sin documentos: sin
nada que muestrear, un modelo se inventaría un esquema a partir del nombre de la ruta.
Herramientas disponibles
Sección titulada «Herramientas disponibles»Las herramientas marcadas con 🔒 requieren el rol admin en el proyecto. Las marcadas con 💻 solo
las ofrece el servidor local.
Cada herramienta le indica a tu cliente si solo lee o si cambia algo, y si un cambio puede sobrescribir o eliminar, de modo que los clientes que piden confirmación antes de escribir saben cuándo pedirla.
| Herramienta | Descripción |
|---|---|
firecms_get_current_user |
Muestra el usuario actual |
firecms_login 💻 |
Inicia sesión desde el navegador (Google OAuth) |
firecms_logout 💻 |
Cierra la sesión |
Alta de proyectos
Sección titulada «Alta de proyectos»| Herramienta | Descripción |
|---|---|
connect_project_to_firecms |
Conecta un proyecto de Firebase existente. Alojado: devuelve el enlace para hacerlo en FireCMS Cloud. Local: lo conecta y aplica las reglas de seguridad necesarias |
list_firebase_projects 💻 |
Proyectos de Google Cloud a los que tienes acceso, con indicadores de preparación para FireCMS |
get_project_setup_status 💻 |
Estado detallado de preparación de un proyecto |
list_firestore_locations 💻 |
Ubicaciones disponibles para una nueva base de datos de Firestore |
enable_project_apis 💻 |
Activa las APIs de Google Cloud que FireCMS necesita |
enable_firestore 💻 |
Crea la base de datos de Firestore por defecto (la ubicación es permanente) |
apply_firestore_security_rules 🔒 |
Añade la regla de acceso de FireCMS a Firestore y Storage (idempotente) |
create_firecms_webapp 🔒 |
Reintenta la creación de la app web si falló durante la conexión |
Proyectos y configuración
Sección titulada «Proyectos y configuración»| Herramienta | Descripción |
|---|---|
list_projects |
Lista tus proyectos de FireCMS Cloud |
get_project_config 🔒 |
Obtiene la configuración completa del proyecto (nombre, colores, plan, funcionalidades) |
update_project_name 🔒 |
Renombra un proyecto |
update_project_colors 🔒 |
Actualiza los colores de marca primario y secundario |
update_default_locale 🔒 |
Cambia el idioma por defecto |
toggle_text_search 🔒 |
Activa o desactiva la búsqueda de texto local |
toggle_entity_history 🔒 |
Activa o desactiva el historial de entidades |
Usuarios
Sección titulada «Usuarios»| Herramienta | Descripción |
|---|---|
list_users 🔒 |
Lista los usuarios del proyecto y sus roles |
add_user 🔒 |
Invita a un usuario |
update_user_roles 🔒 |
Cambia los roles de un usuario |
remove_user 🔒 |
Elimina a un usuario |
Esquemas de colecciones
Sección titulada «Esquemas de colecciones»| Herramienta | Descripción |
|---|---|
list_collection_schemas 🔒 |
Lista todos los esquemas de colección guardados |
get_collection_schema 🔒 |
Obtiene el esquema completo de una colección |
save_collection_schema 🔒 |
Crea o reemplaza el esquema de una colección |
update_collection_schema 🔒 |
Actualiza parcialmente el esquema de una colección |
delete_collection_schema 🔒 |
Elimina el esquema de una colección (los datos no se tocan) |
save_property 🔒 |
Añade o actualiza una única propiedad de una colección |
delete_property 🔒 |
Elimina una propiedad del esquema de una colección |
generate_collection |
Genera con IA el esquema de una colección a partir de un prompt |
modify_collection |
Modifica con IA un esquema existente a partir de un prompt |
Documentos
Sección titulada «Documentos»| Herramienta | Descripción |
|---|---|
list_documents |
Consulta documentos (filtros, ordenación, paginación) |
get_document |
Obtiene un documento por su ruta |
create_document |
Crea un documento nuevo |
update_document |
Actualiza parcialmente un documento |
delete_document |
Elimina un documento |
count_documents |
Cuenta los documentos de una colección |
export_collection |
Exporta los datos de una colección en JSON |
import_documents 🔒 |
Importa documentos de forma masiva (máx. 500 por llamada) |
Recursos
Sección titulada «Recursos»Los clientes que soportan recursos MCP también pueden leer estos directamente:
| URI | Descripción |
|---|---|
firecms://projects/{id}/collections |
Colecciones raíz de Firestore |
firecms://projects/{id}/users |
Usuarios del proyecto y sus roles |
firecms://projects/{id}/schemas |
Todos los esquemas de colección (árbol de configuración completo) |
firecms://projects/{id}/config |
Instantánea de la configuración del proyecto |
Ejecuta el servidor en local
Sección titulada «Ejecuta el servidor en local»El mismo servidor se publica como @firecms/mcp-server
y puede ejecutarse en tu máquina a través de stdio. Necesita Node.js 18 o superior. En local inicia
sesión con tu cuenta de Google en lugar de hacerlo a través de FireCMS Cloud, y eso es lo que le permite
además activar APIs, crear bases de datos de Firestore y conectar proyectos de principio a fin.
En Claude Code:
claude mcp add firecms -- npx -y @firecms/mcp-serverPara Claude Desktop, Cursor o cualquier otro cliente MCP, añade esto al archivo de
configuración MCP del cliente (claude_desktop_config.json en Claude Desktop):
{ "mcpServers": { "firecms": { "command": "npx", "args": ["-y", "@firecms/mcp-server"] } }}Después reinicia tu cliente y pídele al agente que ejecute la herramienta firecms_login. Se abrirá un
navegador para iniciar sesión con Google y las credenciales se guardarán en ~/.firecms/tokens.json,
el mismo archivo que utiliza la CLI de FireCMS. Solo
tienes que hacerlo una vez. Usa firecms_logout para cerrar la sesión.
Con el servidor local, la conexión de un proyecto se hace entera desde el agente:
list_firebase_projects— muestra qué proyectos puedes conectar y qué les falta todavíaget_project_setup_status— revisa un proyecto en detalle (opcional)enable_project_apis— solo siapisEnabledes falseenable_firestore— solo sifirestoreEnabledes false (la ubicación es permanente)connect_project_to_firecms— cuenta de servicio, usuario administrador y reglas de seguridadsetup_all_collections— infiere todas las colecciones raíz a partir de los datos existentes
Permisos y seguridad
Sección titulada «Permisos y seguridad»- Autenticación: el servidor alojado usa OAuth. Apruebas cada cliente en FireCMS Cloud, y este
recibe un token solo para tu cuenta. El servidor local usa Google OAuth en tu navegador, el mismo
flujo que
firecms loginen la CLI. - La autorización se comprueba por proyecto: cada escritura exige el rol
admin. - El servidor alojado no guarda credenciales de Google Cloud. Puede hacer lo que tú puedes hacer en FireCMS Cloud, nunca lo que puedes hacer en Google Cloud.
- Tokens: el servidor alojado guarda sus tokens solo como hashes; los tokens de acceso duran una
hora y los tokens de actualización se reemplazan en cada uso. El servidor local guarda sus tokens en
~/.firecms/tokens.json, compartido con la CLI. - Las credenciales nunca llegan al modelo:
list_projectselimina la cuenta de servicio de cada proyecto de su respuesta.
Resolución de problemas
Sección titulada «Resolución de problemas»El cliente no consigue conectarse o sigue pidiendo que inicies sesión. Elimina el conector y
vuelve a añadirlo con https://api.firecms.co/mcp; después aprueba la solicitud en la ventana del
navegador que se abre.
Las herramientas no aparecen después de editar un archivo de configuración. Los clientes MCP leen su configuración al arrancar: reinicia el cliente por completo.
Una escritura falla con un error de permisos. La cuenta con la que has iniciado sesión necesita el
rol admin en ese proyecto. Compruébalo en la sección Usuarios del proyecto en
FireCMS Cloud, o pide a un administrador que te lo conceda.
No aparecen colecciones tras conectar un proyecto. Asegúrate de que Firebase Authentication está
activado y de que se han aplicado las reglas de seguridad (apply_firestore_security_rules), y después
ejecuta setup_all_collections.
El servidor local dice que no has iniciado sesión. Ejecuta la herramienta firecms_login. Si el
navegador no llega a abrirse, ejecuta npx @firecms/mcp-server --help en una terminal para confirmar
que el paquete se instala y arranca.
