crud_get
Get a specific object by UUID from the current domain.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Object UUID | |
| object_type | Yes | The object type (e.g. 'customer', 'project', 'tenant') |
Get a specific object by UUID from the current domain.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Object UUID | |
| object_type | Yes | The object type (e.g. 'customer', 'project', 'tenant') |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description does not need to repeat safety. It adds the 'current domain' scoping constraint, which is useful context not captured elsewhere. However, it does not describe error behavior, return format, or any side effects, though the read-only annotation covers the main risk.
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 sentence with no filler. The essential information (verb, resource, identifier, scope) is front-loaded and every word contributes to the meaning.
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 simple get-by-UUID tool with two parameters and read-only annotations, the description covers the core function and scope. It does not mention the return payload, but the absence of an output schema makes that less critical. Minor gaps like error conditions are acceptable given the tool's simplicity.
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 description coverage is 100%, with both parameters (uuid and object_type) already documented in the input schema. The description does not add any parameter-specific semantics beyond what the schema provides, so it stays at the baseline for high coverage.
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?
The description states a specific verb ('Get'), a resource ('specific object'), and the identifier mechanism ('by UUID') along with the scope ('from the current domain'). It clearly distinguishes from siblings like crud_search (which would be for searching without a known UUID) and crud_create/update/delete, making its purpose unambiguous.
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 usage when you have a UUID and need a single object, which differentiates it from crud_search. However, it does not explicitly mention alternatives or when not to use it. The phrase 'by UUID' strongly suggests it is not for searching, so the usage context is clear but not formally stated.
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.