Skip to main content
Glama

wp_update_post

Destructive

ACTION on the WordPress site. Changes only the given fields of an existing post (title, content, excerpt, status, date, slug, categories, tags, featured_media); e.g. status=publish publishes a draft. Returns before → after. In safe mode the first call returns a PREVIEW with confirm_id: show it and call again with confirm_id only after the user approves.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "site_id": "<site_id>",
      "post_id": "<post_id>"
    },
    "name": "wp_update_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateNoData e ora ISO 8601, es. 2026-11-10T09:00:00.
slugNoSlug URL dell'articolo, minuscolo con trattini, es. come-scegliere-il-prezzo.
tagsNoId tag WordPress (array di interi, da wp_list_terms).
titleNoTitolo dell'articolo.
statusNoStato articolo WordPress: draft, pending, publish, future, private.
contentNoContenuto HTML dell'articolo.
excerptNoEstratto dell'articolo, testo semplice.
post_idYesId articolo WordPress (da wp_list_posts).
site_idYesId sito WordPress (da wp_list_sites).
categoriesNoId categorie WordPress (array di interi, da wp_list_terms).
confirm_idNoToken di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
featured_mediaNoId media dell'immagine in evidenza (intero).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • addedInput schema / properties / categories / description
      Added value: +"Id categorie WordPress (array di interi, da wp_list_terms)."
    • addedInput schema / properties / content / description
      Added value: +"Contenuto HTML dell'articolo."
    • addedInput schema / properties / date / description
      Added value: +"Data e ora ISO 8601, es. 2026-11-10T09:00:00."
    • addedInput schema / properties / excerpt / description
      Added value: +"Estratto dell'articolo, testo semplice."
    • addedInput schema / properties / featured_media / description
      Added value: +"Id media dell'immagine in evidenza (intero)."
    • addedInput schema / properties / post_id / description
      Added value: +"Id articolo WordPress (da wp_list_posts)."
    • addedInput schema / properties / site_id / description
      Added value: +"Id sito WordPress (da wp_list_sites)."
    • addedInput schema / properties / slug / description
      Added value: +"Slug URL dell'articolo, minuscolo con trattini, es. come-scegliere-il-prezzo."
    • addedInput schema / properties / status / description
      Added value: +"Stato articolo WordPress: draft, pending, publish, future, private."
    • addedInput schema / properties / tags / description
      Added value: +"Id tag WordPress (array di interi, da wp_list_terms)."
    • addedInput schema / properties / title / description
      Added value: +"Titolo dell'articolo."
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, and the description adds genuinely new behavior: partial-update semantics (only given fields change), a before → after return, and the safe-mode preview/confirm two-step workflow that an agent would otherwise stumble into. This is exactly the kind of context annotations cannot carry.

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

Conciseness4/5

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

Front-loaded and dense: partial-update rule, field list, example, return shape, and safe-mode workflow each appear once with no filler. The leading 'ACTION on the WordPress site' is the only near-redundant phrasing.

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?

For a 12-parameter destructive mutation with no output schema, the description covers what changes, what is returned, and the required confirmation handshake. Nothing essential to calling it correctly is missing.

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 coverage is 100%, so the baseline is 3; the description goes further by grouping the mutable fields and explaining that status=publish publishes a draft, plus how confirm_id is obtained and reused. It does not restate the required site_id/post_id, which is a minor omission given the schema covers them.

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?

States a specific verb ('Changes only the given fields') on a specific resource ('an existing post'), and explicitly enumerates the mutable fields. The phrase 'existing post' implicitly separates it from wp_create_post, and the status=publish example makes the effect concrete.

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

Usage Guidelines4/5

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

Clear context for when to use it (modifying an existing post's fields) and a concrete publishing example, plus the safe-mode rule that the second call must include confirm_id only after the user approves. It does not explicitly name the create-vs-update boundary, but the guidance is otherwise actionable.

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