Server has 3 tools with significant definition gaps. Two Python tools (get_translation_prompt, get_answer_prompt) are prompts, not tools, they return static text templates, not actionable results. The curl tool has a basic schema but lacks error handling guidance. Descriptions are present but generic. No parameter validation, no output schemas documented, no error recovery patterns. Tool composition is weak: prompts should be separate from tools. STDIO transport limits remote accessibility.
Get a prompt to answer a GitHub issue or PR on behalf of @kevwan, the author of zeromicro/go-zero.
Get a prompt to update a GitHub issue or PR by translating Chinese content to English.
fetch this webpage, only call me when user explicitly asks for it
Prompts registered as tools: get_translation_prompt and get_answer_prompt are @mcp.prompt() decorators, not @mcp.tool(). They return static prompt templates, not actionable results. Prompts should not be tools, they belong in the prompts capability, not tools.
use_curl lacks error recovery guidance. Errors return raw text ('Error fetching URL: ...') without actionable next steps. LLM cannot determine if error is retryable, user-fixable, or fatal.
No output schemas documented. Tools return unstructured text. LLMs cannot plan downstream calls or extract structured data. Curl returns raw HTML as plain text, no field definitions.
use_curl description is vague ('fetch this webpage, only call me when user explicitly asks for it'). Does not explain what the tool returns, when to use it vs alternatives, or what formats it supports. Under 100 chars.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
No input validation or constraints. use_curl accepts any URL string without format validation, timeout limits, or security checks (e.g., no SSRF protection, no URL scheme validation).