Multi-package MCP server suite providing file operations, web interaction, memory/RAG, shell execution, and filesense directory indexing for AI agents
Mixed quality across 8 tools. Five Filesense tools (filesense_init, filesense_sync, filesense_summarize, filesense_query, filesense_check, filesense_sync_and_summarize, filesense_navigate) are well-named with action verbs and substantial descriptions (100-300+ chars). Parameters have types and descriptions. However, multiple tools exhibit composition problems (filesense_sync_and_summarize combines two operations), and output schemas are NOT documented in the provided code. web_fetch is well-designed with security measures (SSRF protection, domain whitelists/blacklists), good descriptions (300+ chars), and parameter constraints; it avoids secrets in parameters. Error handling guidance is present but generic across most tools. The server lacks tool annotations (readOnlyHint, destructiveHint, idempotentHint) which would clarify side effects for the LLM. Several parameters are marked as 'required:[]' despite appearing semantically required (e.g., filesense_query requires 'path' but required array is empty, though the schema property does enforce it). Output structures are inferred from tool purpose but not explicitly documented in the tool definitions.
检查索引覆盖率和新鲜度。报告缺失索引、过期索引、无效索引等问题。用于验证 Filesense 索引是否完整且最新。
初始化 Filesense 目录索引。在项目根目录创建 .filesrc.json 配置、.filesignore 忽略规则、JSON Schema 文件,并执行首次索引同步。适用于首次在项目中启用 Filesense 时调用。
首选的 Agent 目录导航工具:按需、只读/预算化扫描当前仓库,返回 summary、candidates、factsDelta、warnings 和 scanned 元信息。用于结构理解、入口定位、创建/重构前探路;避免为普通导航触发全仓 sync_and_summarize。
查询目录的索引和语义摘要。返回 FILES.json 中的文件列表(含哈希、大小、类型)和 FILES.notes.json 中的目录用途、Agent 提示等信息。用于快速了解目录内容而无需逐个读取文件。
为目录生成语义摘要。基于目录内容推断目录用途、Agent 提示、编码约定和关键入口点,写入 FILES.notes.json。帮助 Agent 快速理解目录结构和导航策略。
同步目录索引。递归扫描目录树,更新每个目录的 FILES.json 索引文件。仅在文件发生变化时重新计算哈希,增量更新高效。用于在文件操作后保持索引最新。
filesense_sync_and_summarize violates single-responsibility principle by combining two operations (sync + summarize). LLM cannot select granular operations; forces heavy maintenance calls when only one operation is needed.
Output schemas are not documented in tool definitions. LLMs cannot predict return structure, chain tools, or extract fields for downstream calls. All eight tools lack explicit 'output' schema documentation.
Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot determine which tools have side effects, whether they are safe to retry, or which preserve state. Critical for agent planning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 64 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 46 | - | v1 |
持久化生成/刷新 Filesense 索引和语义摘要(sync + summarize)。这是较重的维护操作;普通规划、定位、结构理解应优先使用只读轻量的 filesense_navigate。
抓取指定 URL 的网页内容并返回清洗后的可读文本(HTML→纯文本)。用于查阅库/框架文档、API 参考、错误信息等外部资料。内置 SSRF 防护:拒绝私网/环回/链路本地/云元数据地址。
filesense_query 'path' parameter is in schema.properties but required array is empty. Type enforcement exists in JSON Schema but required enforcement is missing, creating ambiguity.
filesense_navigate 'paths' parameter defaults to project root but description says 'default project root directory', unclear whether omitting paths means scan root or is an error. Parameter default behavior is implicit.
Error handling descriptions are generic ('report problems', 'check coverage'). No guidance on recovery actions, retryability, or what the LLM should do on failure. Agents cannot self-correct without explicit error strategies.
filesense_navigate output enum values ('summary', 'candidates', 'verbose') lack descriptions explaining what each output mode contains. LLM cannot predict what to expect.
web_fetch 'allowed_domains' and 'blocked_domains' parameters use 'host name matching' rule described in description text rather than enforced by schema. No schema validation prevents LLM from passing invalid domain formats.