Semantic search server for Apple Notes using vector embeddings (Qwen3-Embedding-0.6B or BGE-M3). Supports incremental indexing, date filtering, and statistics.
Severe structural issues undermine this server. Tool definitions are duplicated (search_notes, refine_search, get_stats appear 3-4 times with inconsistent schemas). Descriptions are present but minimal (10-50 chars), below the 50-200 char LLM-optimized baseline. Parameter descriptions exist but lack detail on constraints, formats, or valid ranges. No output schemas documented. Critical: tool definitions appear scattered across legacy files (Cloudflare Workers, Flask, FastMCP) with no unified registration visible in the main source. The fastmcp framework code is incomplete in the provided snippet, making it impossible to verify actual tool registration.
Get statistics about indexed Apple Notes
查看备忘录数量和索引状态
查看备忘录数量和索引状态
查看备忘录数量和索引状态
健康检查(无需 API Key)
使用过滤条件进行更精确的搜索
使用过滤条件进行更精确的搜索
使用过滤条件进行更精确的搜索
Tool definitions duplicated across multiple files with inconsistent schemas. search_notes appears 3 times (with/without api_key, different descriptions), refine_search and get_stats appear 2-3 times. No unified tool registration visible in main fastmcp code.
Descriptions are minimal (10-50 chars), far below LLM-optimized baseline of 50-200 chars. E.g., 'refresh_index' is only 25 chars ('手动触发备忘录导出和重新索引'). Descriptions lack WHEN to use, prerequisites, or return value hints.
No output schemas documented. LLMs cannot infer what fields search_notes returns (title, content, score, updated?). Pagination support unclear, does refine_search support limit/offset?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
手动触发备忘录导出和重新索引
手动触发备忘录导出和重新索引
在 Apple Notes 中进行语义搜索
Search Apple Notes using semantic search powered by BGE-M3 AI embeddings
在 Apple Notes 中进行语义搜索
在 Apple Notes 中进行语义搜索
Parameter descriptions lack format/constraint details. date_after/date_before state 'YYYY-MM-DD' format but no validation guidance. limit parameter has no min/max bounds stated (description says 'max 20' but no min). query parameter has no length limits.
API Key exposed as tool parameter in variants 2 and 10. Per pattern:secret-injection, credentials must use server-side injection via environment variables, not tool parameters. Agent traces log all parameters, secrets leak into logs.