MCP server for executing stock trading orders on the Zerodha exchange
Critical gaps across all dimensions. Tool naming violates verb-noun convention (add-two-numbers, buy-a-stock, sell-a-stock use hyphens and lack clarity). Two destructive tools (buy/sell) have zero input parameter descriptions, LLMs cannot understand what 'stock' and 'quantity' mean or their constraints. No output schemas documented. No error handling guidance. Schemas present but parameters lack descriptions entirely. This server exposes real financial operations without safeguards.
Buys a stock on zerodha exchange for the user. It executes a real order for the user on the exchange
Sells a stock on zerodha exchange for the user. It executes a real order for the user on the exchange
Destructive tools (buy-a-stock, sell-a-stock) have ZERO parameter descriptions. 'stock' and 'quantity' parameters lack any guidance on format, constraints, or valid values. LLMs cannot safely invoke these without guessing.
No output schemas documented for any tool. Callers cannot know what fields to expect or how to chain results to downstream tools. Violates pattern:tool and pattern:response-shaper.
Destructive financial operations (buy/sell) lack confirmation, dry-run, or permission gates. No error handling guidance. Agents can execute real trades without safeguards. Violates pattern:confirmation-request and pattern:permission-gate.
Tool naming does not follow verb_noun convention. 'add-two-numbers' should be 'add_numbers'; 'buy-a-stock' should be 'buy_stock'. Hyphens and articles reduce clarity for LLM parsing.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 29 | 2026-07-28+ | v2 |
API credentials (apiKey, accessToken) hardcoded in trade.ts with empty values. No secret injection pattern. If populated, credentials would leak into logs and traces. Violates pattern:secret-injection.