Skip to main content
Glama

write_equations

Replace or create C++ equation source files for LSD models, keeping .bak and .orig backups; only models in the models folder can be written.

Instructions

Replace the model's equation file with content (complete C++ source), or the source file named by file (plain name, .cpp, .h or .hpp; a new file is created if it does not exist). The version before the latest write is kept as .bak and the one before the first write as .orig. Only models in the models folder can be written.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileNo
modelYes
contentYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden and does well: it discloses that writes are destructive ('Replace'), that a new file is created if absent, that backups are kept as <file>.bak and <file>.orig, and that writes are scoped to the models folder. It omits auth/permission requirements and error behavior, but the backup and scoping disclosures are substantial 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.

Conciseness5/5

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

The core action and the content-vs-file choice are front-loaded, followed by the backup semantics and the scope constraint. Every clause earns its place with no filler.

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 three-parameter write tool with no annotations and no output schema, the description covers the essential behaviors an agent needs: what gets replaced, file naming/creation, backup retention, and scope restriction. It could go further on permissions and the outcome of a failed write, but it is largely self-sufficient.

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%, so the description must compensate, and it does: `content` is defined as complete C++ source, `file` as a plain name with .cpp/.h/.hpp and create-if-missing semantics, and `model` is constrained via the models-folder rule. It does not explain the interaction/default when `file` is omitted (where the equations file lives), leaving a small gap.

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: 'Replace the model's equation file' with either inline content or a named source file. It clearly distinguishes the two write modes. It does not explicitly contrast with the read counterpart (read_equations) among its many siblings, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains the conditions governing the two write paths (content vs file) and adds the constraint that only models in the models folder can be written, which is genuinely useful context. However, it gives no explicit when-to-use-this-vs-alternative guidance (e.g., when to use write_equations versus edit_structure).

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