MCP server that retrieves financial statements (balance sheet, income statement, cash flow) for stocks listed on The Securities Exchange of Thailand (SET)
Single tool with adequate naming and schema, but description is generic and lacks LLM-optimization guidance. Parameter descriptions are present but minimal. No output schema documentation. No error handling guidance. Tool follows basic pattern but lacks production-grade polish.
Get the balance sheet of stock in The Securities Exchange of Thailand (SET). Args: symbol (str): Stock symbol in The Securities Exchange of Thailand (SET). from_year (int): The start YEAR of the financial statement for example 2024. to_year (int): The end YEAR of the financial statement for example 2024. Returns: str: The constructed financial statement. Include Income Statement, Balance Sheet, and Cash Flow Statement in CSV format with | as the delimiter.
Tool description is generic and lacks LLM-selection context. Does not explain WHEN to call this tool, what problem it solves, or how it differs from other data-fetching approaches. Missing discovery hints and use-case guidance.
No documented output schema. The docstring says 'Returns: str' with CSV format hint, but does not specify field names, structure, or how to parse the response. LLMs cannot reliably extract financial data without schema clarity.
Parameter descriptions are minimal (1-2 sentences each). Example: 'Stock symbol in The Securities Exchange of Thailand (SET)' does not explain what valid symbols look like, how to discover them, or whether case-sensitivity matters. Baseline: avg param description 72 chars; these are ~50 chars with limited actionable detail.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 46 | - | v1 |
No error handling guidance. No documentation of what happens if symbol is invalid, year range is unsupported, or the SET API is unavailable. LLMs receive no actionable recovery hints.
No validation or constraint documentation. Parameters lack enum values, ranges, or format hints. E.g., are years 2000 - 2099? Do symbols accept 1-5 chars? Can from_year > to_year? Current description invites LLM to guess.
Tool name 'get_financial_statement' is clear but overly generic. Does not distinguish that this is specific to Thai SET exchange. A more domain-specific name like 'get_set_financial_statement' or 'get_thai_stock_balance_sheet' would improve LLM clarity when multiple finance tools are available.