Skip to main content
Glama

set

Idempotent

Edit YAML frontmatter across one or many Markdown concepts while preserving all other keys byte for byte; preview changes as a diff before applying.

Instructions

Edit frontmatter on one or many concepts by text; every other key stays byte for byte (§4.1). fields: {key: value}; null drops a key. Checks type, status (§5.4), stale_after (§5.5, ISO with a UTC offset) and tags (a list). generated, verified and sources have their own tools (provenance, verify, cite). apply=False shows the diff.

Input Schema

NameRequiredDescriptionDefault
fileNo
applyNo
filesNo
bundleNo
fieldsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare idempotent=true and destructiveHint=false; the description meaningfully adds that every unmentioned key stays 'byte for byte,' that null drops a key, and that status/stale_after/tags get type validation. What's missing is what happens when validation fails (error vs partial write) and whether a bad field aborts the whole batch — material for a mutation tool.

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

Conciseness3/5

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

Purpose is front-loaded in the first clause and the whole thing is short. But spec cross-references ('§4.1', '§5.4', '§5.5') are unreadable noise to an agent without the document, and 'byte for byte' plus a compressed parenthetical make it denser than it needs to be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/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 output schema, no annotations beyond hints, and 0% schema coverage, the description does well on guarantees and dry-run behavior but leaves the file/files/bundle targeting model unexplained — the single biggest thing an agent needs before invoking a multi-file write.

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

Parameters2/5

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

Schema description coverage is 0% across five parameters, so the description carries the full load. It explains 'fields' (key/value map, null drops) and 'apply' (dry-run diff), but leaves 'file', 'files' and 'bundle' completely undefined — an agent cannot tell whether file is a path or slug, how file/files interact, or what bundle scopes to.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Edit frontmatter on one or many concepts.' It also carves out scope by naming which keys belong to other tools (provenance, verify, cite), so an agent can separate it from siblings. The 'by text' phrasing and 'concepts' wording are slightly opaque domain jargon but don't obscure the core action.

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?

Explicitly routes the agent to alternative tools for generated/verified/sources fields, and 'apply=False shows the diff' tells the agent how to preview before committing. It doesn't state hard preconditions (target must exist, required bundle/file resolution), so it's clear context rather than a full when/when-not guide.

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