Skip to main content
Glama
nkd3v
by nkd3v

aism_theme_install

Destructive

Installs a WordPress.org theme as inactive on a configured site and adds a missing parent theme if required.

Instructions

Install a WordPress.org theme inactive. Core may install a missing parent. Requires themes:write and install_themes. Installation adds executable code.

Input Schema

NameRequiredDescriptionDefault
siteNoConfigured site name from aism_sites. Omit for the default site.
slugYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.4.1
    • addedInput schema / properties / site
      Added value: +{
      +  "description": "Configured site name from aism_sites. Omit for the default site.",
      +  "pattern": "^[a-zA-Z0-9_.-]{1,64}$",
      +  "type": "string"
      +}
  2. First observedv1.1.1

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare destructiveHint and openWorldHint, but the description adds real context beyond them: the theme is left inactive, a parent theme may be pulled in as a side effect, specific capabilities are required, and installing introduces executable code. Those are exactly the side effects and auth requirements an agent needs before a mutating call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, zero filler, with the core action stated first and constraints, prerequisites, and the security note following. Every sentence carries distinct information.

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?

For a destructive, open-world install with no output schema, the description covers preconditions, side effects, and the security implication. It leaves out failure modes (e.g., theme not found, permission denied) and any return information, but the essentials for correct invocation are present.

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 coverage is 50%: `site` is fully documented in the schema while `slug` has only a pattern. The description implies `slug` is a WordPress.org directory slug (lowercase, hyphenated), which adds a little meaning, but it never explains the slug format or the default-site behavior beyond what the schema already says.

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 pairs a specific verb (Install) with a precise resource (a WordPress.org theme) and states the resulting state (inactive), which separates it from aism_theme_upload (local zip) and aism_theme_action (activate/update). An agent can tell which sibling to call 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?

It states the required capabilities (themes:write and install_themes) and the condition under which Core will also install a missing parent theme, giving clear preconditions. It does not explicitly exclude alternatives such as aism_theme_upload, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.