post_strategy_reaction_code
Create a new code reaction. POST /api/v2/strategy/reaction/code
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Create a new code reaction. POST /api/v2/strategy/reaction/code
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the agent knows this is a non-destructive write. The description adds nothing beyond restating the verb and the endpoint path -- it does not disclose that fields like symbol/webhook_id are conditionally required, that price_symbol is needed when use_price is true, or what the call returns.
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 short sentences, front-loaded with the action. The endpoint path is marginally redundant but harmless. Nothing is bloated.
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?
This is a complex create tool with 11 nested fields and several conditional requirements, no output schema, and no description of the resulting entity or its side effects. The terse description leaves an agent without the context needed to call it 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?
The single top-level 'body' param carries no description (reported coverage 0%), so the description does not compensate. However, the nested schema properties are individually well documented (code, send_signal, symbol, webhook_id, etc.), so an agent can still construct the payload from the schema alone. Baseline 3 reflects that the schema does the heavy lifting and the description adds nothing.
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 ("Create a new code reaction"), which distinguishes it from the LLM-reaction siblings and the read/duplicate/post_strategy_code tools. However, it does not explicitly name an alternative (e.g., post_strategy_reaction_code_duplicate) or state what a "code reaction" is, so it stops short of true sibling differentiation.
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?
There is no guidance on when to use this tool versus post_strategy_reaction_code_duplicate, post_strategy_code, or post_strategy_reaction_llm. No prerequisites or context are given beyond the implied create action.
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.