MCP-based autonomous knowledge base for engineering agents
Server defines 15 tools with complete input schemas and descriptions in Chinese. Naming follows verb_noun pattern (knowledge_search, knowledge_learn, etc.). Descriptions are present (avg ~120 chars) but lack LLM-optimized guidance on WHEN to use each tool vs alternatives. Parameters have types and descriptions, but many lack constraints (enums, ranges, format specs). Output schemas are not documented, LLMs cannot predict response structure. Error handling is absent from tool definitions. No tool annotations (readOnlyHint/destructiveHint). Composition is reasonable: tools are single-purpose and chainable via IDs. Security: no secrets in params (good), but no permission gates or audit trail declarations visible.
查询审计日志。返回知识库操作记录,包括学习、搜索、确认等。
查看配置信息(不暴露密钥)。
将 staging 知识升级为 confirmed。确认后该知识参与检索。
导出全部知识条目为 JSON。不包含嵌入向量。
查询知识库空白(gap)记录。可按状态和报告者角色过滤,支持分页。
从 JSON 导入知识条目。跳过已存在的 ID(不覆盖)。
导入知识到知识库。自动检测重复,始终写入 staging 区域。
Output schemas not documented. LLMs cannot predict response structure, forcing them to guess what fields are returned and how to chain tools. knowledge_search, knowledge_learn, knowledge_relevant, and others lack documented return types.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes. knowledge_learn, knowledge_confirm, knowledge_maintenance, knowledge_import, knowledge_practice are WRITE operations but unmarked.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
知识库维护操作。当前支持 decay_sweep:对超过 7 天未访问的 confirmed 条目执行 FSRS 衰减扫描,返回衰减和冻结的条目数。
记录知识条目的练习结果,触发 FSRS 复习调度。用于间隔重复(spaced repetition)训练。
获取与当前任务相关的知识。基于角色扩散激活、任务描述和关键词返回最匹配的条目。
报告知识库空白:当搜索未找到所需知识时报告 gap。可选提供 source_url 触发自动消化(content-digester)。
请求重新消化一条知识。当知识过时需要从源素材重新提取时调用。
管理角色配置。支持 get(获取角色配置)、set(设置/更新角色配置)、list(列出所有角色)。
搜索知识库,支持语义理解。可选按角色限定搜索范围。返回匹配的知识条目和综合说明。
知识库状态概览:条目数量、存储类型。
Descriptions lack WHEN-to-use guidance. knowledge_search vs knowledge_relevant both retrieve knowledge but differ in mechanism (semantic vs role-based diffusion). Descriptions do not explain when to prefer one over the other.
Numeric parameters lack bounds. knowledge_search.limit, knowledge_audit.limit, knowledge_gaps.limit, knowledge_relevant.maxResults have no min/max constraints. Unbounded numbers risk LLM passing absurd values (e.g. limit=999999).
No error handling guidance in tool definitions. If knowledge_search returns no results, knowledge_report_gap should be called, but this dependency is not documented. Agents cannot self-correct without explicit recovery hints.