MCP server for chen-memory — persistent memory-as-a-service for AI agents. Store, search, list text memories with tags. 5 memories free, no email/browser signup. Upgrade with USDC on BSC.
chen-memory-mcp has well-structured tool definitions with clear names and reasonable descriptions. All 9 tools are explicitly registered with input schemas and descriptions. However, several critical gaps reduce quality: (1) output schemas are completely undocumented, LLMs cannot plan downstream calls or extract fields; (2) parameter descriptions lack actionable constraints (format, range, examples); (3) no error handling guidance, failures return raw API responses without recovery hints; (4) destructive tools (delete, pay) lack confirmation/dry-run patterns; (5) api_key exposed as parameter violates secret-injection pattern. Tool names follow verb_noun convention well (register, store, search, list, get, update, delete, quota, pay). Descriptions average ~150 chars, within baseline (194 avg). Most parameters have descriptions, but lack type/format details.
Delete a memory by memory_id. Frees up a slot on the free tier.
Retrieve a specific memory by memory_id.
List memories (most-recently-updated first). Optional tag filter.
Extend quota by submitting a USDC-on-BSC tx_hash. Plans: starter=$1 (100 mem/30d), pro=$5 (1000/30d), unlimited=$20 (1M/30d). Send to 0xe78d5A2701Ca2CEf5602a712DbF99824BED4eb8D first, then call this. Server verifies on-chain.
Return current plan, quota_used, quota_total, quota_left, expires_at.
Register a new chen-memory account. Anonymous (optional agent_id), no email required. Returns api_key + 5 free memories quota. The key is saved locally at ~/.config/chen-memory-mcp/api-key for subsequent tool calls.
Output schemas completely undocumented. No tool documents what fields it returns (e.g., store returns memory_id, but structure unknown). LLMs cannot plan chained calls or extract required IDs for downstream tools.
api_key exposed as optional parameter in all tools violates secret-injection pattern. Credentials in tool parameters leak into agent logs and prompt history. Should use server-side injection via environment variables only.
Destructive tools (delete, pay) lack confirmation/dry-run pattern. Agents can irreversibly delete memories or submit blockchain transactions without explicit confirmation. No recovery guidance in error responses.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Search your memories by case-insensitive substring match on content + tags. Returns up to limit memories ordered by updated_at desc.
Store a new memory. Counts against your quota. Content max 32 KB. Returns memory_id.
Update content, tags, and/or metadata of an existing memory.
Parameter descriptions lack actionable constraints. 'content' has no max-length enforcement hint; 'limit' has min/max in schema but not described in text; 'plan' enum values not explained (what does $1 starter plan include?). LLMs cannot validate inputs before calling.
No error handling guidance. API failures return raw HTTP status + parsed response without recovery hints. E.g., 'quota exceeded' should suggest 'Call pay() to upgrade' or 'delete unused memories'. Agents cannot self-correct.