-
Notifications
You must be signed in to change notification settings - Fork 6
Description
What I was doing
Comprehensive testing of all 14 MCP tools across 3 categories (price_data, fundamentals, macro) to validate production readiness. Initial results showed 7/14 endpoints returning 0 records with default/intuitive parameters.
What went wrong
7 endpoints returned empty datasets initially, appearing to be non-functional:
get_financial_statements(symbol="MSFT")→ 0 recordsget_financial_ratios(symbol="MSFT")→ 0 recordsget_growth_metrics(symbol="MSFT")→ 0 recordsget_insider_trades(symbol="MSFT")→ 0 recordsget_economic_indicator(...)→ 0 recordsget_earnings_calendar(from_date="2026-03-01", to_date="2026-03-15")→ 0 recordsget_economic_calendar(from_date="2026-03-01", to_date="2026-03-15")→ 0 records
Root cause: Not tool bugs, but missing/misleading parameter documentation and undiscovered constraints.
Root Causes & Limitations Discovered
1. Fundamentals Tools - Period Parameter Constraint
Issue: Quarterly periods return 0 records; annual periods required but not documented
Details:
get_financial_statements(symbol="MSFT", period="annual", limit=10)→ ✓ 10 recordsget_financial_statements(symbol="TSLA", period="quarterly", limit=8)→ ✗ 0 records- Same issue affects:
get_financial_ratios,get_growth_metrics
Test Results: 80% success with annual, 0% with quarterly
Severity: Medium — Tools work but undocumented constraint causes user confusion
2. Fundamentals Tools - Limited Historical Data
Issue: Fundamental metrics only available for ~2 years of annual data
Details:
get_financial_ratios()consistently returns 2 records max per symbolget_growth_metrics()consistently returns 2 records max per symbol- No documented limit or explanation
3. Economic Indicators - Date Range Sensitivity
Issue: Narrow date ranges (1-15 days) return 0 records; requires monthly+ history
Details:
- Problem: Indicators are monthly data, but users may request narrow windows
- Need better documentation on date range requirements
4. Earnings Calendar - Hard Limit at 4000 Records
Issue: get_earnings_calendar() capped at 4000 records, not documented
Details:
- All tested date ranges return exactly 4000 records
- No pagination or "more data available" indicator
- Users unaware they're getting truncated results
Severity: Medium — Silent data truncation is dangerous for research
5. Some Economic Indicators - Minimal Data Points
Issue: Several economic indicators return only 2-3 records
- "GDP": 3 records (quarterly data)
- "federalFundsRate": 2 records
- "nonFarmPayrolls": 2 records
Where the Issue Likely Is
Documentation Issues (Primary)
tools/docs/fundamentals/*.md- Missing note about period parameter constraint (annual only)tools/docs/fundamentals/*.md- Missing note about ~2 year historical limittools/docs/macro/get_earnings_calendar.md- Missing documentation of 4000 record captools/docs/macro/get_economic_indicator.md- Missing guidance on date range requirements
Test Results Summary
| Tool | Fix Applied | Success Rate |
|---|---|---|
| get_financial_statements | Use period="annual" | 80% |
| get_financial_ratios | Use period="annual" | 80% |
| get_growth_metrics | Use period="annual" | 80% |
| get_insider_trades | (no fix needed) | 100% |
| get_economic_indicator | (works correctly) | 100% |
| get_earnings_calendar | Use 2+ month range | 100% |
| get_economic_calendar | Use 3-6 month range | 100% |
Overall: 100% of endpoints functional after parameter discovery
Suggested Fixes
High Priority (Documentation)
-
tools/docs/fundamentals/get_financial_statements.md- Add: "
⚠️ Only annual periods supported. Quarterly returns empty results." - Add: "⏱️ Limited to ~2 years of historical annual data"
- Add: "
-
tools/docs/fundamentals/get_financial_ratios.md- Add: "
⚠️ Only annual periods supported. Quarterly returns empty results."
- Add: "
-
tools/docs/fundamentals/get_growth_metrics.md- Add: "
⚠️ Only annual periods supported. Quarterly returns empty results."
- Add: "
-
tools/docs/macro/get_earnings_calendar.md- Add: "📌 Results capped at 4000 records per query."
-
tools/docs/macro/get_economic_indicator.md- Add: "📊 Indicators are monthly or quarterly. Daily/weekly queries return 0 records."
Environment
- Thread: 2026-03-09/10 MCP Tools Comprehensive Testing
- Error Type: mcp_documentation + mcp_data_constraints
- Test Coverage: 50 parameter combinations across 7 endpoints, 100% reproducible