Skip to main content
Glama

wp-mcp

wp-mcp

MCP-Server, der Claude Code in einen vollwertigen WordPress-Operator verwandelt – Inhalte, Medien, Plugins, Themes und direkte Theme-Datei-Bearbeitung – auf jeder Website, einschließlich Shared Hosting ohne SSH/WP-CLI.

So funktioniert es

Zwei Hälften:

  • bridge/wp-mcp-connector.zip – ein kleines WordPress-Plugin, das du einmal pro Website hochlädst. Es stellt die tokenbasierte Verbindung, Datei-Endpunkte (auf wp-content beschränkt), einen Plugin-/Theme-Installer und ein eigenständiges rescue.php bereit, das ein Backup sogar dann wiederherstellen kann, wenn eine fehlerhafte PHP-Bearbeitung die Website lahmgelegt hat.

  • server.mjs – der MCP-Server, der in Claude Code registriert ist. Er kommuniziert mit dem Plugin sowie mit der zentralen REST-API von WordPress.

Verbindungslebenszyklus (das gesamte Sicherheitsmodell)

  1. Lade wp-mcp-connector.zip auf der Website hoch (Plugins → Neu hinzufügen → Hochladen) und aktiviere es.

  2. wp-admin → Einstellungen → WP MCP → Token generieren (Ablauf wählen: 1h / 8h / 24h / 7d). Das Token wird einmalig angezeigt. Ein neues Token ersetzt jedes vorherige.

  3. Sage Claude: connect to https://example.com with token wpmcp_xxx, call it "clientx".

  4. Arbeiten: Theme-Dateien bearbeiten, Plugins installieren, Beiträge schreiben, was auch immer.

  5. Sage disconnect from clientx – das Token wird auf der Website widerrufen und lokal vergessen.

  6. Nächste Sitzung: ein frisches Token generieren, neu verbinden.

Es existieren keine dauerhaften Zugangsdaten irgendwo. sites.json (gitignored, chmod 600) enthält nur die aktuell verbundenen Websites.

Related MCP server: AutoWP MCP Server

Einrichtung (einmalig, auf diesem Mac)

cd ~/mcp/wp-mcp && npm install
claude mcp add --scope user wordpress -- node ~/mcp/wp-mcp/server.mjs

Tools

tool

Funktion

wp_connect / wp_disconnect / wp_sites

Verbindungslebenszyklus

wp_content_list/get/create/update/delete

Beiträge, Seiten, beliebige benutzerdefinierte Beitragstypen

wp_media_upload

lokale Datei → Medienbibliothek

wp_plugins

auflisten / installieren (wp.org-Slug oder ZIP-URL) / aktivieren / deaktivieren / aktualisieren / löschen

wp_themes

auflisten / installieren / aktivieren / löschen

wp_file_list/read/write/delete

direkte Dateien unter wp-content (Themes, Plugins, Uploads)

wp_file_restore

eine Dateischreibung aus ihrem automatischen .wpmcp-bak-Backup rückgängig machen – fällt auf rescue.php zurück, wenn die Website fatal beschädigt ist

wp_cache_purge

bekannte Seiten-Caches leeren (Jetpack Boost, WP Super Cache / W3TC, LiteSpeed) nach Änderungen

wp_api

roher REST-Notausstieg (/wp/v2/settings, /wc/v3/orders, Menüs, Benutzer…)

Sicherheitshinweise

  • Jeder wp_file_write über eine bestehende Datei speichert zunächst <file>.wpmcp-bak. Wenn eine Bearbeitung von functions.php die Website weiß machen sollte, funktioniert wp_file_restore trotzdem: rescue.php läuft, ohne WordPress überhaupt zu laden.

  • Der Dateizugriff ist auf wp-content beschränkt. Um das gesamte WP-Verzeichnis zu erlauben (z. B. wp-config.php-Bearbeitungen), füge define('WPMCP_ALLOW_FULL', true); zur wp-config.php hinzu.

  • Verwende ausschließlich HTTPS-Websites – das Token wird in einem Header übertragen.

  • Manche Shared-Hosts entfernen den Authorization-Header; der Server sendet außerdem X-WPMCP-Token, das in allen getesteten Umgebungen erhalten bleibt.

  • Bei Multisite benötigen Plugin-/Theme-Installationen ein Token eines Super-Admins.

  • HTML, das an wp_content_create/wp_content_update übergeben wird, wird standardmäßig in einen Raw-HTML-Block verpackt, sodass der Autop-Filter von WordPress strukturiertes Markup nicht umformatieren kann (übergib autop_safe: false, um das zu deaktivieren).

  • Alle Anfragen senden einen browserähnlichen User-Agent – einige Shared-Host-WAFs lehnen Nicht-Browser-Agents mit einem undurchsichtigen 403 ab.

Related MCP Connectors

Related MCP Servers