AI Xiaozhi client application for Orange Pi with MCP server implementation providing tools for Bazi (八字) divination, calendar management, system status, timers, and vision/screenshot capabilities
This server has significant definition quality gaps. Tool descriptions are present but often verbose and poorly structured for LLM consumption (e.g., take_photo at 500+ chars with embedded instructions). Parameter descriptions exist but lack actionable constraints, no enums for constrained inputs, no format specifications, no min/max bounds. Input schemas are visible but incomplete: many parameters lack type definitions (e.g., 'command' in start_countdown_timer is string but no format/pattern). Two deprecated tools (build_bazi_from_*) remain exposed. Error handling is minimal, responses use generic JSON success/failure without recovery guidance. Output schemas are undocumented. The server mixes Chinese and English descriptions, reducing clarity for LLM parsing. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels in metadata.
分析两人八字婚姻合婚
分析婚姻时机和配偶信息
根据农历时间、性别来获取八字信息(已弃用,使用get_bazi_detail替代)
根据阳历时间、性别来获取八字信息(已弃用,使用get_bazi_detail替代)
取消指定的倒计时任务
创建日程事件
删除日程事件
Verbose, instruction-heavy descriptions (take_photo, take_screenshot >500 chars) violate LLM-optimized description pattern (target 50-200 chars). These descriptions embed usage examples and mode instructions that should be parameter enums or separate documentation.
Missing or incomplete parameter constraints: 'command' in start_countdown_timer is a string but lacks format/pattern spec; 'date_type' in get_events_by_date lacks enum constraint (should be: today|tomorrow|week|month|custom); 'eight_char_provider_sect' lacks explanation of valid values (1 vs 2).
Two deprecated tools (build_bazi_from_lunar_datetime, build_bazi_from_solar_datetime) remain exposed with 'deprecated' markers in descriptions but are still callable. Should be removed or gated behind a deprecation warning.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
批量删除日程事件
获取所有活动的倒计时任务状态
根据时间(公历或农历)、性别来获取八字信息
获取所有日程分类
获取指定公历时间(默认今天)的黄历信息
按日期查询日程
根据八字获取公历时间列表
获取完整的系统状态
设置音量
启动一个倒计时任务
【图像/识图/OCR/问答】当用户提到:拍照、识图、读取/提取文字、OCR、翻译图片文字、看一下这张图/截图、这是什么、数一数、识别二维码/条码、对比两张图、分析场景/报错截图、表格/票据信息抽取、图片问答 时调用本工具。功能:①拍照或接收已有图片/截图/URL;②物体/场景/标签识别;③OCR(多语)与翻译;④计数/位置;⑤二维码/条码读取;⑥关键信息抽取(表格/票据);⑦两图对比;⑧就图回答问题。输入建议:{ mode:'capture'|'upload'|'url', image?, url?, question?, target_lang? };若用户未提供图片且允许,可触发拍照(mode='capture')。避免:纯文本知识问答、与图片无关的请求。English: Vision/OCR/QA tool. Use when the user provides or asks about a photo/screenshot/image: describe, classify, OCR, translate, count objects, read QR/barcodes, extract tables/receipts, compare two images, image QA. Inputs as above. Do NOT use for pure text queries.Examples: '这张图是什么', 'OCR这张发票并翻译成英文', '数一下图里有几只猫', '读一下这个二维码', '对比这两张UI截图的差异', '把截图里的表格提取成CSV'。
【桌面截图/屏幕分析】当用户提到:截屏、截图、看看桌面、分析屏幕、桌面上有什么、屏幕截图、查看当前界面、分析当前页面、读取屏幕内容、屏幕OCR 时调用本工具。功能:①截取整个桌面画面;②屏幕内容识别与分析;③屏幕OCR文字提取;④界面元素分析;⑤应用程序识别;⑥错误信息截图分析;⑦桌面状态检查;⑧多屏幕截图。参数说明:{ question: '你想了解的关于桌面/屏幕的问题', display: '显示器选择(可选)' };display可选值:'main'/'主屏'/'笔记本'(主显示器), 'secondary'/'副屏'/'外屏'(副显示器), 或留空(所有显示器);适用场景:桌面截图、屏幕分析、界面问题诊断、应用状态查看、错误截图分析等。注意:该工具会截取桌面,请确保用户同意截图操作。English: Desktop screenshot/screen analysis tool. Use when user mentions: screenshot, screen capture, desktop analysis, screen content, current interface, screen OCR, etc.
更新日程事件
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels in metadata. delete_event and delete_events_batch are marked DESTRUCTIVE but lack schema annotations to signal this to clients.
Output schemas are undocumented. Tools return JSON with success/data fields, but the structure of 'data' (e.g., fields in bazi_result, event object) is not specified. LLMs cannot plan downstream calls without knowing what fields to extract.