MCP Server for Vietnamese stock market data and AI analysis. Exposes 35 financial analysis tools: stock search, company profiles, screener with 13 strategies, technical analysis, financial ratios, news sentiment, insider activity, macro indicators, and investment playbook categories.
VIMO server has 9 tools with reasonable naming conventions (verb_noun pattern) and bilingual descriptions. However, critical gaps in parameter descriptions, output schema documentation, and error handling significantly limit production readiness. Most tools lack explicit output schema definitions, agent developers cannot predict what fields to expect. Parameter descriptions are sparse or missing entirely. Error handling is absent, no guidance for timeouts, rate limits, or invalid inputs. The server enforces API key validation early (good security posture) and applies basic input sanitization, but the MCP tool definitions themselves fall short of the 'A' standard. Average per-tool score: 58/100.
Annual financial ratios: ROE, ROA, margins, P/E, P/B for a Vietnamese stock. Chỉ số tài chính hàng năm.
VNINDEX/VN30/HNX historical closing prices + market breadth. Lịch sử chỉ số VNINDEX/VN30/HNX.
Vietnam + US + China macro indicators: GDP, CPI, interest rates, FX, gold, oil. Chỉ số vĩ mô Việt Nam, Mỹ, Trung Quốc.
OHLCV price history for individual Vietnamese stocks. Lịch sử giá OHLCV cổ phiếu.
Latest stock price from SSI FastConnect — real-time during market hours (15min delay). Includes foreign buy/sell flow and optional 1-min intraday OHLC bars. Giá cổ phiếu real-time từ SSI.
Company profile + latest price + key financial ratios + moat score — all in 1 call. Thông tin tổng quan cổ phiếu: giá, tài chính, moat.
Output schemas are not documented anywhere in the MCP tool definitions. Agents cannot know what fields to expect from each tool's response, forcing them to guess and potentially fail at field extraction. This violates pattern:tool (Document the output schema).
Parameter descriptions are incomplete or missing. 'days' in get_index_history is undescribed. 'index' parameter has no enum constraint, LLM could hallucinate invalid index names. 'strategy' in screen_stocks lacks enumeration of valid strategies. This violates pattern:constrained-input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Technical analysis signals: RSI, MACD, Bollinger Bands, buy/sell votes...
Multi-strategy stock screening (13 strategies: Buffett, Graham, Piotroski, Lynch, O'Neil...). Sàng lọc cổ phiếu theo 13 chiến lược đầu tư.
Search Vietnamese stocks by ticker or company name. Filter by sector (VN30, Banking, Tech). Tìm cổ phiếu theo mã hoặc tên.
No error handling guidance. Agents do not know how to recover from network timeouts (set to 30s), rate limits, or API authentication failures. Tool definitions do not explain what exceptions are possible or how to retry. This violates pattern:recovery-guide and pattern:error-classification.
'sector' and 'index' parameters accept free-form strings instead of enums. LLM has no way to know valid sectors (VN30, Banking, Tech) or indices (VNINDEX, VN30, HNX) except by reading prose descriptions. Formal enum constraints are missing.
get_technical_signals has a minimal description ('Technical analysis signals: RSI, MACD, Bollinger Bands, buy/sell votes...') that does not explain what the tool returns or when an agent should call it. At 85 characters, it is below the baseline of 194 chars and lacks context for LLM selection.
Pagination is not documented for search_stocks. If results can exceed 50, there is no 'next_cursor' or 'total_count' returned. Large result sets risk exceeding context limits.
No deduplication of tool intent. Package description claims '34 tools' but only 9 are documented. Undocumented tools or incomplete exposure suggests the server was not fully implemented in MCP format.