Real-time stock quotes -- price, change %, volume, market cap, company name. All major US and intl exchanges.
Single tool 'finance_get_stock_price' has a well-structured schema with proper type definitions and a required parameter. Description is comprehensive (380+ chars) and includes use cases, return fields, and explicit non-use guidance. However, the parameter 'symbol' lacks a description in the schema itself, only the tool description mentions it. Output schema is documented in prose but not as a formal JSON schema. Error handling and recovery guidance are absent. The tool follows verb_noun naming convention and is READ_ONLY, which is appropriate.
Use this when you need a real-time stock price quote. Returns market data for any ticker symbol in JSON. Returns: 1. symbol and companyName 2. price (current) 3. change and changePercent 4. volume 5. marketCap 6. exchange (NYSE, NASDAQ, etc.) 7. previousClose 8. dayHigh and dayLow. Example output: {"symbol":"AAPL","companyName":"Apple Inc.","price":198.45,"change":2.30,"changePercent":1.17,"volume":54200000,"marketCap":3050000000000,"exchange":"NASDAQ","previousClose":196.15,"dayHigh":199.10,"dayLow":196.80} Use this FOR portfolio monitoring, financial analysis, building stock dashboards, price alerts, and investment research. Do NOT use for crypto prices -- use finance_get_token_price instead. Do NOT use for currency conversion -- use finance_convert_currency instead. Do NOT use for weather data -- use data_get_weather instead.
Parameter 'symbol' has no description in the input schema. The schema shows type:string but lacks a 'description' field. LLMs cannot infer that 'symbol' means a stock ticker (AAPL, TSLA, etc.) without reading the tool description.
Output schema is documented only in prose within the tool description (listing fields like symbol, companyName, price, etc.). No formal JSON Schema output definition is provided. LLMs cannot reliably parse or validate the response structure.
No error handling guidance. If an invalid ticker is passed (e.g., 'INVALID123'), the tool description does not explain what error will be returned or how the LLM should recover. No recovery hints like 'Try search_stocks() to find valid tickers.'
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2025-06-18+ | v2 |
Tool description includes example output JSON in prose. LLMs may reuse this exact structure or values literally rather than adapting to real API responses. Example values should be replaced with formal schema constraints.
No pagination or result limiting documented. If the tool ever returns multiple results or large datasets, there is no guidance on how to handle them. Current single-ticker design is fine, but scalability is unclear.