Zum Inhalt springen

KI-Agenten mit FireCMS Cloud verbinden (MCP-Server)

FireCMS Cloud betreibt einen MCP-Server, damit KI-Assistenten wie Claude, Claude Code oder Cursor direkt an deinem Projekt arbeiten können: Daten durchsuchen und bearbeiten, Kollektionen anlegen und ändern, Schemata aus den bereits vorhandenen Firestore-Dokumenten ableiten und Benutzer verwalten.

Es gibt eine einzige Adresse für alle:

https://api.firecms.co/mcp

Füge sie in deinem Client hinzu und melde dich im Browser bei FireCMS Cloud an. Es muss nichts installiert werden. Der Agent handelt mit deinem eigenen Konto — er kann also nie etwas tun, was du nicht auch selbst in FireCMS Cloud tun könntest.

  • Ein MCP-fähiger Client: Claude (claude.ai oder Claude Desktop), Claude Code, Cursor oder ein anderer Client, der das Model Context Protocol spricht.
  • Ein FireCMS-Cloud-Konto. Lesen kann jedes Projektmitglied; das Anlegen oder Ändern von Kollektionen, Daten und Benutzern erfordert die Rolle admin im Projekt.

Öffne in Claude (claude.ai oder Claude Desktop) Settings → Connectors, wähle Add custom connector, nenne ihn FireCMS und füge Folgendes ein:

https://api.firecms.co/mcp

Führe in Claude Code dies in deinem Terminal aus, rufe danach in Claude Code /mcp auf und wähle Authenticate:

claude mcp add --transport http firecms https://api.firecms.co/mcp

Füge in Cursor oder jedem anderen Client, der Remote-Server per URL einbindet, das hier in seine MCP-Konfiguration ein (.cursor/mcp.json in deinem Projekt oder ~/.cursor/mcp.json für alle Projekte):

{
"mcpServers": {
"firecms": {
"url": "https://api.firecms.co/mcp"
}
}
}

Wenn sich dein Client zum ersten Mal verbindet, öffnet er FireCMS Cloud in deinem Browser. Melde dich an, falls du es noch nicht bist, prüfe, welche App anfragt und wohin sie dich zurückschickt, und bestätige. Ab dann bleibt dein Client angemeldet.

Um die Verbindung zu trennen, entferne den Connector aus deinem Client.

Bitte den Agenten um so etwas:

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

Beim Verbinden eines Projekts wird in deinem Google-Cloud-Projekt ein Dienstkonto angelegt, wofür deine eigenen Google-Cloud-Berechtigungen nötig sind. Der gehostete Server besitzt diese nie, deshalb findet dieser eine Schritt in FireCMS Cloud statt:

  1. Bitte den Agenten, dein Projekt zu verbinden. connect_project_to_firecms antwortet mit einem Link zu app.firecms.co/new.
  2. Wähle dort das Projekt aus und folge den Schritten. Das dauert etwa eine Minute.
  3. Zurück in deinem Client leitet setup_all_collections jede Root-Kollektion aus den vorhandenen Daten ab.

In Schritt 3 wird aus einem bestehenden Projekt ein funktionierendes CMS: FireCMS nimmt Stichproben der Dokumente jeder Root-Kollektion, leitet die Property-Typen ab und wählt Anzeigenamen, einen Singular-Namen, ein Icon und eine Navigationsgruppe.

Soll der Agent die ganze Verbindung lieber selbst übernehmen, einschließlich der Aktivierung der APIs und der Anlage der Firestore-Datenbank, dann führe den Server lokal aus: Er meldet sich mit deinem Google-Konto an und kann das deshalb.

Tool Beschreibung
get_root_collections Listet die Firestore-Root-Kollektionen eines Projekts (live gelesen)
list_subcollections Listet die Subkollektionen eines Dokuments, um verschachtelte Daten zu erkunden
list_databases Listet Firestore-Datenbanken (nur nötig über (default) hinaus)
preview_inferred_schema Leitet ein Schema aus Stichproben ab, ohne es zu speichern
infer_collections_from_data 🔒 Leitet Kollektionen für ausgewählte Pfade ab und speichert sie
setup_all_collections 🔒 Leitet jede noch nicht zugeordnete Root-Kollektion ab und speichert sie

preview_inferred_schema ist die zerstörungsfreie Variante: Es nimmt Stichproben von bis zu 200 Dokumenten, leitet Typen, Enums und Validierungen ab und gibt einen Entwurf zurück, den du bearbeiten und anschließend mit save_collection_schema persistieren kannst. Es funktioniert auch für Subkollektionen und für jeden Pfad, den die Massen-Tools überspringen.

infer_collections_from_data und setup_all_collections schreiben das Ergebnis direkt ins Projekt. Beide überspringen Pfade, die bereits einer Kollektion zugeordnet sind, und lassen sich daher gefahrlos erneut ausführen, wenn deine Datenbank wächst. Pfade ohne Dokumente lehnen sie ab: Ohne etwas zum Auswerten würde ein Modell ein Schema allein aus dem Pfadnamen erfinden.

Mit 🔒 markierte Tools erfordern die Rolle admin im Projekt. Mit 💻 markierte Tools bietet nur der lokale Server an.

Jedes Tool teilt deinem Client mit, ob es nur liest oder etwas ändert und ob eine Änderung etwas überschreiben oder löschen kann. So wissen Clients, die vor dem Schreiben nachfragen, wann sie fragen sollen.

Tool Beschreibung
firecms_get_current_user Zeigt den aktuellen Benutzer
firecms_login 💻 Anmeldung über den Browser (Google OAuth)
firecms_logout 💻 Abmelden
Tool Beschreibung
connect_project_to_firecms Verbindet ein bestehendes Firebase-Projekt. Gehostet: liefert den Link, um es in FireCMS Cloud zu erledigen. Lokal: verbindet es und wendet die nötigen Sicherheitsregeln an
list_firebase_projects 💻 Google-Cloud-Projekte mit Zugriff, samt FireCMS-Bereitschaftsstatus
get_project_setup_status 💻 Detaillierter Bereitschaftsstatus eines Projekts
list_firestore_locations 💻 Verfügbare Standorte für eine neue Firestore-Datenbank
enable_project_apis 💻 Aktiviert die von FireCMS benötigten Google-Cloud-APIs
enable_firestore 💻 Legt die Standard-Firestore-Datenbank an (der Standort ist dauerhaft)
apply_firestore_security_rules 🔒 Fügt die FireCMS-Zugriffsregel zu Firestore und Storage hinzu (idempotent)
create_firecms_webapp 🔒 Wiederholt die Erstellung der Web-App, falls sie beim Verbinden fehlschlug
Tool Beschreibung
list_projects Listet deine FireCMS-Cloud-Projekte
get_project_config 🔒 Liest die vollständige Projektkonfiguration (Name, Farben, Tarif, Funktionen)
update_project_name 🔒 Benennt ein Projekt um
update_project_colors 🔒 Aktualisiert Primär- und Sekundärfarbe der Marke
update_default_locale 🔒 Ändert die Standardsprache
toggle_text_search 🔒 Aktiviert oder deaktiviert die lokale Textsuche
toggle_entity_history 🔒 Aktiviert oder deaktiviert den Entitätsverlauf
Tool Beschreibung
list_users 🔒 Listet Projektbenutzer und ihre Rollen
add_user 🔒 Lädt einen Benutzer ein
update_user_roles 🔒 Ändert die Rollen eines Benutzers
remove_user 🔒 Entfernt einen Benutzer
Tool Beschreibung
list_collection_schemas 🔒 Listet alle gespeicherten Kollektions-Schemata
get_collection_schema 🔒 Liest das vollständige Schema einer Kollektion
save_collection_schema 🔒 Erstellt oder ersetzt ein Kollektions-Schema
update_collection_schema 🔒 Aktualisiert ein Kollektions-Schema teilweise
delete_collection_schema 🔒 Löscht ein Kollektions-Schema (die Daten bleiben unberührt)
save_property 🔒 Fügt eine einzelne Property hinzu oder aktualisiert sie
delete_property 🔒 Entfernt eine Property aus einem Kollektions-Schema
generate_collection Erzeugt per KI ein Kollektions-Schema aus einem Prompt
modify_collection Ändert per KI ein bestehendes Schema anhand eines Prompts
Tool Beschreibung
list_documents Fragt Dokumente ab (Filter, Sortierung, Paginierung)
get_document Liest ein Dokument über seinen Pfad
create_document Legt ein neues Dokument an
update_document Aktualisiert ein Dokument teilweise
delete_document Löscht ein Dokument
count_documents Zählt die Dokumente einer Kollektion
export_collection Exportiert Kollektionsdaten als JSON
import_documents 🔒 Importiert Dokumente im Bulk (max. 500 pro Aufruf)

Clients mit Unterstützung für MCP-Ressourcen können diese auch direkt lesen:

URI Beschreibung
firecms://projects/{id}/collections Firestore-Kollektionen auf oberster Ebene
firecms://projects/{id}/users Projektbenutzer und Rollen
firecms://projects/{id}/schemas Alle Kollektions-Schemata (vollständiger Konfigurationsbaum)
firecms://projects/{id}/config Momentaufnahme der Projektkonfiguration

Derselbe Server wird als @firecms/mcp-server veröffentlicht und kann über stdio auf deinem Rechner laufen. Er benötigt Node.js 18 oder neuer. Lokal meldet er sich mit deinem Google-Konto an statt über FireCMS Cloud — genau deshalb kann er auch APIs aktivieren, Firestore-Datenbanken anlegen und Projekte von Anfang bis Ende verbinden.

In Claude Code:

claude mcp add firecms -- npx -y @firecms/mcp-server

Für Claude Desktop, Cursor oder jeden anderen MCP-Client fügst du das hier in die MCP-Konfigurationsdatei des Clients ein (claude_desktop_config.json bei Claude Desktop):

{
"mcpServers": {
"firecms": {
"command": "npx",
"args": ["-y", "@firecms/mcp-server"]
}
}
}

Starte dann deinen Client neu und bitte den Agenten, das Tool firecms_login auszuführen. Es öffnet einen Browser für die Google-Anmeldung und legt die Zugangsdaten in ~/.firecms/tokens.json ab — dieselbe Datei, die auch die FireCMS CLI verwendet. Das ist nur einmal nötig. Mit firecms_logout meldest du dich ab.

Mit dem lokalen Server erledigt der Agent das Verbinden eines Projekts komplett selbst:

  1. list_firebase_projects — zeigt, welche Projekte du verbinden kannst und was ihnen noch fehlt
  2. get_project_setup_status — ein Projekt im Detail prüfen (optional)
  3. enable_project_apis — nur wenn apisEnabled false ist
  4. enable_firestore — nur wenn firestoreEnabled false ist (der Standort ist dauerhaft)
  5. connect_project_to_firecms — Dienstkonto, Admin-Benutzer und die Sicherheitsregeln
  6. setup_all_collections — leitet jede Root-Kollektion aus den vorhandenen Daten ab
  • Authentifizierung: Der gehostete Server nutzt OAuth. Du bestätigst jeden Client in FireCMS Cloud, und er erhält ein Token nur für dein Konto. Der lokale Server nutzt Google OAuth in deinem Browser — derselbe Ablauf wie firecms login in der CLI.
  • Die Autorisierung wird pro Projekt geprüft: Jeder Schreibvorgang erzwingt die Rolle admin.
  • Der gehostete Server besitzt keine Google-Cloud-Zugangsdaten. Er kann tun, was du in FireCMS Cloud tun kannst, aber nie das, was du in Google Cloud tun kannst.
  • Tokens: Der gehostete Server speichert seine Tokens nur als Hashes; Access-Tokens sind eine Stunde gültig, und Refresh-Tokens werden bei jeder Verwendung ersetzt. Der lokale Server legt seine Tokens in ~/.firecms/tokens.json ab, gemeinsam mit der CLI.
  • Zugangsdaten erreichen das Modell nie: list_projects entfernt das Dienstkonto jedes Projekts aus seiner Ausgabe.

Der Client kann sich nicht verbinden oder fragt immer wieder nach einer Anmeldung. Entferne den Connector, füge ihn mit https://api.firecms.co/mcp erneut hinzu und bestätige dann die Anfrage im Browserfenster, das sich öffnet.

Die Tools erscheinen nach dem Bearbeiten einer Konfigurationsdatei nicht. MCP-Clients lesen ihre Konfiguration beim Start — starte den Client vollständig neu.

Ein Schreibvorgang scheitert an fehlenden Berechtigungen. Das Konto, mit dem du angemeldet bist, braucht die Rolle admin in diesem Projekt. Prüfe das im Bereich Benutzer des Projekts in FireCMS Cloud oder bitte eine Administratorin oder einen Administrator darum.

Nach dem Verbinden eines Projekts erscheinen keine Kollektionen. Stelle sicher, dass Firebase Authentication aktiviert ist und die Sicherheitsregeln angewendet wurden (apply_firestore_security_rules), und führe dann setup_all_collections aus.

Der lokale Server meldet, du seist nicht angemeldet. Führe das Tool firecms_login aus. Öffnet sich kein Browserfenster, führe npx @firecms/mcp-server --help im Terminal aus, um zu prüfen, ob das Paket installiert wird und startet.