MCP Server for Colombo Stock Exchange prediction with 80%+ accuracy target, providing real-time market data, technical analysis, stock predictions, and screening capabilities
Server has 8 tools with basic schemas and descriptions, but significant gaps prevent production use. Tool names lack clear action verbs (fetch_market_data vs get_market_data inconsistency). Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Parameter descriptions are minimal or absent. No output schemas documented. Error handling is absent, tools return raw JSON with no recovery guidance. Security concerns: browser automation with live data fetching lacks rate limiting, timeout handling, or failure modes. Composition is weak, tools operate independently with no chaining support (e.g., predict_stock doesn't reference get_company_data). No pagination for list-like results (screen_stocks returns up to 50 items but no cursor/offset). Overall, definitions are skeletal, suitable for a prototype, not production.
Perform technical analysis on a stock
Fetch REAL current market data from CSE (ASPI, S&P SL20) - uses browser automation for live data
Get REAL accuracy from tracked predictions database
Get REAL detailed data for a CSE listed company - live browser fetch
Get market prediction for ASPI and S&P SL20
Predict stock trend - TRACKED for real accuracy calculation
Resolve pending predictions with live price data
No output schemas documented. Tools return raw JSON with no field descriptions, types, or structure guidance. LLMs cannot plan downstream calls or extract required data reliably.
Parameter descriptions are minimal or absent. 'type' enum in fetch_market_data lacks explanation of what each value returns. 'indicators' array in analyze_stock has no description of what each indicator calculates or when to use them.
No error handling or recovery guidance. Tools return raw errors with no actionable next steps. E.g., if predict_stock fails due to missing historical data, LLM has no guidance to call fetch_market_data first.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
Screen stocks using REAL live data
Tool composition is broken. predict_stock and analyze_stock both fetch historical data independently, wasting calls. No tool returns IDs or references needed for chaining (e.g., company_id from get_company_data is not used by predict_stock).
resolve_predictions is marked WRITE but has no confirmation step or dry-run mode. Agents cannot preview impact before executing irreversible state changes.