Skip to main content
Glama

Create a navigation menu

create_menu

Create an empty WordPress navigation menu, optionally assign it to theme locations, and enable auto-add for new top-level pages.

Instructions

Create an empty navigation menu, optionally assigning it to one or more theme locations. Add entries afterwards with add_menu_item.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesMenu name shown in wp-admin.
site_idNoWhich configured WordPress site to act on. Optional — with a single site configured it is used automatically; with several, the default site is used unless you name one. Run list_sites for valid ids.
auto_addNoAutomatically add new top-level pages to this menu.
locationsNoTheme location slugs to assign it to, e.g. ["primary"]. See list_menus for what the theme registers.
descriptionNoLonger descriptive text.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv2.0.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observedv1.0.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate this is a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds behavioral nuance by specifying that the menu is created 'empty' and that it does not add entries itself—this is beyond what the annotations convey. It also mentions the optional assignment to theme locations. No contradictions with annotations.

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?

The description is a single, well-structured sentence that front-loads the core action ('Create an empty navigation menu') and then adds the optional detail and the follow-up workflow. Every clause earns its place; there is no filler or redundancy.

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

Completeness4/5

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

For a simple creation tool with 5 parameters (1 required), no output schema, and no nested objects, the description is nearly complete. It covers the purpose, the optional locations behavior, and the next step. It lacks explicit notes about error handling or failure modes, but those are not typically required for a creation operation. The only minor gap is not mentioning that updating an existing menu is handled by a different tool, but that is not essential for correct invocation.

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%, so each parameter is already documented. The description adds minimal extra meaning—it mentions the optional locations assignment and that entries are added later, which indirectly clarifies that there is no items parameter. However, it does not add significant cross-parameter semantics beyond what the schema provides, so it stays at the baseline of 3.

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?

The description states a specific verb ('create') and resource ('empty navigation menu'), and explicitly notes that it optionally assigns theme locations. It distinguishes itself from add_menu_item by clarifying that entries are added afterwards, so an agent can tell it apart from the sibling tools without opening the schema.

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?

The description gives clear usage context: it is for creating a new menu, and it points to the natural next step ('Add entries afterwards with add_menu_item'). It does not explicitly name alternatives like update_menu or delete_menu, but the workflow implication is sufficient for an agent to know when to use this tool. It could be more explicit about when not to use it, but it is not misleading.

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