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/mcpFü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.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- 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
adminim Projekt.
Den FireCMS MCP-Server hinzufügen
Abschnitt betitelt „Den FireCMS MCP-Server hinzufügen“Ö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/mcpFü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/mcpFü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" } }}Anmelden
Abschnitt betitelt „Anmelden“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.
Ausprobieren
Abschnitt betitelt „Ausprobieren“Bitte den Agenten um so etwas:
List my FireCMS projectsList the collections in my FireCMS project <deine-project-id>Add a "featured" boolean property to the products collection, shown after the titleEin bestehendes Firebase-Projekt einbinden
Abschnitt betitelt „Ein bestehendes Firebase-Projekt einbinden“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:
- Bitte den Agenten, dein Projekt zu verbinden.
connect_project_to_firecmsantwortet mit einem Link zu app.firecms.co/new. - Wähle dort das Projekt aus und folge den Schritten. Das dauert etwa eine Minute.
- Zurück in deinem Client leitet
setup_all_collectionsjede 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.
Kollektionen aus vorhandenen Daten aufbauen
Abschnitt betitelt „Kollektionen aus vorhandenen Daten aufbauen“| 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.
Verfügbare Tools
Abschnitt betitelt „Verfügbare Tools“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 |
Onboarding
Abschnitt betitelt „Onboarding“| 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 |
Projekte und Konfiguration
Abschnitt betitelt „Projekte und Konfiguration“| 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 |
Benutzer
Abschnitt betitelt „Benutzer“| 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 |
Kollektions-Schemata
Abschnitt betitelt „Kollektions-Schemata“| 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 |
Dokumente
Abschnitt betitelt „Dokumente“| 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) |
Ressourcen
Abschnitt betitelt „Ressourcen“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 |
Den Server lokal ausführen
Abschnitt betitelt „Den Server lokal ausführen“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-serverFü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:
list_firebase_projects— zeigt, welche Projekte du verbinden kannst und was ihnen noch fehltget_project_setup_status— ein Projekt im Detail prüfen (optional)enable_project_apis— nur wennapisEnabledfalse istenable_firestore— nur wennfirestoreEnabledfalse ist (der Standort ist dauerhaft)connect_project_to_firecms— Dienstkonto, Admin-Benutzer und die Sicherheitsregelnsetup_all_collections— leitet jede Root-Kollektion aus den vorhandenen Daten ab
Berechtigungen und Sicherheit
Abschnitt betitelt „Berechtigungen und Sicherheit“- 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 loginin 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.jsonab, gemeinsam mit der CLI. - Zugangsdaten erreichen das Modell nie:
list_projectsentfernt das Dienstkonto jedes Projekts aus seiner Ausgabe.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“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.
