Skip to main content
Glama

Fabrement

Set SEO for a record

fabrement-set-seo

Set the Yoast fields of ONE record (contentId), ONE term archive (termId — a category, tag or term of a custom taxonomy) or ONE post-type archive (archive: the post type, e.g. "book" for /books/): title, metaDesc, focusKeyword, canonical, noindex/nofollow, robotsAdvanced, schemaPageType/ArticleType, og*/twitter*. A term takes title, metaDesc, focusKeyword, canonical, noindex, breadcrumbTitle, cornerstone, og*/twitter* only. Send only what changes; "" or null clears a field. Refused when Yoast is not active. Custom schema nodes go through set-schema. Verify with get-seo {contentId} / {termId} / {archive}. Rules: get-skill-doc {id:"seo-contract"} — read it before the first call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleNo
termIdNoA term (list-terms): the SEO of its archive page.
archiveNoA post type (list-archive-records): the SEO of its archive — the record that describes it.
noindexNo
ogTitleNo
metaDescNo
nofollowNo
canonicalNo
contentIdNoA page, post or custom record. Give this, termId OR archive.
ogImageIdNo
cornerstoneNo
focusKeywordNo
twitterTitleNo
ogDescriptionNo
robotsAdvancedNo
schemaPageTypeNo
twitterImageIdNo
breadcrumbTitleNo
schemaArticleTypeNo
twitterDescriptionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
storedNo
termIdNo
archiveNo
writtenYes
warningsNo
contentIdNo
effectiveNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden and does well: it discloses the partial-update contract ('Send only what changes'), the clearing semantics ('"" or null clears a field'), the refusal condition, and per-target field restrictions. It omits permission/auth requirements and any confirmation of reversibility, keeping it short of a 5.

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?

Dense but front-loaded: the action and targets come first, field list second, then field-scoping, clearing semantics, refusal, routing, verification, and a rules line. Every sentence carries information; the single long paragraph is slightly heavy but not padded.

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?

Output schema exists so return values needn't be described, and the description covers targets, partial updates, clearing, refusal, and alternatives. For a 20-parameter mutation tool with zero annotations, permission/prerequisite detail is the remaining gap, but the skill-doc pointer offsets it.

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 only 15%, so the description must compensate and largely does: it names the settable fields (title, metaDesc, focusKeyword, canonical, noindex/nofollow, robotsAdvanced, schemaPageType/ArticleType, og*/twitter*) and constrains which apply to terms vs. records/archives. It still leaves value formats (schemaPageType values, robotsAdvanced items) unexplained, so not a 5.

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 (Set) and resource (Yoast SEO fields) and enumerates the three mutually exclusive target modes (contentId, termId, archive). It also distinguishes itself from adjacent siblings by naming set-schema for custom schema nodes and get-seo for verification.

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 tells the agent how to pick a target ('Give this, termId OR archive'), routes custom schema work to set-schema, states the refusal condition (Yoast inactive), gives a verification path, and mandates reading get-skill-doc {id:"seo-contract"} before the first call.

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