MCP server for PICUI image hosting service, supporting user profile, storage strategies, token generation, image upload, image listing, image deletion, album listing, and album deletion
Single tool 'picui_api' exhibits poor design patterns. Tool name lacks action verb (should be 'upload_image', 'list_images', etc.). Description is generic Chinese text without actionable guidance for LLM selection. Schema is present but massively overloaded: 18 optional parameters crammed into one tool, many with unclear dependencies (e.g., 'file_path' marked optional but required for upload_image action). No parameter validation guidance, no error recovery hints, no output schema documentation. The tool violates single-responsibility principle by combining 8 distinct operations (get_profile, upload_image, delete_image, etc.) into one dispatcher. This forces the LLM to reason about which parameters apply to which action, increasing error likelihood.
PICUI图床多功能API工具,action区分操作类型。支持:用户资料、策略列表、生成Token、上传图片、图片列表、删除图片、相册列表、删除相册。参数详见文档。
Tool combines 8 distinct operations (get_profile, upload_image, list_images, delete_image, etc.) into single dispatcher. Violates single-responsibility principle. LLM must reason about which parameters apply to which action.
Tool name 'picui_api' lacks action verb. Should be split into verb_noun names: 'upload_image', 'list_images', 'delete_image', 'get_profile', 'generate_token', 'list_albums', 'delete_album', 'get_strategies'. Current name provides zero semantic hint about what the tool does.
18 optional parameters with unclear dependencies and conditional requirements. 'file_path' marked optional but required for upload_image action. 'num' and 'seconds' required for generate_token but marked optional. No documentation of which parameters apply to which action. LLM cannot determine valid parameter combinations.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 29 | <=2025-11-25 | v2 |
No output schema documented. Tool returns Union of 7 different response types (PicuiUserProfile, PicuiStrategyList, etc.) but LLM has no way to know which fields to expect for each action. Downstream tool chaining impossible.
Error handling returns RuntimeError with minimal context. No recovery guidance. 'HTTP错误: 500 - Internal Server Error' tells LLM nothing about whether to retry, ask user, or abandon. No categorization of retryable vs fatal errors.