Skip to main content
Glama

get_evolution

Trace every commit that touched a specific line range in a file, oldest to newest, with per-step diffs. Identify which change introduced a bug or altered behavior.

Instructions

git log -L over a line range: every commit that touched those lines, oldest to newest, with per-step diffs.

Returns: {steps: [{hash, short, author, date, subject, diff}], notes: [...]}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
baseNo
fileYes
repoYes
end_lineYes
start_lineYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It reveals the operation (git log -L), ordering (oldest to newest), and the exact return shape including per-step diffs and notes. It does not mention error cases or the optional base parameter behavior, but for a read-only query the essential behavior is disclosed.

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 two sentences, starts with the core git log -L analogy, and provides the return structure without any filler. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The return structure is explicitly documented, which matters since there is no output schema. However, the tool has 5 parameters and 0% schema description coverage, and the description does not explain base, file/repo expectations, or line indexing/inclusivity semantics. This leaves an agent with some guessing about how to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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. It only indirectly covers start_line and end_line via the phrase 'line range'. The repo, file, and base parameters are left entirely unexplained, forcing the agent to infer semantics from parameter names alone.

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: `git log -L` over a line range, returning every commit that touched those lines. This clearly conveys what the tool does and is easily distinguished from sibling tools like get_blast_radius or get_risk_score, which concern impact and risk rather than line history.

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?

The description clearly frames when to use it: when you need the commit history and diffs for a specific line range in a file. It does not explicitly name alternatives or exclusions, but the scope is unambiguous enough to guide selection among the siblings.

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