Skip to main content
Glama
dimitr-io
by dimitr-io

Create a project data file

cm_create

Write a new project file, for example a tyre property file that differs from an existing one. Never overwrites; the file is logged and cm_revert_all moves it to the trash folder.

Instructions

Write a new project file, for example a tyre property file that differs from an existing one. Never overwrites; the file is logged and cm_revert_all moves it to the trash folder. To change a file that exists use cm_edit, to copy one cm_clone.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYesKind of project data; selects the folder below <project>/Data
nameYesName of the new file relative to the kind's folder (must not exist)
contentYesThe whole text of the file, at most 2 MB

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only supply the generic readOnly/destructive/openWorld flags. The description goes further and discloses the two traits that actually matter for a create tool: it never overwrites, the write is logged, and cm_revert_all can move the file to the trash. That is a concrete reversibility guarantee that the annotations alone do not convey, and it is consistent with destructiveHint=false.

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?

Two tight sentences, front-loaded with the action and its non-overwrite guarantee, followed by the disambiguation routing. No filler and nothing that repeats the schema.

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?

An output schema exists, so return values need not be described. For a three-parameter create tool with full schema coverage, the definition covers purpose, routing, reversibility, and the overwrite constraint — nothing an agent needs 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%: kind (folder selector), name (must not exist) and content (2 MB cap) are all documented in the schema itself. The description's only parameter-adjacent content is the example file type, so it adds little beyond the schema. 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 ('Write a new project file') and immediately differentiates itself from the two nearest siblings by naming them: cm_edit for existing files, cm_clone for copies. An agent can route correctly without opening any 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?

Gives both a positive example ('a tyre property file that differs from an existing one') and explicit alternatives with their selecting conditions ('To change a file that exists use cm_edit, to copy one cm_clone'). This is the when/when-not/alternatives pattern at full strength.

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