Verifiable memory attestation primitive for AI agents — COSE_Sign1 signing, Arweave/Solana anchoring, RAG seeding, OAuth 2.1 + PKCE, delivery guarantees, and verifiable trajectories.
Mnemonic MCP has well-structured tool definitions with complete schemas and descriptions for all 11 tools. Naming follows verb_noun patterns (mnemonic_sign_memory, mnemonic_verify, mnemonic_recall). Descriptions are detailed (100-300 chars) and explain WHAT the tool does and WHEN to use it. Input schemas are fully typed with enums where appropriate (mode, visibility). However, output schemas are not documented in the source code provided, only input schemas are visible. Error handling guidance is minimal; tools lack recovery hints for common failure modes. Parameter descriptions are good but some lack explicit format constraints (e.g., 'hex-encoded' is stated but no validation rules shown). Tool composition is sound, each tool has a single responsibility and outputs include IDs for chaining (e.g., correlation_id for status checks). Security is well-considered: no credentials in parameters, cryptographic operations are server-side. Descriptions could be more LLM-optimized by stating prerequisites and dependencies more explicitly.
Store a client-signed step after verifying its signature and dense linkage to the trajectory head. Non-custodial: the server never holds a signing key; producer identity comes from the COSE kid. (Verifiable trajectories — experimental feature.)
Store a client-signed verdict after verifying its signature and that the judge differs from the step producer (independence enforced). Non-custodial: judge identity comes from the COSE kid. (Verifiable trajectories — experimental feature.)
Check the status of a pending deferred-signing request by correlation ID. Returns the current approval state and any error details.
Generate a cryptographic proof of identity (Ed25519 signature over a challenge). Used for key escrow and identity verification flows.
Publish a memory artifact as a public post (webapp-rethink T9 — agent-native publishing, Decision 5). Requires prior public-write confirmation.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'Returns either an inline signature or a deferred-signing envelope') but formal output schema definitions are not visible in source. LLMs cannot plan downstream tool calls without knowing return field names and types.
Error handling lacks recovery guidance. Tools do not document what errors are retryable, what user actions are needed, or what to do next. E.g., mnemonic_sign_memory with mode='local' can fail and fall back to 'participate', but the error response structure and guidance are not documented.
Experimental trajectory tools (mnemonic_attest_step, mnemonic_attest_verdict, mnemonic_verify_trajectory) lack clear stability guarantees and migration paths. Descriptions note '(experimental feature)' but do not state when GA is expected or what breaking changes may occur.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Retrieve stored memory artifacts by content hash, tags, or visibility filter. Supports pagination and anonymous access (allowlist-based).
Sign a memory artifact (content + tags) as a COSE_Sign1 envelope. Supports local (free, inline) and participate (deferred, cloud-tier) modes. Returns either an inline signature or a deferred-signing envelope with approval URL.
Verify a COSE_Sign1 envelope signature and return the decoded artifact metadata (content hash, signer pubkey, timestamp).
Full verifier output for a trajectory: chain validity, verdict coverage, batch root, per-step inclusion proofs, and the safe_to_settle gate (read-only). (Verifiable trajectories — experimental feature.)
Returns the authenticated user's public key and identity metadata.
Request a confirmation token for public-write visibility (Decision 5b — agent-native-distribution). Returns a confirmation URL and token binding.
Parameter format constraints are implicit. 'correlation_id' is described as 'UUID v4' and 'signature' as 'hex-encoded', but no regex patterns or length bounds are enforced in visible schema. LLMs may pass invalid formats without validation feedback.
Tool naming inconsistency: most tools use 'mnemonic_' prefix (mnemonic_sign_memory, mnemonic_verify), but request_public_write_confirmation does not. This breaks the naming convention and may confuse LLM tool selection.