MCP server for placing stock trading orders via Zerodha Kite Connect API
Both tools have critical definition gaps. Tool names (buy_a_stock, sell_a_stock) use underscores but lack clear verb-noun structure ('buy' and 'sell' are verbs, but 'a_stock' is awkward). More critically: zero tool descriptions exist, LLMs cannot determine when/why to select these tools. Parameters lack descriptions entirely (stock and qty have null descriptions in schema). No output schema is documented. No error handling guidance. This server fails on 4 of 6 core definition dimensions.
All tools lack descriptions. LLMs cannot determine when to call buy_a_stock vs sell_a_stock or what each does.
All parameters have null descriptions. 'stock' and 'qty' are ambiguous, stock symbol? stock name? qty in shares? units?
No output schema documented. Callers cannot know what fields the response contains or how to chain to other tools.
API credentials (apiKey, accessToken) hardcoded in trade.js. Secrets must never appear in source code or tool parameters.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 26 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If placeOrder fails, LLM receives only console.error output with no actionable next steps.