Skip to main content
Glama

Suggest assert/expect patches

suggest_assertions
Read-only

Generate compact expect/assert YAML patches from API outputs or JSON bodies to tighten smoke tests after a run.

Instructions

Suggest compact expect/assert YAML patches from API outputs and/or a JSON response body. Use after a run or when tightening a scaffolded smoke test — patch only, do not rewrite the file. Do not use testlight, npx, npm, shell, or node dist/mcp/server.js.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNoParsed JSON response body
styleNoPatch style (default both)
statusNoHTTP status to expect
stepIdNoCall step id for ${id.field} asserts
apiPathNoAPI .mmt to read outputs from
bodyFileNoPath to a JSON response file
maxFieldsNoMax body fields to suggest
workspaceRootNoWorkspace root (required with apiPath or bodyFile)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.43.4

TDQS

A4.2/5.0
Behavior4/5

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

The readOnlyHint annotation already signals safety, and the description adds the key behavioral fact that this tool only produces patches and does not rewrite files. It also communicates a practical constraint ('Do not use testlight, npx, npm, shell...'), which goes beyond the schema but is useful for safe invocation.

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 description is short and front-loaded, with the core purpose in the first sentence. The second sentence provides timing and scope, and the third adds a focused constraint; 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 an 8-parameter tool with no output schema, the description covers what it does, when to use it, and what it will not do. Since the schema already documents all parameters, the description provides sufficient context for an agent to invoke it correctly.

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%, so the baseline is 3; the description adds no parameter-level details beyond the schema. It does reinforce the two acceptable input sources (API outputs and body), but that information already appears in the schema's parameter descriptions.

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 opens with a specific action ('Suggest compact expect/assert YAML patches') and names both input sources (API outputs and/or JSON response body). It distinguishes itself from siblings by stating it is patch-only and tied to post-run or smoke-test tightening contexts rather than scaffolding or running tests.

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 explicitly says to use after a run or when tightening a scaffolded smoke test, and it draws a boundary with 'patch only, do not rewrite the file.' It does not name sibling tools directly, but the timing and scope give an agent enough context to choose it over run or scaffold_test.

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