AI Agent with MCP server integration demo - integrates LLM (Ollama) with MCP tools for weather, GitHub, MySQL, and visitor appointment data
Server has 5 tools with complete input schemas and descriptions, but quality is inconsistent. Tool names lack clear action verbs (e.g., 'query_visitor_info' is vague). Descriptions are present but brief (avg ~50 chars, below 194-char baseline). No output schemas documented. Parameters lack depth, many missing format constraints, ranges, or validation guidance. Error handling returns generic text responses without recovery guidance. No tool annotations (readOnlyHint/destructiveHint). mysql_query exposes dangerous SQL execution without clear safeguards or parameterization warnings.
获取真实天气数据(使用开放天气 API)
获取 GitHub 仓库详细信息
搜索 GitHub 仓库
执行 MySQL 查询
查询指定用户的访客预约信息
mysql_query tool exposes raw SQL execution without clear parameterization warnings or injection prevention guidance. Description does not emphasize security or explain when to use params array.
No output schemas documented for any tool. LLMs cannot predict response structure, forcing them to parse unstructured text and plan downstream calls blindly.
Tool names lack clear action verbs. 'query_visitor_info' is ambiguous (query what? return what?). 'get_real_weather' is acceptable but 'github_get_repo_info' mixes get+github unnecessarily.
Error handling returns generic text in isError responses without recovery guidance. E.g., 'Error: unknown tool' tells LLM nothing about what to try next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). mysql_query is destructive but unmarked; github tools are read-only but unmarked. LLMs cannot infer safety properties.