Skip to main content
Glama

WordPress: Create menu item

wordpress_create_menu_item
Destructive

Add a new item to a WordPress menu, linking to posts, pages, categories, or custom URLs.

Instructions

[UNIFIED] Add a new item to a menu. Supports linking to posts, pages, categories, or custom URLs.

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": "<site>",
      "menu_id": "<menu_id>",
      "title": "<title>",
      "type": "<type>"
    },
    "name": "wordpress_create_menu_item"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNo
siteYes
typeYes
titleYes
parentNo
menu_idYes
object_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv3.13.1
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / title
      Added value: +{
      +  "type": "string"
      +}
  2. First observedv3.4.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=true, so the safety profile is covered. The description adds only that items can point at posts/pages/categories/custom URLs; it says nothing about what the destructive classification means in practice (e.g., overwriting an existing menu location), duplicate-item behavior given non-idempotence, or required capabilities.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core action and followed by the scope of link targets. No filler or redundant restatement of the title.

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?

For a mutation tool with 7 undocumented parameters and no output schema, the definition is thin: an agent knows what it does in general terms but not what values `type` accepts or what the response contains. Annotations do cover the read/write/idempotency profile, which prevents this from being worse, but the parameter-level gaps remain significant.

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

Parameters2/5

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

Schema description coverage is 0% across 7 parameters, so the description must carry the load. It implies the type/object_id versus url distinction via the supported link kinds, but leaves site, menu_id, parent, and title entirely unexplained, and never maps the enumerated link types to the `type` string values an agent must supply.

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 and resource ("Add a new item to a menu") and enumerates the linkable content kinds, so an agent can distinguish it from wordpress_create_menu (creates the menu itself) and wordpress_update_menu_item (modifies an existing item). It stops short of explicitly naming those siblings, so differentiation is inferable rather than stated.

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 guidance on when to use this versus wordpress_update_menu_item, wordpress_create_menu, or the menu_item list/get tools, nor any prerequisites such as the menu having to exist first. Usage is only implied by the phrase "Add a new item".

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

Deploy Server

Other Tools