A multi-language MCP server repository with Azure AI integration, financial analysis, web search, and company research capabilities
This server exhibits significant quality gaps across naming, descriptions, and schema completeness. While 9 tools are registered with basic schemas, most lack depth in parameter documentation and output schema specification. Tool names are inconsistent (mix of verb_noun and noun patterns). Descriptions are present but generic (10-50 chars), falling below the 50-200 char baseline for LLM optimization. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being READ_ONLY. Error handling is minimal, no recovery guidance or actionable error messages visible in code. The codebase shows multiple independent implementations (Python FastMCP, Go servers) with no unified quality standard.
Get current stock price from Yahoo Finance
Search the web using Brave Search
Add two integers together
Fetches recent company news from Brave Search
Search the web using Brave Search API
Fetches company overview from Brave Search and last stock price from Yahoo Finance
Retrieve historical stock prices for a ticker from Yahoo Finance
Inconsistent tool naming conventions. Tools use verb_noun (get_stock_prices, list_onedrive_root) alongside namespace.PascalCase (WebTools.BraveSearch, FinanceTools.YahooStockPrice). LLMs struggle with mixed naming styles when selecting tools.
Descriptions are too short (10-50 chars) and lack context. 'Retrieve historical stock prices for a ticker from Yahoo Finance' (60 chars) is minimal; should explain WHEN to use it vs similar tools, what fields are returned, and any prerequisites. Baseline: 50-200 chars for LLM optimization.
No output schemas documented. Tools return data but LLMs cannot plan downstream calls without knowing response structure. E.g., get_stock_prices returns what fields? (date, close, volume, etc.). Missing output schema forces LLMs to guess.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
List files and folders in the user's OneDrive root directory
Fetches 5-day stock price history from Yahoo Finance
No tool annotations despite all tools being READ_ONLY. Annotations (readOnlyHint, destructiveHint, idempotentHint) are required by current spec (2026-07-28) to help agents reason about safety and retry behavior. All 9 tools should declare readOnlyHint: true.
Parameter descriptions are minimal or missing context. E.g., 'interval' in get_stock_prices says '1d, 1h, 1m' but does not explain what happens if an invalid value is passed, or whether the API supports all intervals. No validation guidance for LLMs.