Open-source Python quantitative finance MCP server for US stock and ETF research, options analytics, implied volatility, Monte Carlo simulation, AI prediction, backtesting, and risk analysis.
Server has solid naming conventions (verb_noun pattern), comprehensive parameter descriptions with regex patterns and examples, and clear tool annotations. However, output schemas are not documented in the source code, error handling lacks recovery guidance, and several tools have minimal descriptions (under 100 chars). Tool descriptions vary widely in quality, analyze_stock is excellent (300+ chars with WHEN/WHY guidance), but get_ai_prediction and get_monte_carlo are bare (under 50 chars). No pagination documented for list-like operations. Security posture is good (API key via env var, no secrets in params), but error responses lack actionable recovery paths.
Run a full institutional-grade quantitative analysis for a single stock. This is the **primary tool** for a complete market view. It aggregates results from AI prediction, implied-volatility radar, options-pressure map, Monte Carlo simulation, and strategy backtesting into one unified signal. Use this tool when: - You need a holistic bull/bear verdict with supporting evidence. - You want to compare multiple signal sources in a single call. - A user asks for a "stock analysis", "market view", or "trading signal". Prefer the dedicated sub-tools (get_iv_radar, get_monte_carlo, etc.) when you need only a specific data dimension, to reduce latency and token usage.
Generate institutional-grade stock analysis charts and images.
Generate a comprehensive stock research report.
Retrieve AI-powered directional prediction for a single stock.
Retrieve historical equity curve and backtest results for a single stock.
Four tools (get_ai_prediction, get_monte_carlo, get_equity_curve, get_pretrade_risk_scan) have minimal descriptions (<50 chars). LLMs cannot determine when to select these tools vs. alternatives. Descriptions must explain WHAT the tool does, WHEN to use it, and what it returns.
Output schemas are not documented in source code. The service.py file is not provided, so return types, field names, and structure cannot be verified. LLMs need documented schemas to plan downstream calls and extract data correctly.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2025-06-18+ | v2 |
Retrieve implied-volatility (IV) metrics for a single stock. Use this tool when: - You need to assess whether options are cheap or expensive relative to historical norms (IV rank / IV percentile). - You want the current volatility regime ("Low", "Normal", "Elevated", "Extreme") to frame risk sizing or strategy selection. - You are analyzing skew or risk-reversal direction (put-heavy vs call-heavy market). Do NOT use this tool if you already called analyze_stock — the IV data is included in that response.
Run a Monte Carlo simulation for a single stock.
Retrieve options-market positioning and dealer-hedging pressure zones. Use this tool when: - You want to identify max-pain price (where option sellers face least loss at expiry) as a gravitational target near expiration. - You need to locate gamma walls (strike clusters with large open interest) that act as price magnets or resistance/support levels. - You want the expected-move range implied by the options market for the current weekly/monthly expiry cycle.
Run a pre-trade risk scan for a single stock.
Register a new free HPSILab account and receive an API key.
Error handling lacks recovery guidance. The ProtocolFastMCP adapter marks errors as isError=True but does not provide actionable next steps (e.g., 'Try register_account() first' or 'Check HPSILAB_API_KEY format'). Errors should guide the LLM toward resolution.
generate_stock_images and generate_stock_research_report create external artifacts and consume quota but lack dry-run or confirmation support. Agents may accidentally generate expensive reports. Consider adding a 'dry_run' parameter or confirmation step.
Tool descriptions for generate_stock_images and generate_stock_research_report do not explain what artifacts are created, where they are hosted, or how to access them. Users need to know the output format and lifecycle.