Chinese herbal medicine AI generation server that provides text-to-image, text-to-video, text-to-speech capabilities integrated with Volcano Engine API and EdgeTTS for generating comprehensive Chinese medicine content
This server has 7 tools with basic naming (mostly get_/generate_ verbs) but significant quality gaps. Tool descriptions exist but are often generic (many under 100 chars) and lack context for LLM selection. Parameter descriptions are minimal or absent for critical parameters. Input schemas are present but lack proper validation constraints (no enums, no min/max bounds, no format specifications). Output schemas are completely undocumented, no tool specifies what fields its response contains. Error handling is absent from all tool definitions. Chinese language descriptions and parameter naming reduce LLM clarity. The server lacks tool annotations (readOnlyHint/destructiveHint) despite having both read and write operations. No pagination support visible despite tools that could return large results (get_chinese_herb_info, generate_herb_summary). Security concern: set_api_key exposes credentials as a tool parameter, violating secret-injection pattern.
将视频、音频和文字(字幕)合成为一个新的视频文件,并上传到COS。
将文本转换为语音,并将音频文件上传到腾讯云COS,返回可公开访问的URL。
根据中药材信息生成一段简洁的口播文案,适配短视频。
生成指定中药材的图片。
获取指定中药材的详细信息。
生成关于指定中药材的短视频。
设置豆包API密钥 (会覆盖配置文件中的值)
set_api_key exposes credentials as a tool parameter, violating secret-injection pattern. API keys must be passed via environment variables or secure vault, never as parameters that get logged.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract relevant fields. Tools should document what fields are returned (e.g., 'Returns {url: string, size: string, created_at: ISO8601}')
Multiple tools lack enum constraints for parameters that accept only specific values. size should be an enum (512x512, 1024x1024, etc.), ratio should be an enum (9:16, 16:9, 1:1), voice should be an enum (valid voice names). Free-form strings invite LLM hallucination.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Numeric parameters lack explicit min/max bounds in schemas. duration is type string with default '8' (should be integer 1-60), speed has bounds only in description, not in schema constraints. LLMs may pass invalid values.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present despite having both read-only tools (get_*, generate_audio_from_text) and write tools (set_api_key, combine_herb_video). Annotations help agents understand side effects.
Error handling absent. No tool specifies what errors it can return or how to recover. E.g., what if herb_name is invalid? What if video generation times out? What if COS upload fails? Agents need recovery guidance.
Parameter descriptions heavily use Chinese language. While the server targets Chinese herbs, parameter descriptions in the MCP protocol should be English for broader LLM compatibility and tool discovery.
generate_herb_summary expects herb_info as a JSON string, which is error-prone. LLMs frequently misformat stringified JSON. Consider accepting a structured object or documenting the exact JSON schema expected.