A collection of MCP servers including weather queries, SQL database operations, and PowerPoint translation services
Three tools with significant quality gaps. query_weather and query_database have verbose, example-heavy descriptions (500+ chars) that violate token efficiency and risk LLM literal reuse of examples. translate_ppt lacks any visible schema or parameter descriptions in source. All three tools lack error handling guidance, output schema documentation, and proper parameter constraints. No tool annotations (readOnlyHint/destructiveHint). Naming is acceptable (verb_noun pattern), but descriptions are poorly structured for LLM consumption.
執行 SQL 查詢並返回格式化結果,支援查詢銷售數據庫中的資料。 ## 使用場景 - 查詢銷售數據分析 - 獲取區域、城市或產品的銷售統計 - 比較不同時間段的銷售表現 - 分析產品類別的銷售趨勢 ## 參數說明 :param query: SQL 查詢語句 (僅支援 SELECT 操作) ## 資料庫結構 資料庫包含 'sales' 表,具有以下欄位: - ID (VARCHAR):銷售記錄ID - Date (DATE):銷售日期 - Region (VARCHAR):地區,值包括:関東, 関西 - City (VARCHAR):城市,值包括:東京, 横浜, 埼玉, 千葉, 京都, 大阪, 神戸 - Category (VARCHAR):類別,值包括:野菜, 果物 - Product (VARCHAR):產品名稱,如:キャベツ, 玉ねぎ, トマト, リンゴ, みかん, バナナ - Quantity (INT):銷售數量 - Unit_Price (DECIMAL):單價 - Total_Price (DECIMAL):總價 ## 輸入範例 - "SELECT * FROM sales LIMIT 5" - 查詢前5筆銷售記錄 - "SELECT Region, SUM(Total_Price) FROM sales GROUP BY Region" - 按地區統計銷售總額 - "SELECT Product, SUM(Quantity) FROM sales WHERE Category='果物' GROUP BY Product ORDER BY SUM(Quantity) DESC" - 查詢水果類銷量最高的產品 - "SELECT City, AVG(Unit_Price) FROM sales WHERE Product='リンゴ' GROUP BY City" - 查詢各城市蘋果的平均單價 ## 注意事項 - 僅支援 SELECT 等讀取操作,不支援修改資料庫的操作 - 查詢結果將自動格式化為易讀的表格 - 較複雜的查詢可能需要幾秒鐘處理時間 :return: 格式化後的查詢結果
查詢指定城市的天氣資訊,提供當前溫度、天氣狀況、濕度等資料。 ## 使用場景 - 規劃旅行或戶外活動 - 查詢特定城市的天氣狀況 - 了解天氣趨勢以做出決策 ## 參數說明 :param city: 城市名稱(需使用英文) ## 輸入範例 - "Taipei" - 查詢台北市天氣 - "Tokyo" - 查詢東京天氣 - "New York" - 查詢紐約天氣 - "London" - 查詢倫敦天氣 ## 注意事項 - 城市名稱必須使用英文 - 對於有空格的城市名稱,請保留空格(例如:"New York") - 結果包含溫度、濕度、風速等信息 :return: 格式化後的天氣資訊
翻譯 PowerPoint 演示文稿中的所有文本內容,支援多種語言對。
Descriptions contain example values (city names, SQL queries, language codes) that LLMs reuse literally instead of adapting to context. query_weather lists 'Taipei', 'Tokyo', 'New York', 'London'; query_database includes full SQL statements. This violates pattern:tool-description and causes hallucinated invalid inputs.
Descriptions exceed 500 characters (query_weather ~450, query_database ~600), wasting tokens and burying key details. Baseline for A+ tools is 194 chars (p90=392). Verbose descriptions dilute signal and increase hallucination risk.
No error handling guidance. Tools do not document what happens on invalid input (bad city name, malformed SQL, missing file). Errors should guide recovery: 'City not found. Try search_cities() first.' Current implementation returns raw error strings without actionable next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
Output schemas not documented. LLMs cannot plan downstream calls or extract fields. query_weather returns formatted string; query_database returns table; translate_ppt returns file path, none are formally specified. Violates pattern:tool.
translate_ppt has no visible parameter descriptions in source code. file_path, olang, tlang are bare strings with no format guidance (e.g., 'olang must be ISO 639-1 code like en, zh, ja'). Parameter descriptions are mandatory per pattern:tool-description.