Skip to main content
Glama

write_own_theme_files

Destructive

Write several files of an own theme at once: changes maps a path to its whole new content, or null to delete it. Pass the revision you last read as baseRevision; if the theme changed since, nothing is written. The theme is checked first: a write that would leave it not installing saves nothing and says why. Changes the theme's files only, not the shop: stage_own_theme puts them on the shop as its draft.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYesThe theme's slug, as list_own_themes shows it.
changesYes
baseRevisionNo

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 already declare destructiveHint=true and idempotentHint=false, and the description adds substantial context beyond that: optimistic concurrency via baseRevision (nothing is written on conflict), a pre-write validation gate that rejects changes leaving the theme not installing 'and says why', and the explicit scope boundary that it changes theme files only, not the shop.

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?

Three dense sentences, each earning its place: semantics of changes, concurrency guard, validation behavior, and the sibling hand-off. The operation and its delete semantics are front-loaded.

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 destructive, nested-object mutation with no output schema, the description covers atomicity, conflict handling, validation failure behavior, and scope relative to sibling tools. An agent has everything needed to call it correctly and interpret failure modes.

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

Parameters5/5

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

Schema coverage is only 33% (only slug is described), so the description must carry the load for the other two parameters. It does: 'changes' is explained as a path-to-whole-new-content map with null meaning delete, and baseRevision is explained as the last-read revision whose mismatch aborts the write.

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 with scope: 'Write several files of an own theme at once'. It is clearly separable from read_own_theme_file (reads), create_own_theme (creates), and stage_own_theme (publishes to the shop), which the description also names.

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 usage conditions: multi-file writes with whole-content replacement, null to delete, and pass baseRevision to guard against concurrent edits. It also points to stage_own_theme as the follow-up step that puts changes on the shop. It lacks an explicit 'do not use for X' exclusion, but the context is otherwise unambiguous.

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