Real-time MCP server for options order flow analysis
Server has 4 tools with basic descriptions and partial schemas. Tool names follow verb_noun convention (analyze_, configure_, get_, data_broker_). However, descriptions lack specificity on WHEN to use each tool vs. alternatives, and parameter descriptions are minimal. Input schemas are present but incomplete: 'configurations' parameter uses generic List[Dict[str, Any]] instead of a structured schema with typed fields. No output schemas documented. Error handling exists but lacks recovery guidance. Missing tool annotations (readOnlyHint, destructiveHint). No evidence of idempotency guarantees or pagination support.
Get comprehensive options order flow analysis for a ticker. This tool provides real-time analysis of options order flow including: - Monitored contracts with bid/ask data - Detected patterns (sweeps, blocks, unusual volume) - Institutional bias and directional signals - Historical trend analysis - Most active strikes
Configure options monitoring for specific contracts. This tool sets up monitoring for specific options contracts to track order flow.
Check the health and connectivity status of the data broker. This tool verifies that the mcp-trading-data-broker service is running and accessible.
Get current options monitoring configuration status. This tool shows which options contracts are currently being monitored for a ticker.
configure_options_monitoring_tool uses untyped List[Dict[str, Any]] for 'configurations' parameter instead of structured schema with expiration (string/YYYYMMDD), strike_range (array of numbers), include_both_types (boolean). LLMs cannot validate input without explicit field types.
No output schemas documented for any tool. Callers cannot know what fields to expect (e.g., does analyze_options_flow return 'patterns', 'signals', 'bias'?). LLMs must guess structure, risking parse errors.
Tool descriptions lack WHEN/WHY guidance. 'Get comprehensive options order flow analysis' does not explain when to call this vs. get_monitoring_status_tool, or what prerequisites exist (must configure monitoring first?). Ambiguous selection.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
configure_options_monitoring_tool description does not state it modifies state (WRITE risk). Agents need to know this is not idempotent and may have side effects. Missing destructiveHint annotation.
Error responses (build_error_response) return XML with generic suggestions but no actionable recovery steps. 'Data broker not running' does not tell LLM what to do next (retry? call health_check first? escalate?).