Skip to main content
Glama

Frontman for WordPress

wp_get_theme_mod

Read-onlyIdempotent

Reads one active theme mod by name, not option-backed Customizer settings. A null value does not mean an option-backed setting is absent. Use wp_list_customizer_settings and wp_get_customizer_setting for native Astra Header Builder settings.

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

Input Schema

NameRequiredDescriptionDefault
nameYesTheme mod name to read.
site_idYesThe connected site's id returned by list_sites. Call list_sites first; do not use a URL or WordPress post ID.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds one genuinely useful behavioral fact — that a null result does not imply an option-backed setting is absent — but says nothing about return shape or error behavior for an unknown name.

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?

Three short sentences, front-loaded with the core action and followed by the two caveats that matter. No filler, though the null-value sentence is slightly indirect in phrasing.

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?

With no output schema, the description carries the burden of explaining the return value, and it does so partially via the null semantics. For a two-parameter read tool with full annotation coverage, that is close to sufficient; only the shape of a non-null return is unstated.

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 both parameters are documented in-schema, including the site_id/list_sites prerequisite. The description adds only the "by name" framing and the null-value interpretation, which is the expected baseline when the schema does the heavy lifting.

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 and resource ("Reads one active theme mod by name") and immediately scopes it against a lookalike category ("not option-backed Customizer settings"). An agent can distinguish it from wp_get_customizer_setting and wp_get_option without opening any 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?

Gives an explicit routing rule: use wp_list_customizer_settings and wp_get_customizer_setting for native Astra Header Builder settings. That is a real when-to-use-elsewhere statement, though it does not address the closest siblings wp_list_theme_mods or wp_update_theme_mod.

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.