Log Audit
log_auditWrite the audit line for a gate decision or an order intent (returns the line id).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| note | No | ||
| reference_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
log_auditWrite the audit line for a gate decision or an order intent (returns the line id).
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| note | No | ||
| reference_id | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It does disclose that this is a write operation and that it returns a line id, which is useful. However, it does not cover side-effect scope, idempotency, failure behavior, or whether the audit line is persisted immediately.
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 description is a single front-loaded sentence with no filler. It packs the action, purpose, and return value together efficiently, though it is arguably too sparse to fully serve its purpose.
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 write tool with three undocumented parameters, no annotations, and no usage context, the description is too thin. Even with an output schema present, the agent has to guess what the parameters mean and when to invoke the tool relative to its siblings.
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 0%, so the description must compensate, but it does not explain what 'kind', 'reference_id', or 'note' actually mean or which values are valid. The phrase 'gate decision or an order intent' hints that 'kind' distinguishes these, but that link is not made explicit.
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 and resource ('Write the audit line') and names the two use cases it serves ('gate decision or an order intent'), plus the return value ('line id'). This makes the tool's role clear and reasonably distinct from getter siblings like get_pathway_status or get_price. It could be sharper about what an 'audit line' is, but the verb+resource+context is solid.
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?
No guidance is given on when to call this tool versus siblings such as gate_transaction or create_order_intent. The phrase 'for a gate decision or an order intent' implies it follows those actions, but there is no explicit 'use after X' or 'use instead of Y' instruction, leaving the timing and selection logic to inference.
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.