Skip to main content
Glama

Change site settings

wp_update_site_settings
Destructive

Update the common site settings title, tagline, admin email, timezone and posts per page; fields left out keep their values (wp_get_site_settings reads them, wp_update_option writes any other option). An admin_email that is not a valid address is ignored. Each field is read back: changed lists the fields that took (a value already set counts), adjusted what a filter stored in place of the value sent, failed what did not take. When every field written failed, the call is an error naming that only. undo is the token of an undo point for wp_undo, or null when none could be kept; the writes happen either way. Needs manage_options. Forwarded by AlphaBridge Connect to the one site this connection reaches.

Input Schema

NameRequiredDescriptionDefault
titleNoSite title (option blogname).
taglineNoSite tagline (option blogdescription); an empty string clears it.
timezoneNoPHP timezone identifier stored in timezone_string, e.g. Europe/Zurich. A value WordPress rejects does not take: listed under failed when other fields stored, otherwise the call is an error.
admin_emailNoAdministration email address (option admin_email). Ignored unless it is a valid address.
posts_per_pageNoPosts per page on blog pages (Settings › Reading).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / admin_email / description
      Added value: +"Administration email address (option admin_email). Ignored unless it is a valid address."
    • addedInput schema / properties / posts_per_page / description
      Added value: +"Posts per page on blog pages (Settings › Reading)."
    • addedInput schema / properties / tagline / description
      Added value: +"Site tagline (option blogdescription); an empty string clears it."
    • changedInput schema / properties / timezone / description
      Previous value: -"e.g. Europe/Zurich."New value: +"PHP timezone identifier stored in timezone_string, e.g. Europe/Zurich. A value WordPress rejects does not take: listed under failed when other fields stored, otherwise the call is an error."
    • addedInput schema / properties / title / description
      Added value: +"Site title (option blogname)."
  2. Added

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations (destructive, non-idempotent, openWorld) by disclosing what each write returns: changed / adjusted / failed classification, the all-failed-becomes-error rule, that an invalid admin_email is silently ignored, that writes occur even when no undo point is kept, and that the undo token feeds wp_undo. The manage_options requirement is also stated.

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?

Front-loads the action and field list, then layers outcome semantics and permissions. Dense with semicolons and parenthetical asides, but nearly every clause carries information an agent needs; only the restated field enumeration borders on redundancy with the schema.

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

Completeness5/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 compensates by explaining the response shape (changed/adjusted/failed, undo token or null) and the partial-failure error rule. Combined with the permission requirement and partial-update default, an agent has everything needed to call and interpret it.

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 of the five fields is already documented with its backing option name and edge-case behaviour (empty tagline clears, invalid timezone lands in failed). The description mostly restates the same field names; its added value is behavioural rather than per-parameter, so the baseline 3 applies.

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?

Specific verb plus resource plus the exact field list: 'Update the common site settings title, tagline, admin email, timezone and posts per page'. It explicitly distinguishes itself from wp_get_site_settings (reads them) and wp_update_option (writes any other option), so an agent can pick correctly without opening schemas.

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?

States the alternative for reading (wp_get_site_settings) and for arbitrary options (wp_update_option), and clarifies partial-update behaviour: 'fields left out keep their values'. No explicit when-not-to-use case is given, which keeps it just below the top mark.

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.

Resources