Skip to main content
Glama

ItchWPMCP

Lokaler MCP-Server für Codex/Claude zum Abfragen und Bearbeiten von WordPress-Inhalten über die WordPress REST API.

Er kann mit jeder WordPress-Website verwendet werden, bei der die REST API aktiviert ist und die Authentifizierung über Anwendungspasswörter unterstützt wird.

Einrichtung

  1. Erstellen Sie ein WordPress-Anwendungspasswort: WordPress Admin -> Benutzer -> Profil -> Anwendungspasswörter

  2. Kopieren Sie .env.example nach .env und füllen Sie die Daten aus:

    WP_BASE_URL=https://your-wordpress-site.example
    WP_USERNAME=your-wordpress-username
    WP_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
    WP_ALLOW_PRODUCTION_WRITES=false
  3. Installieren Sie die Abhängigkeiten:

    npm install
  4. Starten Sie den Server:

    $env:NODE_OPTIONS='--use-system-ca'
    npm start

    NODE_OPTIONS=--use-system-ca kann unter Windows hilfreich sein, wenn Node den System-Zertifikatsspeicher benötigt.

Related MCP server: mcp-wordpress

Tools

  • wordpress_list_pages: WordPress-Seiten auflisten.

  • wordpress_get_page: Eine Seite anhand der ID abrufen.

  • wordpress_create_page: Eine Seite erstellen, standardmäßig als Entwurf.

  • wordpress_clone_page: Eine bestehende Seite in eine neue Entwurfsseite klonen.

  • wordpress_update_page: Titel, Inhalt, Auszug, Slug, Status, Elternseite oder Menüreihenfolge aktualisieren.

  • wordpress_update_page_status: Nur den Status einer Seite aktualisieren.

  • wordpress_delete_page: Eine Seite mit Bestätigung in den Papierkorb verschieben oder löschen.

  • wordpress_list_posts: WordPress-Beiträge auflisten.

  • wordpress_get_post: Einen Beitrag anhand der ID abrufen.

  • wordpress_create_post: Einen Beitrag erstellen, standardmäßig als Entwurf.

  • wordpress_update_post: Einen Beitrag aktualisieren.

  • wordpress_delete_post: Einen Beitrag mit Bestätigung in den Papierkorb verschieben oder löschen.

  • wordpress_list_media: Elemente der Mediathek auflisten.

  • wordpress_upload_media: Eine lokale Datei in die Mediathek hochladen.

  • wordpress_list_categories: Beitrags-Kategorien auflisten.

  • wordpress_create_category: Eine Beitrags-Kategorie erstellen.

  • wordpress_list_tags: Beitrags-Schlagwörter auflisten.

  • wordpress_create_tag: Ein Beitrags-Schlagwort erstellen.

  • wordpress_list_plugins: Plugins auflisten, sofern der authentifizierte Benutzer die Berechtigung hat.

  • wordpress_update_plugin_status: Ein installiertes Plugin aktivieren oder deaktivieren.

  • wordpress_get_settings: Allgemeine Website-Einstellungen lesen.

  • wordpress_update_settings: Ausgewählte allgemeine Website-Einstellungen aktualisieren.

  • wordpress_list_users: Benutzer auflisten, sofern der authentifizierte Benutzer die Berechtigung hat.

  • wordpress_list_menus: Menüs auflisten, falls der REST-Endpunkt verfügbar ist.

  • wordpress_list_menu_items: Menüelemente auflisten, falls der REST-Endpunkt verfügbar ist.

  • wordpress_rest_request: Erweiterte REST-API-Schnittstelle für manuelle Anfragen.

Schreib-Tools sind auf Staging-URLs aktiviert. Wenn WP_BASE_URL auf eine Produktionsumgebung geändert wird, werden Schreibvorgänge blockiert, es sei denn, WP_ALLOW_PRODUCTION_WRITES=true ist in der .env gesetzt.

Eine andere WordPress-Website verwenden

Erstellen Sie ein Anwendungspasswort im Admin-Bereich der jeweiligen WordPress-Website und aktualisieren Sie dann die .env:

WP_BASE_URL=https://another-wordpress-site.example
WP_USERNAME=your-wordpress-username
WP_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
WP_ALLOW_PRODUCTION_WRITES=false

Lassen Sie WP_ALLOW_PRODUCTION_WRITES=false, bis Sie absichtlich Schreib-Tools auf einer Produktions-URL aktivieren möchten.

Für eine andere Person bereitstellen

  1. Kopieren Sie diesen ItchWPMCP-Ordner auf deren Rechner oder veröffentlichen Sie ihn als privates/öffentliches Repository.

  2. Führen Sie npm install im Ordner aus.

  3. Erstellen Sie eine .env-Datei aus .env.example.

  4. Erstellen Sie im WordPress-Admin-Bereich der Person ein Anwendungspasswort: Benutzer -> Profil -> Anwendungspasswörter

  5. Tragen Sie die Website-URL, den Benutzernamen und das Anwendungspasswort in die .env ein.

  6. Registrieren Sie den MCP-Server im MCP-Client der Person.

Committen Sie keine .env-Dateien. Anwendungspasswörter sollten lokal für jeden Benutzer/jede Website bleiben.

Codex-Konfiguration

Fügen Sie dies zu ~/.codex/config.toml hinzu:

[mcp_servers.itch_wp_mcp]
command = "node"
args = ["C:\\path\\to\\ItchWPMCP\\src\\server.js"]
enabled = true
startup_timeout_sec = 20
tool_timeout_sec = 60

[mcp_servers.itch_wp_mcp.env]
WP_BASE_URL = "https://your-wordpress-site.example"
WP_USERNAME = "your-wordpress-username"
WP_APP_PASSWORD = "xxxx xxxx xxxx xxxx xxxx xxxx"
WP_ALLOW_PRODUCTION_WRITES = "false"
NODE_OPTIONS = "--use-system-ca"

Unter Windows kann die Verwendung des vollständigen Node-Pfads zuverlässiger sein:

command = "C:\\Program Files\\nodejs\\node.exe"

Claude Desktop-Konfiguration

Fügen Sie dies unter mcpServers in die claude_desktop_config.json von Claude Desktop ein:

{
  "mcpServers": {
    "itch_wp_mcp": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": [
        "C:\\path\\to\\ItchWPMCP\\src\\server.js"
      ],
      "env": {
        "WP_BASE_URL": "https://your-wordpress-site.example",
        "WP_USERNAME": "your-wordpress-username",
        "WP_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
        "WP_ALLOW_PRODUCTION_WRITES": "false",
        "NODE_OPTIONS": "--use-system-ca"
      }
    }
  }
}

Unter Windows befindet sich die Claude Desktop-Konfiguration normalerweise hier:

%APPDATA%\Claude\claude_desktop_config.json

Starten Sie Claude Desktop nach dem Ändern der Konfiguration neu.

Multi-Site-Einrichtung

Sie benötigen keine separate Kopie von ItchWPMCP für jede WordPress-Website. Behalten Sie eine Codebasis bei und registrieren Sie mehrere MCP-Server, jeweils mit unterschiedlichen Umgebungsvariablen.

Codex Multi-Site-Beispiel

[mcp_servers.wp_erm_staging]
command = "C:\\Program Files\\nodejs\\node.exe"
args = ["C:\\Users\\hesha\\Documents\\GitHub\\ItchWPMCP\\src\\server.js"]
enabled = true
startup_timeout_sec = 20
tool_timeout_sec = 60

[mcp_servers.wp_erm_staging.env]
WP_BASE_URL = "https://staging.erm.buzzinn.co"
WP_USERNAME = "erm-admin"
WP_APP_PASSWORD = "xxxx xxxx xxxx xxxx xxxx xxxx"
WP_ALLOW_PRODUCTION_WRITES = "false"
NODE_OPTIONS = "--use-system-ca"

[mcp_servers.wp_client_site]
command = "C:\\Program Files\\nodejs\\node.exe"
args = ["C:\\Users\\hesha\\Documents\\GitHub\\ItchWPMCP\\src\\server.js"]
enabled = true
startup_timeout_sec = 20
tool_timeout_sec = 60

[mcp_servers.wp_client_site.env]
WP_BASE_URL = "https://client-site.example"
WP_USERNAME = "client-admin"
WP_APP_PASSWORD = "xxxx xxxx xxxx xxxx xxxx xxxx"
WP_ALLOW_PRODUCTION_WRITES = "false"
NODE_OPTIONS = "--use-system-ca"

Claude Multi-Site-Beispiel

{
  "mcpServers": {
    "wp_erm_staging": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": ["C:\\Users\\hesha\\Documents\\GitHub\\ItchWPMCP\\src\\server.js"],
      "env": {
        "WP_BASE_URL": "https://staging.erm.buzzinn.co",
        "WP_USERNAME": "erm-admin",
        "WP_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
        "WP_ALLOW_PRODUCTION_WRITES": "false",
        "NODE_OPTIONS": "--use-system-ca"
      }
    },
    "wp_client_site": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": ["C:\\Users\\hesha\\Documents\\GitHub\\ItchWPMCP\\src\\server.js"],
      "env": {
        "WP_BASE_URL": "https://client-site.example",
        "WP_USERNAME": "client-admin",
        "WP_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
        "WP_ALLOW_PRODUCTION_WRITES": "false",
        "NODE_OPTIONS": "--use-system-ca"
      }
    }
  }
}

Die .env-Datei dient nun nur noch als lokaler Fallback. Umgebungsvariablen für den jeweiligen MCP-Server haben Vorrang, wenn sie von Codex oder Claude bereitgestellt werden.

Sicherheitsmodell

  • Neue Seiten/Beiträge werden standardmäßig als draft (Entwurf) erstellt.

  • Destruktive Tools erfordern confirmDelete=true.

  • Schreibvorgänge außerhalb von Staging-Umgebungen werden blockiert, sofern nicht WP_ALLOW_PRODUCTION_WRITES=true gesetzt ist.

  • wordpress_rest_request erlaubt nur Pfade unterhalb von /wp-json/.

Install Server
F
license - not found
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/manofsadness/ItchWPMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server