MCP server for placing buy and sell orders on Zerodha trading platform using KiteConnect API
Both tools have minimal descriptions (under 50 chars) and lack parameter descriptions entirely. Schemas are present but parameters lack type context. Tool names use generic handler suffix rather than verb_noun pattern. No error handling, output schema documentation, or security considerations. Critical gaps across naming, descriptions, and parameter documentation.
Place a buy order for a stock
Place a sell order for a stock
Tool names use generic 'Handler' suffix instead of verb_noun pattern. 'buyStockHandler' should be 'buy_stock' or 'place_buy_order'. LLMs cannot infer intent from 'Handler' suffix.
Parameter descriptions are completely missing. 'symbol' and 'quantity' have no descriptions explaining format, constraints, or examples. LLMs cannot validate input without this guidance.
Tool descriptions are under 50 characters and lack context. 'Place a buy order for a stock' does not explain when to use this vs alternatives, what it returns, or prerequisites (e.g., authentication, account setup).
No output schema documented. Tools return text responses but LLMs cannot parse structured results or chain to downstream tools. Missing documented return type.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Credentials hardcoded in source ('YOUR_ACCESS_TOKEN', 'YOUR_KITE_API_KEY'). Secrets must never appear as tool parameters or in code. Use server-side secret injection via environment variables.