mcp_server durch mcp_tools ersetzen + Solcom-Eigen-Toolsdrupal/mcp_server (mcp/sdk ^0.5.0) hat einen unauflösbaren Composer-Konflikt mit anderen Abhängigkeiten. Ersatz durch drupal/mcp_tools 1.0.0-beta7 (mcp/sdk ^0.2.2), Transport via STDIO. Danach: 3 Solcom-Eigen-Tools (list_sdc_components, get_brand_tokens, find_component_usages) als Custom-Modul solcom_mcp_tools im Dev-Split. Source PRD: docs/brainstorms/…prd.html.
6 Phasen als Tracer-Bullets: jede Phase produziert einen lauffähigen Endzustand. Phase 1 ist Blocker für alle anderen.
Vertikaler Tracer-Bullet: pm:uninstall mcp_server, composer remove, composer require mcp_tools:^1.0@beta, pm:enable mcp_tools + mcp_tools_stdio, config:export. Beweist SDK-Versions-Konflikt-Resolution. Rollback-Pfad dokumentiert.
Aktivierung aller 28 ausgewählten mcp_tools_*-Submodule (analysis, batch, blocks, cache, config, content, …). Auth-Preset auf Development (read/write/admin). Auth-Konfig im dev-Split. Ziel: ≥ 195 Tools in tools/list.
Modul-Skeleton solcom_mcp_tools, Service SdcCatalogReader, Tool-Plugin mit #[Tool]-Attribut (id: list_sdc_components, operation: Read). Inputs: theme (default: byte_theme), include_metadata. Service-Unit-Test + Tool-Kernel-Test.
Service BrandTokenParser parst CSS-Custom-Properties aus theme.brand.css + theme.css. ADR-0003-Drift-Detection: Soll-Werte gegen geparste CSS-Werte halten, Drift im message-Feld melden. Input: category (colors|gradients|typography|all).
Service TwigReferenceFinder: rekursiver Grep über *.twig nach include/embed/use/extends. Namespace-Alias-Resolution (@byte_theme/components/…). Output: {file_path, line, match_type, match_text}. 0 Treffer = regulärer Erfolgsfall.
ADR-0011 (mcp_server → mcp_tools, Composer-Konflikt-Begründung, 28 Submodule, 3 Eigen-Tools). ADR-0010 erhält Status-Header mit Verweis auf ADR-0011. CLAUDE.md-Update: mcp_tools statt mcp_server referenzieren.
Durable Decisions, die über alle Phasen gelten — nicht verhandelbar ohne neues ADR.
mcp_tools_stdioweb/modules/custom/solcom_mcp_tools/src/Plugin/tool/Tool/ via Drupal\tool\Attribute\Toolsolcom_mcp_tools im Dev-Split (NICHT im Default-Sync wie drupal/tool)SdcCatalogReader — liest *.component.yml aus Theme-rootBrandTokenParser — parst CSS-Custom-Properties, DI-Konstruktor-Argumente für Quell-PfadeTwigReferenceFinder — Grep über *.twig, Namespace-Alias-tolerant{ success: bool, message: string, data: array }Kritischste Stellen: Tool-Plugin-Schema (Phase 3 als Vorlage für 4+5) und Phase-1-Migrationssequenz.
#[Tool( id: 'list_sdc_components', label: 'List SDC Components', operation: ToolOperation::Read, )] class ListSdcComponents extends SolcomToolBase { public function execute(array $values): array { $theme = $values['theme'] ?? 'byte_theme'; $meta = $values['include_metadata'] ?? true; return [ 'success' => true, 'message' => '', 'data' => $this->catalog ->getComponents($theme, $meta), ]; } }
# 1. Alten Server deinstallieren ddev drush pm:uninstall \ mcp_server_ui mcp_server_tool_bridge mcp_server # 2. Config exportieren (mcp_server* weg) ddev drush config:export --yes # 3. Package-Switch ddev composer remove drupal/mcp_server ddev composer require drupal/mcp_tools:^1.0@beta # 4. Neue Module aktivieren (Phase 1: nur Core) ddev drush pm:enable --yes mcp_tools mcp_tools_stdio # 5. Config exportieren (mcp_tools/* rein) ddev drush config:export --yes # Verify: mcp/sdk 0.2.x, kein 0.5.x mehr composer info mcp/sdk
git diff config/sync/core.extension.yml zeigt KEIN solcom_mcp_tools. drupal-config-architecture-reviewer prüft das bei jedem PR.mcp_tools.settings.yml per drush config:set oder über /admin/config/services/mcp-tools. Im PR dokumentieren welche Methode reproducible ist. Betrifft Phase 2.mcp_tools:serve. Muss in Phase 1 aus mcp_tools_stdio/drush.services.yml abgelesen werden. Drush-Befehl-Name wird in Phase-1-PR dokumentiert und in Onboarding-Doku (Phase 6) übernommen.