Ir al contenido

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/mcp

Añá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.

  • 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 admin en el proyecto.

En Claude (claude.ai o Claude Desktop), abre Settings → Connectors, elige Add custom connector, ponle el nombre FireCMS y pega:

https://api.firecms.co/mcp

En 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/mcp

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

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.

Pídele al agente algo como:

List my FireCMS projects
List the collections in my FireCMS project <tu-project-id>
Add a "featured" boolean property to the products collection, shown after the title

Có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:

  1. Pídele al agente que conecte tu proyecto. connect_project_to_firecms responde con un enlace a app.firecms.co/new.
  2. Elige ahí el proyecto y sigue los pasos. Lleva alrededor de un minuto.
  3. De vuelta en tu cliente, setup_all_collections infiere 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.

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
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
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
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
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
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)

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

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-server

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

  1. list_firebase_projects — muestra qué proyectos puedes conectar y qué les falta todavía
  2. get_project_setup_status — revisa un proyecto en detalle (opcional)
  3. enable_project_apis — solo si apisEnabled es false
  4. enable_firestore — solo si firestoreEnabled es false (la ubicación es permanente)
  5. connect_project_to_firecms — cuenta de servicio, usuario administrador y reglas de seguridad
  6. setup_all_collections — infiere todas las colecciones raíz a partir de los datos existentes
  • 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 login en 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_projects elimina la cuenta de servicio de cada proyecto de su respuesta.

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.