Skip to main content
Glama

Frontman for WordPress

wp_update_menu_item

Destructive

Updates a menu item's title, URL, or position while preserving its existing WordPress menu item metadata.

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>",
      "menu_item_id": "<menu_item_id>"
    },
    "name": "wp_update_menu_item"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoNew URL for custom link menu items. Post-backed menu items keep their post permalink.
titleNoNew display title for the menu item.
site_idYesThe connected site's id returned by list_sites. Call list_sites first; do not use a URL or WordPress post ID.
positionNoNew menu order position (1-based).
menu_item_idYesThe menu item post ID (from wp_read_menu).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this as destructive, non-idempotent, and open-world, so the safety profile is covered structurally. The description adds a genuinely useful nuance — that existing menu item metadata is preserved, implying partial-field update semantics — but it does not explain permissions, reversibility, or what exactly gets overwritten.

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?

A single front-loaded sentence with no wasted clauses. The preservation clause earns its place by clarifying update scope, though the sentence could be marginally tighter.

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

Completeness3/5

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

With annotations covering the safety profile and a fully documented schema, the description is adequate for a simple mutation. However, it omits whether at least one updatable field must be supplied (only site_id and menu_item_id are required) and gives no indication of failure behavior or that changes are applied immediately.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema itself carries the important semantics (post-backed items keep their permalink, site_id comes from list_sites, menu_item_id from wp_read_menu). The description only restates the field names, so it does not add meaning beyond the schema — baseline 3 is correct.

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

Purpose4/5

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

The description states a specific verb (updates) and resource (menu item) and enumerates the mutable fields (title, URL, position), so an agent can tell it apart from wp_create_menu_item or wp_delete_menu_item. It stops short of explicitly contrasting with the similarly named wp_update_navigation_menu sibling.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, no mention of prerequisites such as reading the item first, and no routing to alternatives like wp_update_navigation_menu. Usage is only inferable from the verb itself.

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.