Skip to main content
Glama

Fabrement

Install a plugin (allow-listed)

fabrement-install-plugin

Install and activate a plugin from a closed allow-list — "wordpress-seo" (Yoast), when get-seo says yoast.active:false and the user wants SEO managed, and "contact-form-7", when list-forms says cf7.active:false and a form is needed. Needs install/activate capabilities and a writable host; a refusal names the reason. A translation plugin (WPML) is NOT on the list: ask the site owner to install and configure it, then reconnect — the language tools and the docs' language rules appear only once the site has languages. Rules: get-skill-doc {id:"seo-contract"} — read it before the first call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
slugYes
versionNo
activatedYes
installedYes
alreadyPresentNoWas on disk before this call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/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 substantial work: it discloses required capabilities (install/activate) and host preconditions (writable filesystem), failure behavior (a refusal names the reason), and an activation side effect. It does not address idempotency (what happens if already installed) or reversibility, which keeps 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?

The purpose is front-loaded and each clause (allow-list, per-slug conditions, capability requirements, WPML exclusion, doc rule) earns its place. However, the middle section is dense and run-on with parenthetical asides, making it harder to scan than necessary.

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 mutation tool with no annotations, the description supplies prerequisites, decision criteria, an explicit exclusion with a workaround, and a pre-call documentation rule. An output schema exists, so return values need not be described. Nothing essential to correct invocation is missing.

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 description coverage is 0%, but the single parameter is an enum and the description richly explains the decision criterion for each value, going well beyond the bare allowed strings. It compensates for the coverage gap; only the absence of any note on invalid slugs keeps it from 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?

The description states a specific verb pair (install and activate) and resource (plugin), immediately scoped as coming from a closed allow-list. It is unmistakable against siblings, none of which perform installs, and it enumerates the exact allowed slugs. An agent knows precisely what this tool does without opening the schema.

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?

It gives explicit when-to-use conditions per slug (wordpress-seo when get-seo reports yoast.active:false and SEO is wanted; contact-form-7 when list-forms reports cf7.active:false and a form is needed). It also names an exclusion — WPML is NOT on the list — and routes the agent to the alternative action (ask the site owner to install/configure, then reconnect). Prerequisite doc reading is called out too.

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