Skip to main content
Glama

Frontman for WordPress

wc_update_order_meta

Destructive

Order metadata upsert. Creates the key when missing and updates the first matching key when present. Ask the user for confirmation before calling with confirm=true. Mirrors woocommerce-mcp-server method update_order_meta using local WordPress authentication; no WooCommerce REST API keys are required.

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>",
      "orderId": "<orderId>",
      "metaKey": "<metaKey>",
      "metaValue": "<metaValue>",
      "confirm": "<confirm>"
    },
    "name": "wc_update_order_meta"
  }
}

Input Schema

NameRequiredDescriptionDefault
confirmYesMust be true only after the user explicitly confirms this WooCommerce mutation.
metaKeyYesThe metadata key.
orderIdYesThe WooCommerce order ID.
site_idYesThe connected site's id returned by list_sites. Call list_sites first; do not use a URL or WordPress post ID.
metaValueYesThe metadata value. Can be a scalar, object, array, or null.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety bar is low; the description still adds value by explaining the upsert branch, that only the FIRST matching key is updated (implying duplicate keys can persist), and that it uses local WordPress auth with no REST keys. It does not describe what the call returns or failure behavior.

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?

The core upsert behavior and the confirmation gate are front-loaded in the first two sentences, and the auth note follows. The final sentence about mirroring woocommerce-mcp-server is somewhat internal-facing boilerplate, but the auth clarification it carries still earns some of its space.

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 destructive mutation with full annotation coverage, full schema coverage, and no output schema, the description supplies the branch behavior, the confirmation protocol, and the auth model. The main remaining gap is post-call behavior — what happens on duplicate keys and what is returned — which is minor given the structured data available.

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 coverage is 100% and each parameter already carries its own description, including the confirm gate and the site_id/list_sites instruction. The description reinforces the confirm requirement but adds no new meaning about metaKey, metaValue typing, or orderId beyond what the schema states, so baseline 3 applies.

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 opens with a specific verb+resource ('Order metadata upsert') and immediately spells out the create-vs-update branch, which distinguishes it from the read/delete order-meta siblings. It never names a sibling explicitly, but 'upsert' plus the two-branch explanation leaves no ambiguity about what it does.

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?

It gives an explicit precondition: ask the user for confirmation before calling with confirm=true, which is real usage guidance for a mutation. It stops short of saying when to prefer wc_get_order_meta (to inspect first) or when to use the delete sibling, so there is no exclusion guidance.

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.