{"name":"ai.smartmemory/smartmemory-mcp","slug":"smartmemory-mcp","title":"SmartMemory","description":"Graph + vector memory for agents: recall, ingest, search, distill. Local or remote backend.","url":"https://mcp.market/server/smartmemory-mcp","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"ai","tags":["ai","search"],"presence":{"score":11,"stars":null,"forks":null,"downloads_week":179,"last_push_at":null,"license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":null,"website":null,"version":"1.4.94","remotes":[],"packages":[{"registryType":"pypi","identifier":"smartmemory-mcp","version":"1.4.94","transport":{"type":"stdio"}}],"tools":[{"name":"agent_evaluation_get","description":"Get the current evaluation score for an agent on a given (dimension, domain) slot.","write_action":false,"price_micros":0,"input_schema":null},{"name":"agent_get_recall_profile","description":"Get an agent's recall profile.","write_action":false,"price_micros":0,"input_schema":null},{"name":"agent_set_recall_profile","description":"Set an agent's recall profile for personality-aware search re-ranking.","write_action":false,"price_micros":0,"input_schema":null},{"name":"clustering_run","description":"Run entity clustering/deduplication — merge duplicate entities by vector similarity.","write_action":true,"price_micros":0,"input_schema":null},{"name":"code_blame","description":"Which captured session authored this code? Given a git commit (or a file + line) in a local repo, find the Claude Code / Codex session whose edits structurally produced that code (CORE-CODE-PROVENANCE-1 Phase 2b).","write_action":false,"price_micros":0,"input_schema":null},{"name":"code_dead_code","description":"Find potentially dead (unreferenced) functions in an indexed codebase.","write_action":false,"price_micros":0,"input_schema":null},{"name":"code_dependencies","description":"Trace code dependencies -- what calls/imports/inherits what.","write_action":false,"price_micros":0,"input_schema":null},{"name":"code_index","description":"Index a Python codebase into SmartMemory's knowledge graph.","write_action":false,"price_micros":0,"input_schema":null},{"name":"code_read_transcript","description":"Read the conversation that authored a span of code (CORE-CODE-PROVENANCE-1 Phase 2c) — the *read* half of the blame->read chain. Copy the `code_read_transcript(...)` call that `code_blame` prints for a match: it renders a centered window of the authoring Claude Code / Codex transcript.","write_action":false,"price_micros":0,"input_schema":null},{"name":"code_search","description":"Search indexed code entities by name or description.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_contradict","description":"Record contradicting evidence against a decision.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_create","description":"Create a new decision with provenance tracking.","write_action":true,"price_micros":0,"input_schema":null},{"name":"decision_create_pending","description":"Create a pending decision (GTM Acceptance Case) with unresolved requirements.","write_action":true,"price_micros":0,"input_schema":null},{"name":"decision_find_conflicts","description":"Find existing decisions that may conflict with this one.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_get","description":"Retrieve a decision by ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_list","description":"List active decisions with optional filtering.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_provenance","description":"Get full provenance chain for a decision.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_reinforce","description":"Record supporting evidence for a decision.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_resolve_requirement","description":"Mark a requirement on a pending decision resolved by a memory item.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_retract","description":"Retract a decision, marking it as no longer valid.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_search","description":"Search for active decisions related to a topic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_supersede","description":"Replace a decision with a new one, marking the old as superseded.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_try_activate","description":"Activate a pending decision if all requirements are resolved (no-op otherwise).","write_action":false,"price_micros":0,"input_schema":null},{"name":"decorator","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"dev_load_context","description":"Load recent session context and related decisions for a work topic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dev_log_friction","description":"Log a friction event encountered during development.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dev_query_decisions","description":"Search past development decisions by keyword, feature, or time range.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dev_record_decision","description":"Record an architectural or design decision as a decision memory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dev_record_pattern","description":"Record a code pattern or convention as procedural memory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dev_save_session","description":"Save a development session summary as an episodic memory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"evolution_dream","description":"**Deprecated:** CORE-MEMORY-DYNAMICS-1 M1b moved routing to at-ingest via the ConsolidationRouter. This tool is a no-op kept for caller compatibility.","write_action":false,"price_micros":0,"input_schema":null},{"name":"evolution_reinforce_opinions","description":"Run opinion reinforcement — update confidence scores based on new evidence.","write_action":true,"price_micros":0,"input_schema":null},{"name":"evolution_status","description":"Get status of memory evolution processes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"evolution_synthesize_observations","description":"Run observation synthesis — create entity summaries from scattered facts.","write_action":true,"price_micros":0,"input_schema":null},{"name":"evolution_synthesize_opinions","description":"Run opinion synthesis — detect patterns in episodic memories and form opinions.","write_action":true,"price_micros":0,"input_schema":null},{"name":"evolution_trigger","description":"Trigger a memory evolution cycle — runs clustering, deduplication, and consolidation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_working_context","description":"Retrieve a structured surfacing response (CORE-MEMORY-DYNAMICS-1 M1a).","write_action":false,"price_micros":0,"input_schema":null},{"name":"insight_feedback","description":"Update memory system based on user feedback.","write_action":true,"price_micros":0,"input_schema":null},{"name":"insight_ground","description":"Ground a memory item to an external source URL for provenance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"insight_health","description":"Get memory health summary — item counts, health score, and detected issues.","write_action":false,"price_micros":0,"input_schema":null},{"name":"insight_maintenance_status","description":"Get maintenance status — orphaned, stale, and low-confidence memory counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"insight_personalize","description":"Apply personalization settings — traits and preferences for memory retrieval.","write_action":false,"price_micros":0,"input_schema":null},{"name":"insight_plugins","description":"List available extractors and enrichers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"insight_reflect","description":"Reflect on memory patterns — identify key concepts, top entities, and dominant topics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"login","description":"Authenticate with a SmartMemory API key. Restart MCP server to unlock PRO tools.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_add","description":"Add a memory item directly without the NLP pipeline.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_anchor_check_drift","description":"Check if recent outputs have drifted from anchored requirements.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_anchor_clear","description":"Clear (deactivate) anchors for a session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_anchor_graduate","description":"Graduate active anchors to persistent decisions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_anchor_list","description":"List active anchors for a session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_anchor_set","description":"Set a spec anchor to pin a requirement or constraint for the session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_auto","description":"Enable or disable automatic memory lifecycle.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_check_failure","description":"Check for matching past failures before retrying.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_clear","description":"Clear all memories permanently (requires confirm=True).","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_delete","description":"Delete a memory item by ID.","write_action":true,"price_micros":0,"input_schema":null},{"name":"memory_distill","description":"Ingest a conversation turn pair into pending memory for later recall.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_explain","description":"Explain a memory's full provenance: origin, every belief the system held for it over time, what replaced it, what it derives from, and whether its history is cryptographically intact.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_export","description":"Export all memories as an OKF bundle directory or tar.gz archive.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_feedback","description":"Report which search results you used from a previous memory_search call.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_get","description":"Retrieve a memory item by ID with full content and metadata.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_get_violation_patterns","description":"Return the ``## Detection patterns`` catalog from local rule files.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_import","description":"Losslessly import an OKF bundle through the direct add path.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_ingest","description":"Ingest content through the full NLP pipeline with entity extraction.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_ingest_conversation","description":"Ingest a conversation as session chunks with full pipeline processing (RLM-1g).","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_ingest_document","description":"Ingest a document from a URL or file path.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_ingest_structured","description":"Ingest structured data via a registered handler, bypassing NLP pipeline.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_list","description":"List memories with pagination, optionally filtered by exact metadata match.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_log_failure","description":"Log an agent failure for cross-session error recovery.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_migrate","description":"Migrate all memories to a different backend via a temporary OKF bundle.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_plan_active","description":"Get all active plans.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_plan_create","description":"Create a plan with optional task nodes.","write_action":true,"price_micros":0,"input_schema":null},{"name":"memory_plan_get","description":"Get a plan with all its tasks.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_plan_update_task","description":"Update a task's status within a plan (pending, in_progress, complete, blocked).","write_action":true,"price_micros":0,"input_schema":null},{"name":"memory_policy_bundle","description":"Compile active workspace decisions into a Stratum policy bundle.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_recall","description":"Recall recent and relevant memories for the current context.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_recall_pack","description":"Assemble the most useful context that fits in a token budget.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_resolve_aliases","description":"Consolidate fragmented entity aliases over the workspace graph.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_search","description":"Search memories using semantic similarity with optional hybrid mode.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_search_advanced","description":"Advanced search using Similarity Graph Traversal (SSG) algorithms.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_search_by_metadata","description":"Search memories by exact metadata key-value match.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_stats","description":"Get memory count statistics grouped by type.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_update","description":"Update a memory item's properties (CORE-CRUD-UPDATE-1).","write_action":true,"price_micros":0,"input_schema":null},{"name":"pattern_get","description":"Fetch one pattern by id, or null if not found.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pattern_list","description":"Return every active pattern (no filters).","write_action":false,"price_micros":0,"input_schema":null},{"name":"pattern_query","description":"Query the adherence pattern catalog.","write_action":false,"price_micros":0,"input_schema":null},{"name":"peer_chat","description":"Ask a question about a peer and get an answer synthesized from their memory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"read_around","description":"Auto-centered conversation read (CORE-RECALL-CENTERED-1 Phase 2).","write_action":false,"price_micros":0,"input_schema":null},{"name":"reasoning_challenge","description":"Challenge an assertion against existing knowledge to detect contradictions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"reasoning_extract_trace","description":"Extract reasoning traces from content — detects chain-of-thought patterns.","write_action":false,"price_micros":0,"input_schema":null},{"name":"reasoning_fuzzy_confidence","description":"Get multi-dimensional confidence score for a decision (evidence, recency, consensus, directness).","write_action":false,"price_micros":0,"input_schema":null},{"name":"reasoning_proof_tree","description":"Build an auditable proof tree for a decision, tracing evidence back to sources.","write_action":false,"price_micros":0,"input_schema":null},{"name":"reasoning_query","description":"Route a query to the cheapest effective retrieval method (symbolic, semantic, or hybrid).","write_action":false,"price_micros":0,"input_schema":null},{"name":"reasoning_query_traces","description":"Query stored reasoning traces — ask 'why' questions about past decisions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"reasoning_resolve_conflict","description":"Resolve a conflict between assertions via Wikipedia, LLM, grounding, or recency.","write_action":false,"price_micros":0,"input_schema":null},{"name":"switch_team","description":"Switch this session to another workspace you belong to.","write_action":false,"price_micros":0,"input_schema":null},{"name":"transcript_search","description":"Search your own past Claude Code and Codex sessions by meaning (DIST-CC-INGEST-1 Phase 4). Use it to recover prior context — \"have I hit this error before?\", \"why did we choose X?\", \"what did I try last time?\" — instead of re-deriving it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"transcript_status","description":"Report how much of your Claude Code / Codex history is actually searchable (DIST-CC-INGEST-1 Phase 4), and whether an import is running right now.","write_action":false,"price_micros":0,"input_schema":null},{"name":"whoami","description":"Show the current hosted session: user, workspace, and auth kind.","write_action":false,"price_micros":0,"input_schema":null},{"name":"zettel_backlinks","description":"Get notes that link TO this note (backlinks).","write_action":false,"price_micros":0,"input_schema":null},{"name":"zettel_connections","description":"Get all connections (backlinks + forward links) for a note.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":65,"grade":"C","scanned_at":"2026-09-20T05:08:12.720Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T05:08:12.657Z","components":{"code":{"score":25,"max":25,"notes":["47 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"smartmemory-mcp","version":"1.4.94","found":true,"weeklyDownloads":179,"license":"MIT","dependencyCount":4,"publishedAt":"2026-09-06T05:18:55.713870Z"}],"repo":{"found":false},"icon":{"url":"https://smartmemory.ai/logo.svg","source":"site"},"presence":{"stars":null,"forks":null,"downloadsWeek":179,"license":"MIT","lastPushAt":null,"score":11}}}},"grade_history":[],"reviews":[]}