Skip to main content
Glama

Diff two line lists

diff-two-line-lists
Read-onlyIdempotent

Compare two lists of lines. text holds a line ---A---, then list A, then a line ---B---, then list B. The answer is a CSV of each distinct line, matched exactly as sent, marked only_a, only_b or both. It refuses empty text, more than 1,048,576 bytes or 50,000 lines, and a text without the two markers in that order. Free. The answer is the JSON envelope of https://foundry.dap.solutions/api/diff-two-line-lists, byte for byte, with the artifact hash that answered. Full rules: https://foundry.dap.solutions/hub.md

Input Schema

NameRequiredDescriptionDefault
textYesTwo lists of lines: a line ---A---, then list A, then a line ---B---, then list B, one item per line. At most 1,048,576 bytes of UTF-8 and 50,000 lines; a line break at the very end is not a line.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond by disclosing hard refusals (empty text, >1,048,576 bytes, >50,000 lines, markers out of order), the exact output shape (CSV marked only_a/only_b/both with exact matching), and that responses mirror the backing API byte-for-byte with an artifact hash. That is substantial behavioral context an agent could not derive from the annotations.

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

Conciseness4/5

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

Front-loads the core purpose in one sentence, then input format, output, and limits in a logical order with no filler despite being dense. Minor cost: the closing sentence about the JSON envelope and artifact hash is terse and slightly opaque, and the 'Free.' fragment is abrupt.

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?

With no output schema, the description correctly carries the burden by describing the CSV result and its only_a/only_b/both markers. Limits and failure modes are enumerated, so an agent knows exactly what makes a call fail. The only soft spot is the vague 'JSON envelope ... byte for byte' reference, which leaves the exact response shape slightly unclear.

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 single 'text' parameter is already fully documented, including byte/line limits. The description mostly restates that format, adding only 'matched exactly as sent', which clarifies comparison semantics but is a marginal gain. This is the baseline case where the schema does the heavy lifting.

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 ('Compare two lists of lines') and immediately explains the exact input shape and output form. An agent can predict what the tool does and what it returns without opening the schema, and the operation is unmistakably distinct from the timestamp/base64 siblings.

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?

The description implies usage by defining the required input format ('---A---' then list A, '---B---' then list B), which is effectively a precondition for calling it. However, it never states when to reach for this tool versus alternatives, and there are no sibling comparisons. It also notes the service is 'Free', a cost signal useful for selection, but broader when/when-not guidance is absent.

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