Skip to main content
Glama
codeandblocks

Code & Blocks WordPress MCP

Code & Blocks WordPress MCP

Selbst gehosteter MCP-Server für WordPress. Claude verwaltet damit Inhalte, Medien, Plugins, Themes, Page-Builder-Seiten, SEO-Felder, Plugin-Daten, Theme-Dateien, PHP-Snippets und Updates deiner WordPress-Seiten. Keine Aufruf-Limits, keine Fremdanbieter dazwischen.

Autor: Code & Blocks by Marijan


Aufbau

Claude ──HTTPS──► MCP-Server (Coolify, Docker) ──REST API + Anwendungspasswort──► WordPress
                   ├─ /mcp     Endpunkt für Claude                               └─ Bridge-Plugin (cbmcp/v1)
                   └─ /admin   Verwaltungsoberfläche
  • MCP-Server (src/): Node.js/TypeScript. /mcp für Claude, /admin für dich.

  • Bridge-Plugin (wordpress-plugin/code-blocks-mcp-bridge/): Ein-Klick-Verbindung, Dateien, Meta-Felder, Datenbank, Cron, Vorschau-Links, Backups, Aktivitätsprotokoll, Live-Hinweise und Updates.

  • Skills (skills/): Arbeitsanleitungen für Claude (Elementor, andere Page-Builder, Block-Themes, SEO-Plugins, Plugin-Daten, WooCommerce, sicherer Ablauf). Eigene Skills legst du in der Oberfläche an.


Related MCP server: AutoWP MCP Server

Verwaltungsoberfläche (/admin)

Anmeldung mit dem ADMIN_PASSWORD.

Bereich

Was du dort machst

Übersicht

Connector-Adresse kopieren, Status aller Seiten, offene Freigaben, letzte Aktivität

Seiten

Seiten per Klick verbinden, umbenennen, Standardseite festlegen, trennen (widerruft das Anwendungspasswort)

Freigaben

Riskante Aktionen von Claude prüfen und freigeben oder ablehnen

Aktivität

Jede Änderung mit Zeit, Seite und Ergebnis

Updates

Plugin-, Theme- und WordPress-Updates aller Seiten auf einen Blick, per Klick installieren

Skills

Mitgelieferte Skills ansehen, eigene schreiben

Einstellungen

Nur-Lesen-Modus, welche Aktionen eine Freigabe brauchen, Pexels-/Unsplash-Keys, Token für Claude Code, Claude-Sitzungen abmelden

Zugangsdaten der Seiten und API-Keys liegen AES-256-GCM-verschlüsselt in /data/store.json. Der Schlüssel liegt in /data/secret.key (oder kommt aus SECRET_KEY).

Freigaben

Ist eine Aktion freigabepflichtig (z. B. Theme wechseln, Entwurfskopie live schalten, Plugins installieren, SQL schreiben), passiert Folgendes:

  1. Claude ruft das Tool auf. Der Server legt eine Freigabe an und meldet sie zusätzlich als Hinweis in wp-admin.

  2. Der Server wartet bis zu 40 Sekunden (APPROVAL_WAIT_SECONDS) auf deine Entscheidung unter Freigaben.

  3. Gibst du in dieser Zeit frei, läuft die Aktion sofort. Sonst bekommt Claude den Link und wiederholt den Aufruf, sobald du im Chat Bescheid gibst.

Jede Freigabe gilt genau einmal und nur für exakt diese Parameter.


WordPress-Plugin

Das Plugin code-blocks-mcp-bridge.zip unter Plugins → Installieren → Plugin hochladen installieren und aktivieren. Danach gibt es im Menü Code & Blocks MCP mit diesen Reitern:

  • Verbindung: Server-Adresse eintragen, „Mit MCP-Server verbinden“, Status (wann zuletzt benutzt, von welcher IP), Verbindung trennen

  • Sicherheit: Schalter für Dateien bearbeiten, PHP-Snippets, Datenbank schreiben, Notfallmodus, Live-Hinweise

  • Aktivität: Was Claude geändert hat, mit Links zum Ansehen und Bearbeiten

  • Snippets: Code ansehen, aktivieren, deaktivieren, löschen

  • Backups: Frühere Stände von Dateien und Meta-Feldern wiederherstellen

Live-Hinweise erscheinen für Administratoren unten rechts im Backend und in der Admin-Leiste („Claude“ mit Zähler).

Die Schalter lassen sich weiterhin per wp-config.php festnageln. Dann sind sie im Plugin gesperrt:

define( 'CBMCP_DISABLE_FILE_WRITE', true );
define( 'CBMCP_DISABLE_SNIPPETS', true );
define( 'CBMCP_SAFE_MODE', true );
define( 'CBMCP_ALLOW_DB_WRITE', true );

Installation

1. Code in ein Git-Repository

Coolify baut aus einem Git-Repository, z. B. einem öffentlichen GitHub-Repo. Der Code enthält keine Passwörter.

git init
git add .
git commit -m "Code & Blocks WordPress MCP"
git branch -M main
git remote add origin https://github.com/DEIN-NAME/cb-wp-mcp.git
git push -u origin main

2. In Coolify deployen

  1. + New → Application, Repository wählen, Build Pack: Dockerfile, Port 3000.

  2. Domain setzen, z. B. https://wp-mcp.deinedomain.de (DNS-A-Record auf den Server).

  3. Environment Variables:

    Variable

    Wert

    PUBLIC_URL

    https://wp-mcp.deinedomain.de

    ADMIN_PASSWORD

    langes Passwort (mind. 12 Zeichen) für /admin und die Anmeldung aus Claude

    Mehr braucht es nicht. Seiten, API-Keys und Tokens verwaltest du in der Oberfläche.

  4. Persistent Storage: Volume mit Mount-Pfad /data. Ohne Volume gehen Seiten und Anmeldungen bei jedem Deploy verloren.

  5. Healthcheck: Pfad /health, Host 127.0.0.1, Port 3000. Mit localhost schlägt der Check fehl, weil der Container dabei IPv6 versucht.

  6. Deploy, dann https://wp-mcp.deinedomain.de/health aufrufen.

3. Seite verbinden

Im WordPress-Plugin unter Code & Blocks MCP → Verbindung die Server-Adresse eintragen und Mit MCP-Server verbinden klicken. Alternativ in /admin unter Seiten die Adresse eingeben. In beiden Fällen bestätigst du die Freigabe in WordPress. Das Anwendungspasswort landet direkt verschlüsselt auf deinem Server.

4. Mit Claude verbinden

Claude (Web, Desktop, Mobil): In den Einstellungen unter Connectors einen eigenen Connector mit https://wp-mcp.deinedomain.de/mcp anlegen. Bei der Anmeldung das ADMIN_PASSWORD eingeben.

Claude Code: In /admin unter Einstellungen einen Token erzeugen, dann:

claude mcp add --transport http wordpress https://wp-mcp.deinedomain.de/mcp \
  --header "Authorization: Bearer DEIN_TOKEN"

Tools

Bereich

Tools

Seiten

list_sites, site_info, site_settings

Inhalte

list_content_types, list_content, get_content, create_content, update_content, delete_content

Taxonomien

list_terms, manage_term

Medien

list_media, upload_media, search_images (Pexels, Unsplash)

Plugins & Themes

list_plugins, manage_plugin, list_themes, manage_updates (alle Seiten)

Allgemein

rest_request, fetch_page, audit_page, list_abilities, run_ability

Skills

skill_list, skill_load, skill_save, skill_delete

Bridge: Dateien

file_list, file_read, file_write, file_edit, file_delete, file_search, file_restore

Bridge: Daten

manage_meta, db_schema, db_query, manage_option

Bridge: Entwürfe

duplicate_content, apply_copy, create_preview, copy_theme, create_child_theme, activate_theme

Bridge: Betrieb

manage_snippet, manage_cron, send_test_email, flush_cache

Neue Beiträge und Seiten entstehen standardmäßig als Entwurf.

Sicherer Ablauf für Live-Seiten

  1. duplicate_content legt eine Entwurfskopie mit allen Page-Builder-Daten an und liefert einen Vorschau-Link ohne Login.

  2. Claude ändert die Kopie und prüft sie mit audit_page.

  3. Du schaust dir die Vorschau an.

  4. apply_copy überträgt die Kopie aufs Original. Vorher entsteht ein Backup-Entwurf des Originals.


Weitere Umgebungsvariablen (optional)

Variable

Zweck

MCP_TOKEN

Fester Token zusätzlich zu dem aus der Oberfläche

SECRET_KEY

Eigener Schlüssel für die Verschlüsselung statt /data/secret.key

WP_URL, WP_USER, WP_APP_PASSWORD, WP_SITES

Seiten per Variable. Werden beim Start einmalig in die Oberfläche übernommen

PEXELS_API_KEY, UNSPLASH_ACCESS_KEY

Bild-Keys, falls nicht in der Oberfläche gesetzt

READ_ONLY

true erzwingt den Nur-Lesen-Modus

APPROVAL_WAIT_SECONDS

Wie lange ein Tool auf deine Freigabe wartet (Standard 40)

ALLOW_TOKEN_IN_URL

true erlaubt /mcp/<MCP_TOKEN> als Notlösung

MAX_UPLOAD_MB, MAX_OUTPUT_CHARS, ACCESS_TOKEN_TTL_HOURS, REFRESH_TOKEN_TTL_DAYS, TRUST_PROXY, ALLOW_PRIVATE_FETCH

Feineinstellungen


Stockbilder

Pexels: Konto anlegen, auf https://www.pexels.com/api/ einen Key anfordern. Kostenlos, 200 Anfragen pro Stunde, 20.000 pro Monat.

Unsplash: Auf https://unsplash.com/developers registrieren, unter „Your apps“ eine Application anlegen, den Access Key verwenden. Im Demo-Modus 50 Anfragen pro Stunde.

Beide Keys trägst du in /admin unter Einstellungen ein. search_images liefert fertige Bildunterschriften mit Nennung von Fotograf und Plattform. Bei Unsplash wird der vorgeschriebene Download-Zähler automatisch ausgelöst.


Sicherheit

  • Ohne ADMIN_PASSWORD oder MCP_TOKEN startet der Server nicht.

  • Anmeldeversuche sind begrenzt (10 pro 15 Minuten und IP).

  • Formulare der Oberfläche sind gegen CSRF geschützt, Sitzungen laufen nach 12 Stunden ab.

  • Tokens werden nur als SHA-256-Hash gespeichert, Seiten-Passwörter und API-Keys verschlüsselt.

  • Verbinden geht nur mit Bestätigung in WordPress. Rückleitungen sind nur auf die verbundene Seite erlaubt.

  • upload_media lädt nichts von internen Adressen. fetch_page und audit_page rufen nur verbundene Seiten ab.

  • Das Bridge-Plugin

    • lässt nur Administratoren zu,

    • beschränkt Dateien auf themes, plugins, mu-plugins und languages,

    • prüft PHP und JSON vor dem Speichern,

    • sichert Dateien und Meta-Felder vor jeder Änderung,

    • schaltet fehlerhafte Snippets automatisch ab,

    • erlaubt SQL standardmäßig nur lesend,

    • kann sich selbst nicht verändern.


Fehlerbehebung

401 „rest_not_logged_in“ Manche Apache-Hoster entfernen den Authorization-Header. In der .htaccess oberhalb von # BEGIN WordPress:

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

„Anwendungspasswörter sind deaktiviert“ beim Verbinden Ein Sicherheits-Plugin blockiert sie (z. B. Wordfence, Solid Security, 2FA-Plugins). Dort Anwendungspasswörter erlauben.

403 von Cloudflare oder einer Firewall Die IP des Servers freigeben oder den User-Agent CodeBlocks-WP-MCP erlauben.

Seite nach einem Snippet kaputt Fehlerhafte Snippets schalten sich beim nächsten Aufruf selbst ab. Sonst im Plugin den Notfallmodus aktivieren oder define( 'CBMCP_SAFE_MODE', true ); in die wp-config.php schreiben.

Theme-Vorschau bleibt im eigenen Browser hängen Die Vorschau setzt das Cookie cbmcp_preview bis zum Schließen des Browsers. Privates Fenster nutzen oder das Cookie löschen.

Updates schlagen fehl WordPress muss Dateien direkt schreiben können (FS_METHOD = direct). Die Updates-Seite zeigt, wenn das nicht der Fall ist.


Lokal entwickeln

npm install
npm run build
PUBLIC_URL=http://localhost:3000 ADMIN_PASSWORD=lokales-passwort DATA_DIR=./data npm start

© 2026 Code & Blocks by Marijan. MCP-Server: MIT-Lizenz. WordPress-Plugin: GPL-2.0-or-later.

Related MCP Connectors

Related MCP Servers