Skip to main content
Glama

Optimize for search

update_seo
Destructive

Set SEO metadata for a site or a specific page. Per-page mode (with page_slug) writes into the page's metadata.seo and ships as a new draft version — call publish to push live. Site-wide mode (no page_slug) writes into the site's metadata.seo and is live immediately, as defaults under each page's own values (see each field). Supported fields: title, description, og_image_url, robots (index|noindex), language (BCP 47 — a page's own for a translated page), and — site-wide only — business (schema.org type, address, telephone, email, logo, same_as for the home page's structured data; use it when the owner asks to appear as a local business in search) and verification (Google Search Console, Bing, Meta or Pinterest ownership tag). Omitted fields are kept; null removes one. get_site returns the current values, including each page's own.

Input Schema

NameRequiredDescriptionDefault
seoYesSEO fields to set. Only the provided fields are updated; omitted fields are left untouched.
site_idYesThe site UUID to update SEO for.
page_slugNoPage slug to update (e.g. `/about`), or a collection item's own address (e.g. `/work/kitchen-refit`) for that item's title, description and share image. When omitted, applies the SEO values as site-wide defaults that fall through to pages without their own overrides.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare a mutation (destructiveHint=true), and the description adds behavior annotations cannot convey: omitted fields are preserved, `null` deletes a field, per-page writes ship as a draft version while site-wide writes go live immediately, and site-wide values act as fall-through defaults. It also warns to use only owner-supplied facts and never placeholders for `business`.

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-loaded with the verb and the mode split, and nearly every clause carries operational information (publish step, null semantics, site-wide exclusivity). It is a dense single paragraph, though, and the long parenthetical field enumerations make it harder to scan than a short bulleted structure would.

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?

For a 3-parameter tool with deep nested objects and no output schema, the description covers both operating modes, live-vs-draft consequences, field support, deletion semantics, and where to read existing values. An agent has everything needed to call it correctly without further exploration.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description layers on mode-scoping that the flat schema can only state per-field: which fields are site-wide only (business, verification), how `page_slug` accepts collection item addresses, and the merge-vs-null semantics. It adds framing value beyond the per-property descriptions.

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 ('Set SEO metadata for a site or a specific page') and immediately distinguishes the two modes by their discriminating parameter (`page_slug`). An agent can tell this apart from siblings like `update_page` or `set_tracking_codes` 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes per-page mode to `publish` for go-live versus site-wide mode being live immediately, names `get_site` as the way to read current values, and gives the specific trigger for `business` ('use it when the owner asks to appear as a local business in search'). That is when-to-use and how-to-follow-up, not just context.

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