source_search
Search the ce source at HEAD with a regular expression (git grep -E), in one repo or all you may...
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | ||
| repo | No | ||
| pattern | Yes |
Search the ce source at HEAD with a regular expression (git grep -E), in one repo or all you may...
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | ||
| repo | No | ||
| pattern | Yes |
Changes observed during successful MCP inspections.
Input schema / properties / max / descriptionRemoved value: -"hits, default 100, at most 500"Input schema / properties / repo / descriptionRemoved value: -"optional: one repo; empty = all"Input schema / properties / max / descriptionAdded value: +"hits, default 100, at most 500"Input schema / properties / repo / descriptionAdded value: +"optional: one repo; empty = all"Input schema / properties / max / descriptionRemoved value: -"hits, default 100, at most 500"Input schema / properties / repo / descriptionRemoved value: -"optional: one repo; empty = all"Input schema / properties / max / descriptionAdded value: +"hits, default 100, at most 500"Input schema / properties / repo / descriptionAdded value: +"optional: one repo; empty = all"Input schema / properties / max / descriptionRemoved value: -"hits, default 100, at most 500"Input schema / properties / repo / descriptionRemoved value: -"optional: one repo; empty = all"Input schema / properties / max / descriptionAdded value: +"hits, default 100, at most 500"Input schema / properties / repo / descriptionAdded value: +"optional: one repo; empty = all"Input schema / properties / max / descriptionRemoved value: -"hits, default 100, at most 500"Input schema / properties / repo / descriptionRemoved value: -"optional: one repo; empty = all"Input schema / properties / max / descriptionAdded value: +"hits, default 100, at most 500"Input schema / properties / repo / descriptionAdded value: +"optional: one repo; empty = all"Input schema / properties / max / propertiesRemoved value: -nullInput schema / properties / pattern / propertiesRemoved value: -nullInput schema / properties / repo / propertiesRemoved value: -nullInput schema / properties / max / descriptionRemoved value: -"hits, default 100, at most 500"Input schema / properties / max / propertiesAdded value: +nullInput schema / properties / pattern / propertiesAdded value: +nullInput schema / properties / repo / descriptionRemoved value: -"optional: one repo; empty = all"Input schema / properties / repo / propertiesAdded value: +nullDoes the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world, so safety is covered. The description adds genuine value by pinning the search to HEAD and to git grep -E semantics (extended regex, tracked content only), but it omits what a match returns and whether history or working-tree changes are excluded.
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?
The lead clause is efficiently front-loaded with the essential facts, but the definition is cut off mid-sentence ('all you may...'), which reads as an incomplete artifact rather than deliberate brevity.
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 three-parameter search tool with no output schema, an agent still cannot tell what results look like (file/line pairs? snippets?), what 'max' caps, or whether uncommitted files are searched. Combined with the truncation, the definition is not sufficient to call the tool confidently.
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 carries the full burden. It clarifies that 'pattern' is an extended regular expression and that 'repo' scopes to one repo or all, but 'max' is never mentioned and the truncated tail leaves the repo-scoping rule ambiguous.
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 (search) and resource (ce source at HEAD) plus the underlying implementation (git grep -E), which tells an agent exactly what kind of matching to expect. It does not differentiate itself from plausible siblings such as repo_search, directory_search, or source_read, and the phrase 'ce source' is left unexplained.
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 fragment 'in one repo or all you may' hints that scope is selectable, but there is no statement of when to reach for this tool instead of repo_search, source_read, or source_tree. No exclusions or prerequisites are given, and the sentence trails off before any guidance lands.
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.