FastMCP 2.0 official standard server demonstrating all core features: Tools, Resources, Prompts, and Context. Includes Stable Diffusion image analysis capabilities.
Server has 10 tools with basic schemas and descriptions, but significant quality gaps. Most tool descriptions are present but brief (10-50 chars), falling below the 50-200 char baseline for LLM-optimized descriptions. Parameter descriptions exist but are minimal. Tools 6-7 accept a 'ctx: Context' parameter which is a framework artifact, not a user-facing input, this violates the principle that tool parameters should match chat data model. Tool 8-10 (SD image analysis) lack visible input validation and error handling. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being READ_ONLY. Output schemas are not documented in the visible code. Error handling is absent, no recovery guidance or actionable error messages.
将两个数字相加 这是一个基础的数学工具,演示了 FastMCP 工具的基本用法。
分析 Stable Diffusion 生成的图片 提取图片中的生成参数,包括提示词、采样器设置、模型信息等。 支持 PNG、JPEG、WebP 等格式。
使用 LLM 分析文本 - 演示 Context.sample() 功能
批量分析目录中的 SD 图片
计算圆的面积和周长
快速提取 SD 图片的提示词 专门用于快速获取图片的正向和负向提示词。
获取当前时间信息
Context parameter exposed in tool signatures (tools 6-7). 'ctx: Context' is a framework artifact, not a user-facing input. LLMs cannot provide Context objects; this violates the chat data model and makes tools unusable by agents.
Descriptions too brief for LLM selection. 8 of 10 tools have descriptions under 50 chars (baseline 50-200). E.g., 'multiply_numbers' is just '将两个数字相乘' (8 chars). LLMs cannot determine when to use these tools vs similar ones.
No tool annotations despite all tools being READ_ONLY. Tool definitions lack readOnlyHint, destructiveHint, or idempotentHint metadata. Agents cannot infer safety properties or retry behavior.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
将两个数字相乘
演示使用 Context 的工具 - 官方推荐模式 这个工具展示了如何使用 Context 对象进行日志记录和进度报告。
反转字符串
Output schemas not documented. No visible return type documentation for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what fields does analyze_sd_image return?).
No error handling or recovery guidance. Tools lack validation, error messages, or actionable recovery steps. E.g., calculate_circle_area raises ValueError for negative radius, but no guidance on what to do next.