MCP Server for Claude Code integration with Mem0, providing 13 tools for managing coding preferences, memories, and graph intelligence via MCP protocol
The Mem0 MCP server has 13 tools with descriptions and some parameter documentation, but exhibits significant gaps in schema completeness, parameter validation, and error handling guidance. Naming is generally verb-based and clear, but many tools lack explicit input parameter type definitions or validation constraints. The server correctly declares what each tool does and when to use it, but fails to document output schemas or provide recovery guidance on errors. Most tools hover in the 45-60 range; no tool reaches 70+. The architecture shows good intent (graph intelligence, decision tracking) but implementation quality is mediocre, typical of community-contributed MCP servers.
Add a new coding preference to mem0. This tool stores code snippets, implementation details, and coding patterns for future reference. When storing code, you should include: Complete code with all necessary imports and dependencies, Language/framework version information (e.g., "Python 3.9", "React 18"), Full implementation context and any required setup/configuration, Detailed comments explaining the logic, Example usage or test cases, Any known limitations or performance considerations, Related patterns or alternative approaches. The preference will be indexed for semantic search and can be retrieved later. **Authentication**: Automatically uses credentials from MCP configuration headers.
Perform impact analysis for changes to a component. Identifies which other components would be affected, downstream dependencies, and change risk assessment.
Comprehensive intelligence report on a memory and its connections. Provides semantic analysis, relationship insights, decision context, component dependencies, and impact analysis. This is the GAME-CHANGER tool that synthesizes all graph intelligence.
Map system architecture by creating component nodes. Components represent services, modules, or system parts that can have dependencies and relationships.
Missing output schemas for all 13 tools. LLMs cannot plan chained calls or extract required fields without knowing result structure. Baseline: 100% of A+ tools document return types.
Enum constraints are documented in descriptions but not enforced in schemas. relationship_type, component_type, and dependency_type accept free-form strings instead of enum arrays. LLMs will hallucinate invalid values.
No validation constraints on numeric parameters. get_related_memories depth has no min/max (default: 2, but is 1 allowed? 1000?). No mention of query timeout or result limits. Unbounded depth could cause runaway traversal.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | D | 57 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 19 | - | v1 |
Track technical decisions with pros, cons, and rationale. Creates decision nodes in the knowledge graph for future reference and decision tracking.
Remove a memory from mem0 by ID. This permanently deletes the stored memory and cannot be undone.
Retrieve all stored coding preferences for the current project. Call this tool when you need complete context of all previously stored preferences. Returns code snippets, implementation patterns, programming knowledge, and best practices.
Retrieve the full context and rationale for a technical decision, including pros, cons, alternatives, and related memories.
View the change history of a specific memory, including all updates, modifications, and versions.
Perform graph traversal to find all memories connected to a specific memory within N hops. Returns relationship paths and connection context.
Define dependencies between components to map system architecture and dependency chains.
Create a relationship between two memories. Establishes semantic connections for graph-based intelligence. Relationship types: RELATES_TO (general association), DEPENDS_ON (dependency), SUPERSEDES (replaces old knowledge), RESPONDS_TO (conversation thread), EXTENDS (adds detail), CONFLICTS_WITH (contradictory information).
Search stored coding preferences using semantic similarity. Useful for finding relevant code patterns, implementations, or knowledge based on natural language queries.
Destructive operations (delete_memory) lack confirmation/dry-run pattern. Tool description warns of permanent deletion but offers no confirmation mechanism or preview. Agents make mistakes, no guardrail.
Error responses lack recovery guidance. No error classification (retryable vs user-fixable vs fatal). If delete_memory or search fails, LLM receives no guidance on what to do next. Tool descriptions do not address error scenarios.
Tool chaining broken if output schemas are missing IDs. create_component must return component_id for link_component_dependency to work; create_decision must return decision_id for get_decision_rationale to work. Without documented output, agents cannot chain calls.
No pagination or result limits documented. get_all_coding_preferences could return thousands of items and blow context window. No limit, offset, or cursor parameters. Baseline specifies tools returning lists should have pagination, completely absent.
Parameter descriptions incomplete in some tools. link_memories metadata parameter is 'object' with no structure guidance. create_component component_type gives examples but no validation rules. LLMs cannot infer correct structure.
No authentication/permission gates documented in tool descriptions. Tools claim 'Automatically uses credentials from MCP configuration headers' but no documentation of: which headers are expected, what happens if missing, or what permissions each tool requires. Security guidance missing.