A multi-server MCP orchestration system with tools for e-commerce image generation, holiday lookups, and operations management (on-call rotations and issue tracking)
Server has 10 tools with mixed quality. Naming is generally verb-based (list_, find_, read_, generate_, get_, is_), which is good. However, descriptions vary widely in quality and completeness. Most tools lack structured output schema documentation. Parameter descriptions are present but often generic. No error handling guidance for recovery. Tools like generate_image have detailed parameter docs, but others like list_engineers have minimal descriptions. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Output schemas are not formally documented, LLMs must infer structure from descriptions.
根据关键词匹配最佳场景模板,返回完整模板内容。 参数: keywords: 用户描述中的关键词,用空格或逗号分隔。 例如 "白底 主图"、"小红书"、"lifestyle 生活图"。 返回: 匹配度最高的模板完整 JSON(包含 prompt_template、variants、 category_tips、examples、anti_ai_tips 等)。 无匹配时返回 01-hero-image.json 作为默认。
调用生图 API 生成电商图片。 参数: prompt: 图片生成 Prompt。 size: 图片比例,默认 '1:1'。可选:auto, 1:1, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 16:9, 9:16, 2:1, 1:2, 21:9, 9:21。 resolution: 分辨率档位,默认 '2k'。可选:1k, 2k, 4k。 image: 参考产品图片路径(可选),传入后走图生图模式。 output_dir: 输出目录,默认 'generated-images'。 poll_interval: 轮询间隔秒数,默认 5。 timeout: 轮询超时秒数,默认 300。 fmt: 图片格式,默认 'png'。 返回: 包含 'success'(布尔值)的字典。成功时包含 'files'(生成文件路径列表) 和 'cost'。失败时包含 'error'。
返回当前值班工程师信息。 返回: 包含 engineer_id、name、github_login、email、country_code、timezone 以及当前轮班的 starts_at、ends_at 的字典。若当前无人值班, 返回含 'error' 键的字典。
通过 GitHub 账号查找工程师。 参数: github_login: GitHub 用户名。 返回: 完整的工程师记录,找不到时返回含 'error' 键的字典。
查询某个日期在指定国家是否为公共假日。 参数: country_code: ISO 3166-1 二位字母国家代码,例如 'US'、'IT'、'JP'。 on_date: 日期字符串,格式为 YYYY-MM-DD。 返回: 包含 'is_holiday'(布尔值)的字典;若为假日,还会包含 'holiday_name' 和 'holiday_local_name'。出错时返回含 'error' 键的字典。
list_engineers has no input schema visible and minimal description (10 chars: 'List all engineers'). Cannot verify parameter structure or guide LLM on usage.
Output schemas not formally documented for any tool. Descriptions mention return structure (e.g., 'dict with keys...') but LLMs cannot parse unstructured text reliably. No JSON Schema for responses.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. generate_image is marked WRITE but tool definition lacks destructiveHint. Agents cannot infer safety properties.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
列出指定国家某年的所有公共假日。 参数: country_code: ISO 3166-1 二位字母国家代码。 year: 四位年份,例如 2026。 返回: 包含 'date'、'name'、'local_name' 的字典列表。出错时返回单元素列表, 其中含 'error' 键。
列出所有工程师。
列出开放状态的问题,可按优先级和/或负责人过滤。 参数: priority: 'P0'、'P1'、'P2'、'P3' 之一,不传则返回所有优先级。 assignee_id: 按工程师 ID 过滤,不传则返回所有人的问题。 返回: 包含 issue_id、title、priority、assignee_id、opened_at 的字典列表。 无匹配时返回空列表。
列出所有可用的电商图片场景模板。 返回: 每个模板包含 file(文件名)、id、name(中文名)、keywords、trigger_phrases。
读取指定模板文件的完整内容。 参数: template_file: 模板文件名,例如 '01-hero-image.json'。 返回: 模板的完整 JSON 内容。
Error handling lacks recovery guidance. generate_image returns {'error': '...'} but does not suggest next steps (e.g., 'Check .env config' or 'Retry with different parameters'). Agents cannot self-correct.
Parameter descriptions in list_open_issues use nullable types (string|null, integer|null) but do not explain mutual exclusivity or filtering semantics. LLMs may pass both priority and assignee_id when only one is needed.