MeM_Universe — unified multi-agent shared-memory MCP server. Exposes memory tools (search/read/write/list/delete) and skill-package tools over a shared memory store with token-scoped access.
Strong foundation with 8 well-named tools following verb_noun convention (search, read, write, delete, list, put_skill, get_skill, list_skills). All tools have descriptions (avg ~150 chars, within 10-1024 baseline). Input schemas present with type definitions for all parameters. However, output schemas are undocumented, responses are inferred from descriptions rather than formally specified. Parameter descriptions are present but inconsistent in depth; some lack format/constraint details. Error handling guidance is minimal. Tool composition is sound (single responsibility, chainable IDs), but descriptions could be more LLM-optimized per pattern:tool-description.
Delete a memory file. Git keeps history, so it's recoverable. Returns {ok, deleted}.
Fetch a whole skill package as {name, files: {relpath: content}}. To install it, write each file into your local skills dir. Any agent can fetch + run a package; Claude-family agents additionally get native auto-invocation.
List entries under a layer (optionally a prefix within it).
List stored skill packages as [{name, description}] (description from each SKILL.md).
Store a runnable skill PACKAGE (a SKILL.md + its scripts/templates) byte-exact under shared/skills/<name>/. `files` maps package-relative paths to text content and MUST include a SKILL.md. Files are stored verbatim — no frontmatter, no template check. The SKILL.md is indexed so `search` finds the package; any agent can later `get_skill` to install it. Returns {name, paths, commit}.
Output schemas undocumented. Tool descriptions infer return structure (e.g., 'Returns {ok, path}') but no formal JSON Schema for responses. LLMs cannot reliably extract fields or plan downstream calls without explicit output documentation.
Parameter descriptions lack format/constraint details. E.g., 'layer' accepts 'shared' or 'personal' but no enum constraint or explicit valid-values list in schema. 'limit' defaults to 10 but no min/max bounds documented. Forces LLMs to infer constraints from prose.
Error handling guidance absent. No recovery hints in tool descriptions. E.g., 'read' does not explain what happens if path is not found or if scope denies access. Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Read a single memory file by store-relative path.
BM25 search across the memory store. Returns ranked {path, score, snippet, type}.
Write a memory file (also indexes it). Returns {ok, path}. Supports two layers: shared/ (cross-agent knowledge base) and personal/ (owner's personal space). Explicit type="skill" must include 5 template sections (目标/Goal, 何时用/When to use, 前置/Preconditions, 步骤/Steps, 验证/Verify).
write tool description mentions 5 template sections (目标/Goal, etc.) for type='skill' but does not validate or enforce this. Unclear whether malformed skills are rejected or silently accepted. No validation error guidance.
put_skill and get_skill operate on 'files' as a dict but no schema for file structure, encoding, or size limits. Agents cannot predict whether binary files are supported or what happens on oversized payloads.