Skip to main content
Glama

Fabrement

Set post terms

fabrement-set-post-terms

Classify one record: attach EXISTING terms (id|slug|name; create-term first) of ONE taxonomy. mode is REQUIRED and has no default: replace (the terms become exactly terms, anything else is dropped; [] clears) · add (these are added, the rest stay) · remove (these come off, the rest stay). The taxonomy must be attached to that post type. primary (Yoast SEO, hierarchical taxonomies) picks the main one among the terms of the record — the one its breadcrumbs and category URL use; 0 clears it. Rules: get-skill-doc {id:"content-contract"} — read it before the first call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYesRequired — there is no default. replace: the terms of this taxonomy on this record become exactly `terms`, so anything not listed is DROPPED and [] clears them. add: these terms are added, the rest stay. remove: these are taken off, the rest stay.
termsYesTerm ids, slugs or exact names — each must already exist.
primaryNoOptional, needs Yoast SEO: the MAIN term (id|slug|name) of a hierarchical taxonomy — one the record has after this call. Yoast uses it for the breadcrumb trail and the category in URLs; without it Yoast takes the deepest term. 0 clears it (back to the deepest term).
taxonomyYesTaxonomy slug (see list-taxonomies).
contentIdYesThe content id (list-content / save-content).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo
termsYes
primaryNoThe main term id when one is set (Yoast); 0 = none.
taxonomyYes
contentIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations the description carries the full burden and does: it discloses that 'replace' DROPS unlisted terms and that [] clears, that 0 clears primary, that primary drives breadcrumbs and category URLs, and that the taxonomy must belong to the post type. Destructive consequences and a runtime dependency (Yoast SEO) are spelled out rather than left to inference.

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 core action and uses a '·' separator to compress the three modes into one line, which is efficient. It is dense and the 'Rules:' pointer is buried at the end, but no sentence is filler.

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 5-param mutation tool with no annotations, the description covers prerequisites, mode selection, destructive effects, and the optional Yoast-dependent primary parameter. An output schema exists, so return values need not be described, and nothing needed to call it correctly is missing.

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 the schema already documents mode, terms, primary, taxonomy and contentId. The description largely mirrors that content (mode semantics, 'each must already exist', primary explanation); its value-add is cross-references like list-taxonomies and save-content rather than new parameter meaning, so 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?

States a specific verb and resource ('Classify one record: attach EXISTING terms ... of ONE taxonomy') and immediately scopes it against the term-creation flow with 'create-term first'. An agent can tell this apart from create-term/update-term/delete-term without opening a 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 clear prerequisites (taxonomy must be attached to the post type; terms must already exist; primary needs Yoast SEO) and routes the agent to 'create-term first' when terms don't exist, plus a mandatory get-skill-doc read. It lacks explicit when-not-to-use framing versus other term tools, but the context is strong.

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