WordPress-Blöcke einzeln ändern
MCP-Server für WordPress · lesen und schreiben und löschen und senden · MIT
Löscht und versendetWas der Baustein im Konto darf
MCP-Server mit WordPress-Plugin von GravityKit, der Gutenberg-Inhalte als Blockbaum bereitstellt. Ein Assistent ändert einzelne Blöcke, ohne die ganze Seite neu zu schreiben.
Was der Server kann
- Liest die Blöcke eines Beitrags und durchsucht sie nach Text oder Blocktyp.
- Ändert einzelne Blöcke oder bis zu 50 Änderungen atomar in einer Revision.
- Fügt Blöcke ein, löscht sie oder tauscht Blockbereiche aus.
- Legt Beiträge und Seiten als Entwurf, veröffentlicht oder geplant an.
- Lädt Medien per lokalem Pfad, URL oder Base64 hoch.
- Liest und schreibt Yoast-SEO-Metadaten, wenn Yoast SEO aktiv ist.
- Legt bei jedem Schreibvorgang eine WordPress-Revision an und kann auf eine frühere Revision zurücksetzen.
Einsatz in Marketing und Vertrieb
- Content
- Du bittest darum, auf einer Landingpage die Überschrift H2 „Preise“ auf H3 zu stellen und einen Absatz zu ergänzen. Der Server ändert nur diese Blöcke, der Rest der Seite bleibt unberührt.
- SEO
- Du nennst mehrere Beiträge und neue Meta-Beschreibungen. Der Assistent schreibt sie über die Yoast-Werkzeuge in die Beiträge.
Einrichtung
- Das WordPress-Plugin aus der ZIP-Datei im Repository installieren und aktivieren.
- In WordPress unter Einstellungen, Block MCP, Connect den Client wählen.
- Für Cursor, Claude Code oder ChatGPT Desktop `npx -y @gravitykit/block-mcp connect --site https://example.com` ausführen und im Browser bestätigen; Claude Desktop nutzt eine erzeugte `.mcpb`-Datei.
- Alternativ von Hand eintragen, mit den Variablen `WORDPRESS_URL`, `WORDPRESS_USER` und `WORDPRESS_APP_PASSWORD`.
Grenzen
- Voraussetzungen sind Node.js 20 oder neuer, WordPress ab 6.0 und PHP ab 7.4.
- Veraltete Blöcke werden beim Einfügen abgelehnt, bei Änderungen bestehender Blöcke nicht.
- Pro Beitrag sind 10 Schreibvorgänge je Minute erlaubt.
- Widget-Bereiche werden nicht unterstützt; das Ändern von Block-Theme-Templates ist per Einstellung standardmäßig ausgeschaltet.
Einordnung der Redaktion
Aufgaben: Website & Conversion. Für Marketing und Vertrieb gedacht.
Beschreibung des Anbieters
MCP server for WordPress block-level content management with preference-aware editing
Eckdaten
- Maintainer
- GravityKit
- Repository-Lizenz
- MIT
- Dienstanbieter
- Offizielle Dienstherkunft nicht belegt
- Dienste
- WordPress
- Bereiche
- Content
- Plattformen
- —
- Version
- 2.2.1
- Release
- v2.2.1
- Clients
- Claude Code, Claude Desktop, ChatGPT, Cursor
Werkzeuge
get_page_blocksLiest die Blöcke eines Beitrags, auch als Gliederung oder mit Suche.
Get a post's blocks. Pass post_id OR url (server resolves URL — don't shell out). Returns `{post_id, summary, blocks[], block_count, warnings}`. Each block: `{index (flat), top_level_counter?…
Angabe des Anbieters · Beleg 5update_blockÄndert Attribute oder innerHTML eines einzelnen Blocks.
Update one block by flat_index OR by ref (stable gk_ref from get_page_blocks). Provide exactly one targeting field. Refs are recommended for chained mutations because they survive sibling shifts.…
Angabe des Anbieters · Beleg 9update_blocksWendet mehrere unabhängige Änderungen atomar in einer Revision an.
Update N independent blocks atomically in ONE revision. Each item targets one block by `ref` (recommended) or `flat_index`, with `attributes` and/or `innerHTML`.…
Angabe des Anbieters · Beleg 9insert_blocksFügt Blöcke an einer Position ein.
Insert top-level blocks into a post. POSITIONING — use exactly ONE anchor (any other key, e.g.…
Angabe des Anbieters · Beleg 9delete_blockEntfernt Blöcke.
Remove block(s) by top_level_counter OR by ref. Provide exactly one. For core/block, removes the reference only — not the source pattern.
Angabe des Anbieters · Beleg 9create_postLegt einen Beitrag oder eine Seite an.
Create a new post or page. Returns ID, slug, permalink, and edit link. Provide either `content` (raw HTML or block markup) OR `blocks` (structured), not both. Status defaults to draft.…
Angabe des Anbieters · Beleg 7update_postÄndert Metadaten, Status und Begriffe eines Beitrags.
Partial update of post metadata, status, or terms. Block content edits stay on the per-block tools. Use status: "trash" to trash; any non-trash status untrashes a trashed post.…
Angabe des Anbieters · Beleg 7upload_mediaLädt Mediendateien hoch.
Upload an item to the WordPress media library.…
Angabe des Anbieters · Beleg 6revert_to_revisionSetzt einen Beitrag auf eine frühere Revision zurück.
Restore a post to a revision. Pass `before_revision_id` from a prior write to UNDO that write; pass `revision_id` to REDO it.
Angabe des Anbieters · Beleg 9yoast_update_seoAktualisiert SEO-Felder eines Beitrags.
Update one or more Yoast SEO fields on a single post or page. Only supplied fields are written. `noindex` is tri-state (true / false / null).
Angabe des Anbieters · Beleg 10get_blockFetch one block by stable ref OR flat_index — returns the canonical `saved` snapshot (inner_html + attributes) from the database.…
Angabe des Anbieters · Beleg 5list_termsList terms in a taxonomy (default: category). Useful for discovering category and tag IDs to pass to create_post or update_post.
Angabe des Anbieters · Beleg 8replace_block_rangeAtomic single-revision swap of N top-level blocks for M new blocks (M can be 0, 1, or N). Safer than delete+insert (no half-written intermediate state).…
Angabe des Anbieters · Beleg 9rewrite_post_blocksReplace ALL blocks on a page in one revision. Use for major restructuring; prefer update_block / insert_blocks / replace_block_range for edits.
Angabe des Anbieters · Beleg 9yoast_get_seoRead all Yoast SEO metadata for a post or page (title, description, robots, Open Graph, Twitter card, schema types, cornerstone flag, breadcrumb, redirect, scores, primary terms).
Angabe des Anbieters · Beleg 10yoast_bulk_update_seoUpdate Yoast SEO fields on multiple posts in one call. Each item must include `post_id` plus any fields to update. Response preserves order.
Angabe des Anbieters · Beleg 10edit_block_treeRun one structural op on a nested block tree. Ops: update-attrs, update-html, replace-block, remove-block, wrap-in-group, unwrap-group, insert-child, duplicate, move.…
Angabe des Anbieters · Beleg 11create_patternExtract repeated sections into a reusable pattern, then reference it.…
Angabe des Anbieters · Beleg 12insert_patternInsert a pattern. Default synced=true inserts a core/block reference (edits to source update all pages); synced=false inlines blocks for per-page edits.…
Angabe des Anbieters · Beleg 12list_block_typesRegistered block types with per-block `preference` (tier + replacement), `storage_mode` ("static"|"dynamic"|"dual"), `usage` (count + post_count), `attributes` (incl.…
Angabe des Anbieters · Beleg 13list_patternsBlock patterns sorted by preference score. Check before building from scratch. Server respects `limit`; `offset` slices client-side.…
Angabe des Anbieters · Beleg 13get_patternSingle pattern's full block content + metadata. Use after list_patterns.
Angabe des Anbieters · Beleg 13list_binding_sourcesRegistered block bindings sources — what a block's `metadata.bindings` attribute can reference to pull an attribute value dynamically (e.g. `core/post-meta`, `core/pattern-overrides`).…
Angabe des Anbieters · Beleg 13get_site_usageSite-wide block + pattern inventory: usage counts, namespace totals, pattern reference counts, legacy patterns.
Angabe des Anbieters · Beleg 13scan_storage_modesWalk every published post and persist a `block_name → "static"|"dynamic"|"dual"` map (option `gk_block_api_storage_modes`). Slow on large sites; rate-limited to 1/hr.…
Angabe des Anbieters · Beleg 13resolve_urlURL or path → post ID. Accepts full URLs or site-relative paths. Run this before get_page_blocks / update_block / edit_block_tree when you only have a URL.
Angabe des Anbieters · Beleg 13list_postsSearch posts by title/content with pagination. Returns `{posts: [{post_id, title, slug, post_type, post_status, post_url, modified}], total, page, per_page, total_pages}`.…
Angabe des Anbieters · Beleg 13get_post_infoPost metadata by post_id, url, or slug+post_type. Returns `{post_id, title, status, post_url, edit_url, modified, created, parent_id, author, mime_type, comment_count}`.…
Angabe des Anbieters · Beleg 13list_templatesList the active theme's templates (page layouts like "single", "archive") or template parts (reusable regions like "header", "footer") — works on a theme without a full block-theme structure too, as…
Angabe des Anbieters · Beleg 14get_templateA single template or template part's metadata, raw block markup (`content`), and parsed `blocks`. Use after list_templates.…
Angabe des Anbieters · Beleg 14
Voraussetzungen
Node.js· Laufzeit · erforderlich · Beleg 15
21 Umgebungsvariablen laut Anbieter
WP_BASE· Umgebungsvariable · Beleg 16POST_ID· Umgebungsvariable · Beleg 16WP_USER· Umgebungsvariable · Beleg 16WP_PASS· Umgebungsvariable · Beleg 16TRIALS· Umgebungsvariable · Beleg 16CALL_SPACING_MS· Umgebungsvariable · Beleg 16TRIAL_SPACING_MS· Umgebungsvariable · Beleg 16RATE_LIMIT_RESET_CMD· Umgebungsvariable · Beleg 16LOCAL_WP_PATH· Umgebungsvariable · Beleg 17SCENARIOS· Umgebungsvariable · Beleg 17MCPS· Umgebungsvariable · Beleg 17MODELS· Umgebungsvariable · Beleg 17MAX_BUDGET_USD· Umgebungsvariable · Beleg 17PER_CALL_TIMEOUT_MS· Umgebungsvariable · Beleg 17FAIL_FAST_BLOCK_MCP· Umgebungsvariable · Beleg 17AI_ENGINE_MCP_URL· Umgebungsvariable · Beleg 17AI_ENGINE_BEARER· Umgebungsvariable · Beleg 17SEED_SCRIPT· Umgebungsvariable · Beleg 17WORDPRESS_URL· Umgebungsvariable · Beleg 15WORDPRESS_USER· Umgebungsvariable · Beleg 15WORDPRESS_APP_PASSWORD· Umgebungsvariable · Beleg 15
Installation
npx -y @gravitykit/block-mcp connect --site https://example.comRechte
- 1 von 30 Werkzeugen kann löschen, etwa delete_block.
- 12 von 30 Werkzeugen legen Daten an oder ändern sie, etwa update_block, update_blocks, insert_blocks.
- Der Anbieter deklariert: lesen, schreiben, löschen und senden.
Lass löschende, sendende und ausführende Werkzeuge nur nach Bestätigung je Aktion laufen und verbinde zuerst ein Testkonto.
Ein WordPress-Anwendungspasswort; die Verbindung läuft über HTTPS. Lesen verlangt die Berechtigung `edit_posts`, Schreiben `edit_post` für den jeweiligen Beitrag. Der Server liest und schreibt.
- Zugriffe laut Paketangaben
- lesen, schreiben, löschen, senden
- Authentifizierung
- —
- Transport
- —
- Technische Prüfung
- Ungeprüft
Quellen (18)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- Abgerufen und Felder geprüft: 2026-10-05; technische Prüfung: ungeprüft
- Paketpfad: .