source_read
Read one file of a ce repo at HEAD (text, 256 KiB at most; secret files are withheld).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| repo | Yes |
Read one file of a ce repo at HEAD (text, 256 KiB at most; secret files are withheld).
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| repo | Yes |
Changes observed during successful MCP inspections.
Input schema / properties / path / propertiesRemoved value: -nullInput schema / properties / repo / propertiesRemoved value: -nullInput schema / properties / path / propertiesAdded value: +nullInput schema / properties / repo / propertiesAdded value: +nullDoes the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds real behavioral context: only HEAD is readable, content is text-only, output is capped at 256 KiB, and secret files are withheld. Those constraints materially affect how an agent interprets results; only the truncation signaling on oversized files is left unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the action first and the limiting constraints parenthesized; no filler, nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity single-file read with rich annotations and no output schema, the description covers revision scope, size limits, and redaction. The remaining gap is error semantics (missing file, access denied), which an agent would benefit from knowing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry both parameters, and it only loosely gestures at them via "one file of a ce repo." It never clarifies whether repo expects an owner/name slug, nor whether path is repo-root-relative, leading-slash-sensitive, or accepts directories.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: read one file of a ce repo, with the HEAD revision scoped explicitly. The phrase "one file" separates it from tree/search siblings like source_tree and source_search, though it doesn't name them outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when this applies (fetching a single known file from HEAD) but never states when to prefer source_tree or source_search instead, nor any prerequisites such as repo access. Usage is inferable rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.