MCP server for forex session volatility analysis
The VOLI server defines a single forex analysis tool with strong schema documentation and clear parameter descriptions. The tool name 'analyze_forex_session' starts with an action verb and describes its function clearly. Input schema is complete with proper JSON Schema structure (type, properties, required fields, enum constraints). Output schema is exceptionally detailed with documented object structures for nested fields like historical_context and macro_events. The description is comprehensive (520 characters, within optimal range), explicitly covering what the tool returns, supported pairs, weekend behavior, and trading guidance. Parameters are well-constrained (target_session uses enum with clear trading session hours documented). However, the server has ONE tool only, limiting composition assessment. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clearly being a READ_ONLY operation. Error handling details are not visible in the provided source, no recovery guidance, categorization, or actionable error messages documented.
Analyze forex session volatility and generate trading guidance for a given currency pair. Provides expected deviation in pips, a confidence score (0-1), market drivers, historical pattern context, and agent-specific trading recommendations based on historical pattern matching and current market conditions. Returns a JSON object with fields: pair (string), session (string), time_window_minutes (integer), volatility_expectation (Low/Medium/High/None), expected_deviation_pips (number), confidence (0-1 number), drivers (array of strings), historical_context (object with similar_conditions_occurrences and expansion_rate), macro_events (array of named events), primary_macro_event (nearest named event or null), and agent_guidance (string). On weekends, returns session='Market Closed' with volatility_expectation='None'. Supported pairs: EUR/USD, GBP/USD, USD/JPY, USD/CHF, AUD/USD, USD/CAD, NZD/USD, EUR/GBP, EUR/JPY, GBP/JPY and other major/minor pairs.
Tool missing readOnlyHint annotation despite being purely analytical (no side effects)
No error handling or recovery guidance documented. Tool may fail on invalid pairs, unsupported sessions, API timeouts, or malformed dates, but source shows no error categorization or actionable recovery messages
Output schema includes raw datetime strings and complex nested objects (macro_events array with optional fields). No guidance on datetime format (ISO 8601 assumed) or null handling for nullable event fields
No pagination or result limits documented despite returning arrays (drivers, macro_events). If macro_events grows unbounded, response bloats context
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 66 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |