Skip to main content
Glama

Honeyfield Marketing MCP

WordPress: Create post

wp_create_post

Neuen WordPress-Beitrag/Seite anlegen. status: 'draft' (Default), 'publish', 'pending', 'private', 'future' (terminiert, braucht date). date: Veröffentlichungsdatum ISO 8601 ohne Zeitzonen-Suffix, z. B. '2026-10-01T09:00:00', in der Zeitzone der WordPress-Site. Bei status='future' Pflicht — ohne date kommt {"error": "date_required"} zurück, bevor etwas angelegt wird (WordPress würde 'future' ohne Zukunftsdatum sofort veröffentlichen). post_type: 'posts' (Default), 'pages', 'templates', 'template-parts', 'navigation', 'blocks' oder ein Custom Post Type der Site (/wp/v2/types); andere Werte → {"error":"invalid_post_type"}. content/excerpt = HTML. categories/tags = Listen von Term-IDs (aus wp_list_terms); nur für post_type=posts, Seiten ignorieren sie stillschweigend. Bei {"error": "auth_error"}: wp_site_health → 'auth' zeigt die Ursache. Bei {"error": "wp_timeout"} oder "wp_unreachable" ist offen, ob der Beitrag angelegt wurde — erst mit wp_list_posts nachsehen, nicht blind wiederholen. Landingpages und neue Seiten (post_type='pages'): erst die bestehenden Seiten als Vorbild ansehen — wp_list_posts(post_type='pages'), dann wp_get_post bzw. bei leerem content wp_builder_get_content — und Aufbau, Tonalität und Gestaltung übernehmen. Gibt es keine Vorlage, eine vollständige Seite bauen statt einer Kurzfassung: Hero mit Nutzenversprechen und Call-to-Action, Problem/Nutzen, Leistungen, Ablauf, Vertrauen (Referenzen, Zahlen), FAQ, abschließender CTA — als Gutenberg-Blöcke (wp:heading, wp:paragraph, wp:image, wp:buttons, wp:columns). Bilder gehören dazu: zuerst passende aus der Mediathek (wp_list_media), sonst vom Nutzer genannte Bild-URLs per wp_upload_media; jedes Bild mit alt-Text. Fehlen passende Bilder, die Stellen im Entwurf kennzeichnen und nachfragen — keine fremden Bilder ohne Nutzungsrecht. Baut die Site mit Elementor/Bricks, entsteht die neue Seite trotzdem als Block-Inhalt; das im Ergebnis sagen. workspace: Slug des Kunden-Workspace (optional bei nur einem Workspace).

Input Schema

NameRequiredDescriptionDefault
dateNo
slugNo
tagsNo
titleYes
statusNodraft
contentNo
excerptNo
post_typeNoposts
workspaceNo
categoriesNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false, destructiveHint=false, openWorldHint=true. The description adds real behavioral context the annotations cannot: status='future' without date would publish immediately in WordPress (an irreversible side effect), the exact error envelopes returned (date_required, invalid_post_type, auth_error, wp_timeout), and that categories/tags are silently ignored for pages.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Creation semantics, error handling and parameter rules are correctly front-loaded, but roughly half the text is a page-authoring playbook (Hero/Problem/FAQ/CTA block layout, wp:heading/wp:columns specifics, image sourcing and alt-text policy) that arguably belongs in an agent prompt rather than a tool definition. Dense and useful, yet bloated relative to the tool contract.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation. For a 10-parameter, open-world create tool the description covers preconditions, side-effect risk, error recovery and content conventions, leaving nothing an agent would need to call it correctly or safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden — and it does: allowed status values plus the draft default, ISO 8601 date format without timezone suffix and its mandatory nature for 'future', the enumerated post_type values and pointer to /wp/v2/types, content/excerpt as HTML, categories/tags as term IDs from wp_list_terms, and workspace's optionality with a single workspace. Only 'title' and 'slug' go unmentioned, so it is strong but not exhaustive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Neuen WordPress-Beitrag/Seite anlegen') and immediately scopes the post_type space, which is what distinguishes it from wp_update_post / wp_get_post / wp_list_posts. An agent can tell the create operation apart from its siblings without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes a workflow: for landing pages and new pages, inspect existing pages first via wp_list_posts(post_type='pages'), then wp_get_post or wp_builder_get_content if content is empty, and only then create. It also states when-not/diagnostic paths (wp_site_health → 'auth' on auth_error) and forbids blind retry on wp_timeout/wp_unreachable, routing to wp_list_posts to check.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources