本地加密密钥记忆库 + Cursor MCP - A local encrypted credential/asset vault with flexible fields and expiry reminders, integrated with Cursor via MCP
Server has 22 tools with complete input schemas and descriptions. Naming follows verb_noun convention (search_entries, get_entry, add_entry, etc.). Descriptions are present and contextual (avg ~120 chars), explaining WHAT and WHEN. However, parameter descriptions are minimal (5-15 chars), lacking format/constraint guidance. No output schemas documented. Error handling returns JSON with 'error' field but lacks recovery guidance or categorization. Tool descriptions in Chinese may reduce LLM comprehension. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Composition is sound, tools are single-responsibility and chainable (search → get → update pattern). Security concern: include_secret parameter exposes sensitive data in responses; no mention of server-side secret injection.
兼容旧名:用账号/密码快速新增;也可随后再用 upsert_field 追加任意字段。
新增一条资产。fields_json 为弹性字段数组 JSON,字段名可自由命名。 示例 fields_json: [ {"key":"账号","value":"[email protected]","purpose":"登录邮箱"}, {"key":"Token","value":"xxx","purpose":"API调用","secret":true}, {"key":"用途说明","value":"域名解析","purpose":"这条记录干什么"} ]
新增一条提醒。
软删除一条资产(进回收站,保留 30 天)。
删除一条提醒。
导出条目为 Markdown 或 Excel。
兼容旧名:等同 get_entry。
Parameter descriptions are minimal (5-15 chars) and lack format/constraint guidance. E.g., 'expires_at' has no date format specified; 'fields_json' lacks JSON structure examples in param description; 'remind_before_days' has no range bounds.
No output schemas documented. Tools return JSON strings with 'error' or data fields, but LLMs cannot infer response structure. E.g., vault_status returns nested 'reminders_due' array, but this is not formally declared.
Duplicate tools (search_credentials, get_credential, update_credential, add_credential) exist alongside primary tools. LLMs waste reasoning cycles deciding between them. Consolidate to single canonical names.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2026-07-28+ | v2 |
按名称或 id 精确获取一条资产(含全部弹性字段)。回答问题/登录时用这个。
列出已过期或即将在 within_days 天内过期的条目。
列出所有提醒(可选包含已完成的)。
列出回收站中的条目。
彻底删除一条资产(不可恢复)。
强制从磁盘重新加载记忆库(网盘刚同步完、怀疑还是旧数据时用)。
删除某条目下的一个弹性字段。
从回收站恢复一条资产。
兼容旧名:等同 search_entries。
搜索资产/记忆(默认隐藏敏感字段值)。先定位,再 get_entry 取详情。
兼容旧名:可改元信息,以及账号/主机/密码三个常见字段。
更新条目元信息(名称/分类/用途摘要/标签/过期日)。改具体字段请用 upsert_field。
更新一条提醒。
给已有条目新增或更新一个弹性字段。字段名可任意(Token/KEY/AccessKeyId/桶名…)。
查看记忆库状态。会话开始时优先调用:会返回需要提醒的待办(到期前 N 天/已过期)。
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, REVERSIBLE, DESTRUCTIVE). Modern MCP clients use these to guide agent behavior and prevent accidental data loss.
Error handling returns generic JSON with 'error' field but lacks recovery guidance or error categorization. E.g., 'VaultError' exceptions are not classified as retryable, user-fixable, or fatal. LLMs cannot determine next action.