Skip to main content
Glama

Diff Texts

diff_texts
Read-onlyIdempotent

Produce a unified diff between two texts. FREE.

Useful for comparing two SKILL.md versions. Typical input {"a": "", "b": ""} returns {"changed_lines": N, "diff": "--- \n+++ \n@@ ... @@\n-old line\n+new line"}; identical inputs return {"changed_lines": 0, "diff": "(identical)"}. The diff is capped at 400 lines.

Use to show exactly what changed between two versions of a text. Not for judging the risk of a code change - the codereview server's review_diff does that. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "each text must be at most 500000 characters"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
aYesThe original text (left side of the diff); at most 500000 characters.
bYesThe revised text (right side of the diff); at most 500000 characters.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description reinforces these and adds important behaviors: diff capped at 400 lines, specific error response format without protocol errors, and the retry guarantee. No contradictions.

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?

The description is a single coherent paragraph that front-loads the core purpose, then logically covers usage, an example return, limits, alternative tool, and error handling. Every sentence serves a purpose, though it could be slightly more compact without losing information.

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 a fully described input schema, an output schema present, detailed annotations, and a description covering behavioral cap, error format, and retry safety, the tool is well-specified. Minor omissions (e.g., what happens if diff exceeds 400 lines) keep it from a 5.

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 coverage is 100% with clear descriptions for each parameter. The description adds value by providing a typical input example ({'a': '<old text>', 'b': '<new text>'}) and confirming the maxLength constraint, which helps the agent understand usage beyond the schema.

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 clearly states 'Produce a unified diff between two texts' with a specific verb and resource. It distinguishes itself from sibling tools (validation utilities) by being a diff tool, and the 'FREE' note adds helpful context. No ambiguity.

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?

Explicitly provides a concrete use case ('comparing two SKILL.md versions') and an explicit exclusion: 'Not for judging the risk of a code change - the codereview server's review_diff does that.' Also explains error handling and retry safety, guiding correct invocation.

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.

TDQS

A4.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: cron explanation, text diffing, JSON validation, skill linting, packaging layout validation, and regex testing. There is no functional overlap, so an agent can easily select the correct tool.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., cron_explain, diff_texts, lint_skill). The naming convention is uniform and predictable across the entire set.

Tool Count5/5

With only 6 tools, the server is well-scoped for its linting and validation purpose. Each tool is justified and contributes to the overall functionality without redundancy or excessive bloat.

Completeness4/5

The tool set covers the primary validation needs for skills (linting, packaging, and auxiliary utilities like cron, diff, JSON, regex). Minor gaps could include a tool for validating skill dependencies or conformance to a specific schema, but the core workflows are well-supported.

Resources