Zurück zum Blog

Wie man mehrere Drupal-Websites mit einem einzigen MCP-Server verwaltet

2025-10-258 min read

Das Problem beim Kontextwechsel

Ich arbeite an einigen Drupal-Seiten. Jedes Mal, wenn ich zwischen ihnen wechsle, entsteht dieser mentale Mehraufwand: Welche Module hat diese Seite? Welche Felder hat der Inhaltstyp „Artikel“? Ich muss einige Daten aus der Datenbank abrufen, um sie anzuzeigen. Soll ich eine neue View erstellen oder existiert bereits eine?

Selbst mit KI-Assistenten wie Claude Code, Cursor oder Windsurf erforderte das Einholen von Antworten, dass sie nacheinander mehrere drush-Befehle ausführten und Fragmente von Informationen zusammensetzten. Deshalb habe ich Drupal Scout entwickelt, einen MCP-Server, der KI-Assistenten sofortiges, umfassendes Wissen über Ihre Drupal-Seite vermittelt. Es ist Open Source auf GitHub. Scout ist schreibgeschützt. Es analysiert Ihre Seite, verändert aber niemals Ihre Datenbank oder Dateien.

Ohne Scout führt Ihre KI Befehle wie diese aus:

KI: Führe drush field:list node article aus...
KI: Führe drush config:get field.field.node.article.field_image aus...
KI: Führe drush config:get field.field.node.article.field_category aus...
# ...und so weiter, mit Wartezeit zwischen jedem Befehl

Mit Scout fragen Sie einfach: „Welche Felder hat der Inhaltstyp Artikel?“

Ein Aufruf. Sofortige Antwort. Alles querreferenziert. Dies spart 70–90 % der Tokens im Vergleich zur sequenziellen Ausführung von Befehlen, und Ihre KI antwortet sofort, anstatt auf mehrere drush-Operationen zu warten.

Der Multi-Projekt-Trick

Hier ist, was ich gelernt habe: Sie können denselben MCP-Server für alle Ihre Projekte verwenden. Jedes Projekt erhält automatisch seinen eigenen Kontext.

Als ich das herausfand, änderte sich alles. Kein Wechseln von Konfigurationen mehr. Kein Rätselraten mehr, welche Seite ich gerade betrachte. Die KI weiß es einfach.

So funktioniert es

Drupal Scout sucht nach einer Datei namens config.json im Verzeichnis Ihres Projekts. Wenn Sie sich in Projekt A befinden, liest es die Konfiguration von A. Wechseln Sie zu Projekt B? Es liest die Konfiguration von B. Einfach.

Der MCP-Server selbst befindet sich an einem Ort (ich bewahre meinen unter ~/.local/drupal-scout-mcp auf), aber jedes Projekt teilt ihm mit, welche Drupal-Installation indiziert werden soll.

Einrichtung

Installieren Sie Drupal Scout einmalig:

git clone https://github.com/davo20019/drupal-scout-mcp.git ~/.local/drupal-scout-mcp
cd ~/.local/drupal-scout-mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Fügen Sie dann in jedem Drupal-Projekt zwei Dateien in das Stammverzeichnis ein:

config.json (sagt Scout, wo sich Ihr Drupal befindet):

{
"drupal_root": "/pfad/zu/ihrem/drupal",
"modules_path": "web/modules"
}

.claude.json (verbindet den MCP-Server):

claude mcp add --transport stdio drupal-scout -- \
~/.local/drupal-scout-mcp/venv/bin/python \
~/.local/drupal-scout-mcp/server.py

Das war's. Wenn Sie in dieses Projekt wechseln und mit der Codierung beginnen, indiziert Scout diese Module. Projekte wechseln? Es indiziert die neuen.

Was kann Drupal Scout tun?

Jetzt, da Sie es eingerichtet haben, was können Sie damit tatsächlich anfangen? Lassen Sie mich Ihnen einige echte Beispiele zeigen.

Analyse von Feldern und Inhaltstypen

Sie: „Ich muss dem Inhaltstyp Mitarbeiter ein Telefonnummernfeld hinzufügen“
KI: Lassen Sie mich prüfen, ob bereits ein Telefonfeld existiert...
KI: Verwende drupal-scout get_field_info(field_name="phone")

Ergebnis: 2 Telefonfelder gefunden:
• Telefonnummer (field_phone_number) Typ: telephone, Wird verwendet in: contact, vendor
• Mobiltelefon (field_mobile_phone) Typ: telephone, Wird verwendet in: employee

KI: „Sie können field_phone_number im Inhaltstyp Mitarbeiter wiederverwenden!“

Dies hat Sie davon abgehalten, ein Duplikatfeld mit einem anderen Namen zu erstellen. Eine Abfrage zeigte Ihnen alle telefonbezogenen Felder und wo sie verwendet werden.

Finden von Views und Anzeigen

Sie: „Haben wir Views, die Benutzerdaten anzeigen?“
KI: Verwende drupal-scout get_views_summary(entity_type="users")

Ergebnis: 2 Views gefunden:
• Benutzerliste (user_list) Anzeigen: page, block
• Mitarbeiterverzeichnis (staff_directory) Anzeigen: page, block

KI: „Ja! Die View Mitarbeiterverzeichnis existiert bereits mit Filtern für Abteilung und Rolle.“

Anstatt eine neue View zu erstellen, haben Sie eine bestehende entdeckt, die das tut, was Sie brauchen.

Bereinigen von Taxonomiebegriffen

Sie: „Kann ich den Begriff ‚Alte Kategorie‘ sicher löschen?“
KI: Verwende drupal-scout get_taxonomy_info(term_name="Old Category")

Ergebnis: Begriff: Alte Kategorie (tid: 75)
Verwendung: 0 Inhaltselemente, 0 Views
Unterbegriffe: Keine

SICHER ZU LÖSCHEN – Dieser Begriff wird nirgends verwendet.

KI: „Ja, es ist sicher zu löschen. Der Begriff wird in keinem Inhalt oder keiner View verwendet.“

Versuchen Sie nun, nach einem Begriff zu fragen, der verwendet wird:

Sie: „Was ist mit dem Begriff ‚Technologie‘?“
KI: Verwende drupal-scout get_taxonomy_info(term_name="Technology")

Ergebnis: Begriff: Technologie (tid: 42)
Verwendung: 87 Inhaltselemente
Unterbegriffe: KI/ML, Webentwicklung
Beispielinhalte:
• Wie KI die Entwicklung verändert (nid: 123)
• Tech-Trends 2024 (nid: 156)
... und 84 weitere

WARNUNG: Hat Unterbegriffe (2 Unterbegriffe werden verwaist)
HINWEIS: Wird in 87 Inhaltsteilen verwendet

KI: „Dieser Begriff wird stark verwendet. Das Löschen würde 87 Artikel betreffen und 2 Unterbegriffe verwaisten. Ziehen Sie stattdessen eine Zusammenführung in Betracht.“

Diese Analyse hätte Dutzende von drush-Befehlen und Datenbankabfragen erfordert. Drupal Scout hat es in einem einzigen Aufruf erledigt.

Debugging mit Watchdog-Protokollen

Sie: „Die Seite zeigt Fehler an, können Sie prüfen, was falsch läuft?“
KI: Verwende drupal-scout get_watchdog_logs()

Ergebnis: 12 PHP-Fehler gefunden:
[2024-01-15 14:32:21] Undefinierter Array-Schlüssel 'field_category'
Speicherort: /modules/custom/custom_module/custom_module.module:45

[2024-01-15 14:30:15] Aufruf einer nicht definierten Methode getCategory()
Speicherort: /modules/custom/custom_module/src/Service/CategoryService.php:78

KI: „Ich habe zwei verwandte Fehler in custom_module gefunden. Lassen Sie mich diese Dateien lesen und beheben ...“

Die KI kann sofort zu den Problemdateien springen und Korrekturen vorschlagen.

Empfehlungen für Module erhalten

Hier ist etwas, das ich sehr nützlich finde: Drupal Scout kann die Drupal.org-API durchsuchen und Module empfehlen, basierend darauf, was Sie tun möchten.

Sie: „Ich brauche eine Möglichkeit, Workflow und Inhaltsmoderation zu verwalten“
KI: Verwende drupal-scout search_drupal_modules(keyword="workflow")

Ergebnis: Relevante Module gefunden:
• Workbench Moderation – Bietet einen redaktionellen Workflow für Inhalte
• Inhaltsmoderation – Kern-Workflow-Lösung für Drupal 8+
• Workflow – Flexibles Inhalts-Workflow-Management

KI: „Basierend auf Ihrer Drupal-Version und Ihren Anforderungen empfehle ich Inhaltsmoderation, da es für Drupal 8+ im Kern enthalten ist. Soll ich prüfen, ob es bereits aktiviert ist?“

Anstatt nach Modulen zu googeln oder herumzufragen, kann die KI Drupal.org durchsuchen, Optionen vergleichen und Empfehlungen basierend auf Ihrer spezifischen Einrichtung aussprechen.

Tipps, um das Beste aus Drupal Scout herauszuholen

1. Stellen Sie zuerst breite Fragen

Anstatt sich in die Implementierung zu vertiefen, bitten Sie Drupal Scout zu prüfen, was bereits existiert:

  • Anstatt: „Erstelle eine View, die aktuelle Artikel anzeigt“
  • Versuchen Sie: „Haben wir Views, die Artikel anzeigen?“

Möglicherweise stellen Sie fest, dass Sie bereits haben, was Sie brauchen.

2. Lassen Sie die KI die Werkzeuge verwenden

Sie müssen nicht angeben, welches MCP-Tool verwendet werden soll. Stellen Sie einfach natürliche Fragen:

  • „Welche Felder hat der Inhaltstyp Artikel?“
  • „Kann ich dieses Modul sicher löschen?“
  • „Gibt es aktuelle Fehler in den Protokollen?“

Die KI weiß, welches Tool sie basierend auf Ihrer Frage aufrufen muss.

3. Kombinieren Sie Analyse mit Aktion

Drupal Scout bietet schreibgeschützte Analysen. Wenn Sie Änderungen vornehmen müssen, kann die KI diese Informationen nutzen, um Befehle sicher auszuführen:

Sie: „Unbenutzte Module bereinigen“
KI: Verwende drupal-scout find_unused_contrib()
Ergebnis: 3 installierte, aber ungenutzte Module gefunden: devel, kint, admin_toolbar_tools

KI: „Ich habe 3 ungenutzte Module gefunden. Soll ich sie deinstallieren?“
Sie: „Ja“
KI: Führe aus: drush pmu devel kint admin_toolbar_tools
KI: Führe aus: composer remove drupal/devel drupal/kint drupal/admin_toolbar_tools
KI: Verwende drupal-scout reindex_modules()

Die KI nutzt Drupal Scout zur Analyse und führt dann die notwendigen Befehle aus, um Änderungen vorzunehmen.

Wie funktioniert MCP eigentlich?

Sie fragen sich vielleicht: „Woher weiß die KI, wann sie Drupal Scout verwenden soll?“ Gute Frage! Wenn Sie dies verstehen, können Sie die Leistungsfähigkeit von MCP besser einschätzen.

Die Tool-Beschreibung ist das Handbuch der KI

Wenn Drupal Scout sich mit Ihrem KI-Assistenten verbindet, stellt es nicht nur Funktionen bereit – es stellt Dokumentation zu diesen Funktionen bereit. Jedes Werkzeug hat eine Beschreibung, die der KI mitteilt:

  • Was das Werkzeug tut
  • Wann es verwendet werden sollte
  • Welche Parameter es akzeptiert
  • Welche Art von Ergebnissen es zurückgibt

Zum Beispiel hat das Tool get_field_info eine Beschreibung wie:

Ruft umfassende Informationen über Drupal-Felder ab.

**VERWENDEN SIE DIESES WERKZEUG**, wenn es um Fragen zu Feldern, deren Verwendung,
Feldtypen und Datenstruktur geht.

Beispiele:
• „Welche Felder hat der Inhaltstyp Artikel?“
• „Wo wird field_image verwendet?“
• „Haben wir ein Telefonnummernfeld?“

Diese Beschreibung wird Teil des Wissens der KI. Wenn Sie fragen: „Welche Felder hat mein Inhaltstyp Artikel?“, erkennt die KI dieses Muster und ruft das entsprechende Werkzeug auf.

Der Konversationsfluss

Hier passiert tatsächlich, wenn Sie mit Drupal Scout interagieren:

  1. Sie fragen: „Welche Felder hat mein Inhaltstyp Artikel?“
  2. KI denkt: „Das ist eine Frage zu Feldern. Dafür habe ich get_field_info.“
  3. KI ruft Werkzeug auf: get_field_info(...)
  4. MCP-Server führt aus: Führt drush-Befehle aus, analysiert Konfigurationen, wertet die Nutzung aus
  5. MCP gibt Daten zurück: „Zusammenfassung der Felder (15 Felder gefunden) ...“
  6. KI formatiert Antwort: „Ich habe 15 Felder in Ihren Node-Entitätstypen gefunden ...“

Das Schöne daran ist, dass Sie die Schritte 2–5 nie sehen. Sie erhalten einfach die Antwort.

Warum dies besser ist als herkömmliches Prompting

Ohne MCP müssten Sie der KI genau sagen, was sie tun soll:

Sie: „Führe drush field-list aus, dann führe für jedes Feld drush config:get aus,
analysiere dann das YAML und sage mir, welche Telefonfelder sind“

Mit MCP fragen Sie einfach natürlich:

Sie: „Haben wir ein Telefonfeld?“

Die Tool-Beschreibungen haben der KI beigebracht, wie sie mit Drupal-spezifischen Fragen umgehen soll. Sie müssen kein drush-Experte sein – der MCP-Server ist es bereits.

Es ist deklarativ, nicht imperativ

Hier ist eine wichtige Erkenntnis: MCP-Toolbeschreibungen sind deklarativ (beschreiben, was existiert) und nicht imperativ (erzwingen spezifische Aktionen).

Das bedeutet:

  • Das MCP überschreibt Ihre Prompts nicht
  • Es teilt der KI mit, welche Fähigkeiten verfügbar sind
  • Die KI entscheidet immer noch, wann und wie sie diese einsetzt
  • Sie behalten die volle Kontrolle durch natürliche Konversation

Stellen Sie es sich so vor, als würden Sie der KI ein spezialisiertes Werkzeugset geben. Sie sagen ihr immer noch, was sie bauen soll, aber jetzt hat sie bessere Werkzeuge dafür.

Was Scout analysieren kann

Drupal Scout bietet eine tiefgehende Analyse Ihrer gesamten Drupal-Installation mit über 23 spezialisierten Werkzeugen:

Module & Abhängigkeiten (8 Werkzeuge):

  • Funktionalität über benutzerdefinierte und Contrib-Module hinweg suchen
  • Alle Module mit Fähigkeiten und Hook-Implementierungen auflisten
  • Detaillierte Modulinformationen abrufen (Services, Routen, Klassen, Hooks)
  • Abhängigkeiten analysieren (vorwärts, rückwärts, zirkulär)
  • Nicht verwendete Contrib-Module finden (mit Installationsstatus)
  • Redundanz prüfen, bevor neue Funktionen erstellt werden
  • Alle Implementierungen eines bestimmten Drupal-Hooks finden
  • Erneutes Indizieren erzwingen, wenn sich Module ändern

Entitäten, Felder & Inhalt (mehrere Werkzeuge):

  • Vollständige Entitätsstruktur mit Bundle-Informationen
  • Umfassende Feldanalyse mit Nutzungsverfolgung
  • Entitätsreferenzen, die zeigen, wo Inhalte verwendet werden
  • Anzeigekonfigurationen für View-Modi
  • Entitäten nach beliebigen Feldwerten durchsuchen
  • Entitätsinformationen nach ID oder Pfad abrufen

Views-Analyse (1 Werkzeug):

  • Alle Views mit Anzeigen auflisten (page, block, feed, etc.)
  • Anzeigepfade und Einstellungen
  • Filter, Sortierungen und Beziehungen
  • Angezeigte Felder
  • Nach Entitätstyp filtern

Taxonomie (2 Werkzeuge):

  • Alle Vokabulare mit Begriffszahlen und referenzierenden Feldern
  • Vollständige Begriffshierarchien (Eltern-/Kind-Beziehungen)
  • Detaillierte Nutzungsanalyse (Inhalt, Views, Felder)
  • Sicher-zu-löschen-Bewertung mit Warnungen
  • Massenanalyse ganzer Vokabulare (optimiert für große Datensätze)
  • Taxonomie-Daten nach CSV/Excel exportieren

Sicherheits-Scanning (11 Werkzeuge):

  • Erkennung von SQL-Injection-Schwachstellen
  • Überprüfungen auf Cross-Site Scripting (XSS)
  • Analyse des CSRF-Schutzes
  • Erkennung von Befehlsinjektionen
  • Schwachstellen bei Pfad-Traversal
  • Fest kodierte Geheimnisse und API-Schlüssel
  • Probleme bei der Zugriffskontrolle
  • Verwendung veralteter APIs
  • Anonyme Exploits (remote ausnutzbar)
  • Sicherheitsprüfung (umfassender Bericht)
  • Verifizierungshandbücher (wie man Ergebnisse manuell überprüft)

Code-Analyse (4 Werkzeuge):

  • Lesen von Moduldateien mit intelligentem Chunking für große Dateien
  • Auflisten von Dateien in Modulen mit Größeninformationen
  • Visualisierung des Modulverzeichnisbaums
  • Extrahieren spezifischer PHP-Funktionen aus Dateien

Drupal.org-Integration (5 Werkzeuge):

  • Module auf Drupal.org suchen
  • Beliebte Module nach Kategorie abrufen
  • Modul-Empfehlungen basierend auf Bedürfnissen
  • Detaillierte Modulinformationen mit Issue Queue
  • Modul-Issue-Queues nach Problemen durchsuchen

Systemzustand & Überwachung (5 Werkzeuge):

  • Watchdog-Protokolle mit Fehlermustern und Diagnosen
  • Überprüfung der Datenbankverbindung
  • Verfügbare Updates für Core und Contrib
  • Vollständiger Statusbericht (entspricht /admin/reports/status)
  • Status der Konfigurationssynchronisation

Alle 23+ Werkzeuge arbeiten nahtlos zusammen. Der KI-Assistent weiß automatisch, welches Werkzeug er basierend auf Ihrer Frage verwenden soll.

Ressourcen

Bleiben Sie auf dem Laufenden

Erhalten Sie die neuesten Beiträge und Einblicke in Ihren Posteingang.

Unsubscribe anytime. No spam, ever.