Search
core_searchFind entities by id, name or reference, across every module. Each module contributes its own results; what you can find here tracks what is mounted.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Free text. |
core_searchFind entities by id, name or reference, across every module. Each module contributes its own results; what you can find here tracks what is mounted.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Free text. |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world. The description adds genuine behavioral context that results are aggregated per module and vary with what is mounted, but it omits return format, ranking, and result limits.
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?
Two sentences, front-loaded with purpose and scope; no filler. The second sentence's phrasing ('tracks what is mounted') is slightly indirect compared to a crisp statement of result variability.
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 single-param read tool with full annotation coverage, most needs are met. But with no output schema, the description should say more about what results look like (entity shape, per-module grouping, limits), which it does not.
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?
The schema documents only one param 'q' as 'Free text.' (100% coverage, so baseline is 3), and the description does add meaning by clarifying that q accepts an id, name, or reference. However, it gives no syntactic detail (format of ids, partial vs exact matching), so value over the schema is modest.
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 (Find) and resource (entities) with an explicit scope (across every module), and clarifies it accepts id, name, or reference. It implicitly differentiates from the many module-scoped siblings (crm_list_contacts, gl_entries) by being the cross-module lookup, though it names no sibling explicitly.
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?
"Each module contributes its own results; what you can find here tracks what is mounted" hints at scope but never states when to prefer this over module-specific getters like core_get_customer or o2c_get_order. Usage is implied rather than directed, with no exclusions.
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.