SmartMemory
Graph + vector memory for agents: recall, ingest, search, distill.
Connector by smartmemory.ai · Domain verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/smartmemory-ai-smartmemory-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-memory, knowledge-base
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 55 read · 43 write · 3 delete
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 101
Read from the source code; the running server may list different tools.
Read 55 · Look things up without changing anything.
agent_evaluation_getagent_get_recall_profilecode_blamecode_dead_codecode_dependenciescode_read_transcriptcode_searchdecision_find_conflictsdecision_getdecision_listdecision_provenancedecision_search
Show 43 more tools
dev_load_contextdev_query_decisionsevolution_dreamevolution_statusget_working_contextinsight_healthinsight_maintenance_statusinsight_pluginsinsight_reflectmemory_anchor_check_driftmemory_anchor_listmemory_check_failurememory_explainmemory_getmemory_get_violation_patternsmemory_listmemory_plan_activememory_plan_getmemory_policy_bundlememory_recallmemory_recall_packmemory_searchmemory_search_advancedmemory_search_by_metadatamemory_statspattern_getpattern_listpattern_querypeer_chatread_aroundreasoning_challengereasoning_extract_tracereasoning_fuzzy_confidencereasoning_proof_treereasoning_queryreasoning_query_tracestranscript_searchtranscript_statuswhoamizettel_backlinkszettel_clusterszettel_connectionszettel_discover
Write 43 · Create, change, send or run things.
agent_set_recall_profileclustering_runcode_indexdecision_contradictdecision_createdecision_create_pendingdecision_reinforcedecision_resolve_requirementdecision_retractdecision_supersededecision_try_activatedev_log_friction
Show 31 more tools
dev_record_decisiondev_record_patterndev_save_sessionevolution_reinforce_opinionsevolution_synthesize_observationsevolution_synthesize_opinionsevolution_triggerinsight_feedbackinsight_groundinsight_personalizeloginmemory_addmemory_anchor_graduatememory_anchor_setmemory_automemory_distillmemory_exportmemory_feedbackmemory_importmemory_ingestmemory_ingest_conversationmemory_ingest_documentmemory_ingest_structuredmemory_log_failurememory_migratememory_plan_creatememory_plan_update_taskmemory_resolve_aliasesmemory_updatereasoning_resolve_conflictswitch_team
Delete 3 · Delete, drop, revoke or wipe things.
memory_anchor_clearmemory_clearmemory_delete
Network hosts it talks to 5
api.smartmemory.ai· found in codeapp.smartmemory.ai· found in codechatgpt.com· found in codeclaude.ai· found in codegrok.com· found in code
Files it touches
~/.claude- Your home directory (~)
~/.codex~/.smartmemory-transcripts~/.smartmemory/eval- Any path the agent passes to its tools
Tools (101)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
agent_evaluation_getGet the current evaluation score for an agent on a given (dimension, domain) slot. CORE-AGENT-2 S03-T9. No tenant_id — matches agent_*_recall_profile sibling convention in the standalone MCP repo (Codex Round-2 F5 / OQ2-bis). Returns the current evaluation dict, or None when no evaluation has been written yet (cold-start). Returns raw dict | None per evaluation-contract.json §mcp_tools — NOT a formatted string. Cross-slice Codex review must-fix. dimension: one of decision_volume, supersession_rate, confidence_trajectory, reinforcement_balance. domain: controlled-vocabulary domai…
agent_get_recall_profileGet recall profileread-onlyGet an agent's recall profile.
agent_set_recall_profileSet recall profileSet an agent's recall profile for personality-aware search re-ranking.
clustering_runRun entity clustering/deduplication — merge duplicate entities by vector similarity.
code_blameWhich 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). Local-backend only: provenance is captured into the local store and git runs against the local working tree. The hosted REST surface is Phase 2c.
code_dead_codeFind dead coderead-onlyFind potentially dead (unreferenced) functions in an indexed codebase.
code_dependenciesTrace code dependenciesread-onlyTrace code dependencies -- what calls/imports/inherits what.
code_indexIndex a Python codebase into SmartMemory's knowledge graph.
code_read_transcriptRead 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. Local-backend only: the transcript JSONL lives on the developer's machine. The hosted REST surface is parked. For live CC (no `line_no`), pass the match's `file` + `norm_hash` so the authoring edit can be located. To page, re-call with `next_line` (or `prev_line`) from the previous continue-cursor — the window …
code_searchSearch indexed coderead-onlySearch indexed code entities by name or description.
decision_contradictRecord contradicting evidence against a decision.
decision_createCreate a new decision with provenance tracking. CORE-EXPERTISE-1 Phase 1: rejected_alternatives, rationale, constraints capture the "why" structure that makes decisions usable expertise.
decision_create_pendingCreate a pending decision (GTM Acceptance Case) with unresolved requirements. requirements: list of {description, requirement_type, query_hint?}. The server assigns each requirement_id (req_<uuid8>); use those with decision_resolve_requirement.
decision_find_conflictsFind existing decisions that may conflict with this one.
decision_getRetrieve a decision by ID.
Show 86 more tools
decision_listList active decisions with optional filtering.
decision_provenanceGet full provenance chain for a decision.
decision_reinforceRecord supporting evidence for a decision.
decision_resolve_requirementMark a requirement on a pending decision resolved by a memory item.
decision_retractRetract a decision, marking it as no longer valid.
decision_searchSearch for active decisions related to a topic.
decision_supersedeReplace a decision with a new one, marking the old as superseded.
decision_try_activateActivate a pending decision if all requirements are resolved (no-op otherwise).
dev_load_contextLoad recent session context and related decisions for a work topic.
dev_log_frictionLog a friction event encountered during development.
dev_query_decisionsSearch past development decisions by keyword, feature, or time range.
dev_record_decisionRecord an architectural or design decision as a decision memory.
dev_record_patternRecord a code pattern or convention as procedural memory.
dev_save_sessionSave a development session summary as an episodic memory.
evolution_dream**Deprecated:** CORE-MEMORY-DYNAMICS-1 M1b moved routing to at-ingest via the ConsolidationRouter. This tool is a no-op kept for caller compatibility.
evolution_reinforce_opinionsRun opinion reinforcement — update confidence scores based on new evidence.
evolution_statusGet status of memory evolution processes.
evolution_synthesize_observationsRun observation synthesis — create entity summaries from scattered facts.
evolution_synthesize_opinionsRun opinion synthesis — detect patterns in episodic memories and form opinions.
evolution_triggerTrigger a memory evolution cycle — runs clustering, deduplication, and consolidation.
get_working_contextRetrieve a structured surfacing response (CORE-MEMORY-DYNAMICS-1 M1a). Returns JSON matching ``smart-memory-docs/docs/features/CORE-MEMORY-DYNAMICS-1/context-api-contract.json``. Cross-type retrieval, ``strategy_used="fast:recency"``. Standalone MCP does not currently compose anchors.
insight_feedbackUpdate memory system based on user feedback.
insight_groundGround a memory item to an external source URL for provenance.
insight_healthGet memory health summary — item counts, health score, and detected issues.
insight_maintenance_statusGet maintenance status — orphaned, stale, and low-confidence memory counts.
insight_personalizeApply personalization settings — traits and preferences for memory retrieval.
insight_pluginsList available extractors and enrichers.
insight_reflectReflect on memory patterns — identify key concepts, top entities, and dominant topics.
loginAuthenticate with a SmartMemory API key. Restart MCP server to unlock PRO tools.
memory_addAdd a memoryAdd a memory item directly without the NLP pipeline.
memory_anchor_check_driftCheck if recent outputs have drifted from anchored requirements.
memory_anchor_clearClear (deactivate) anchors for a session.
memory_anchor_graduateGraduate active anchors to persistent decisions.
memory_anchor_listList active anchors for a session.
memory_anchor_setSet a spec anchor to pin a requirement or constraint for the session.
memory_autoEnable or disable automatic memory lifecycle. When enabled, SmartMemory automatically recalls context at session start, observes tool calls, distills conversation turns, learns from errors, and persists session summaries. Zero manual tool calls needed. Session-scoped overrides — settings apply to the current session only, not persisted to config.toml. Args: enabled: Activate (True) or deactivate (False) automatic lifecycle. recall_strategy: "session_only" | "topic_change" | "every_prompt". orient_budget: Max tokens for session-start context injection. recall_budget: Max toke…
memory_check_failureCheck for matching past failures before retrying.
memory_clearClear all memories permanently (requires confirm=True).
memory_deleteDelete a memorycan change or delete dataDelete a memory item by ID.
memory_distillDistill a conversation turnIngest a conversation turn pair into pending memory for later recall.
memory_explainExplain a memoryread-onlyExplain 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. The single-call audit answer (PLAT-AUDITABLE-MEMORY-1). FREE tier by design: agents should always be able to answer "how do you know that?". chain_verified null means nothing to verify (legacy or unversioned) — it is NOT a tamper warning.
memory_exportExport all memories as an OKF bundle directory or tar.gz archive.
memory_feedbackGive search feedbackReport which search results you used from a previous memory_search call. Call this after using results from memory_search to help SmartMemory learn which memories are actually useful. Pass the search_session_id from the memory_search response and the item_ids you incorporated into your response. Args: search_session_id: The session ID returned at the bottom of the memory_search output (e.g. "search:ws123:abc456def789"). result_used: List of item_ids from the search results that you used. Pass an empty list if none of the results were useful.
memory_getGet a memoryread-onlyRetrieve a memory item by ID with full content and metadata.
memory_get_violation_patternsReturn the ``## Detection patterns`` catalog from local rule files. Distinct from ``pattern_query``/``pattern_get``/``pattern_list`` (which read the graph-backed Pattern *catalog*): this reads the per-rule ``## Detection patterns`` markdown blocks from ``{rule_type}_*.md`` files on the local filesystem. Harnesses (Compose's ``COMP-POLICY-CHECK``, raw Claude Code, Cursor) fetch this once per session and run their own pre-response check — scan a candidate response against ``patterns``, suppress when a recent user turn matches a ``suppression_signal``. Args: rule_id: if given, return only t…
memory_importLosslessly import an OKF bundle through the direct add path.
memory_ingestIngest a memoryIngest content through the full NLP pipeline with entity extraction.
memory_ingest_conversationIngest a conversationIngest a conversation as session chunks with full pipeline processing (RLM-1g). Groups turns into sessions (by explicit boundaries or auto-chunking), runs each chunk through the full extraction pipeline, and creates a conversation container node with PART_OF edges. Args: turns: List of dicts with "role"/"speaker" and "content" keys. session_boundaries: Turn indices where sessions start (e.g. [0, 50, 120]). conversation_id: User-supplied ID (auto-generated if None). session_dates: ISO date per session for metadata. turns_per_chunk: Max turns per auto-chunk (default 15). …
memory_ingest_documentIngest a document from a URL or file path. Creates a parent document node (INDEXED) and chunk nodes (FULL, embedded) linked via PART_OF edges. Deduplicates by source URL and content hash. Args: source: Public URL (http/https), or a file path in local mode only (.txt, .md, .pdf, .docx). source_type: "html" | "pdf" | "docx" | "txt" | "markdown" | "auto". chunk_size: Max characters per chunk (default 2000). chunk_strategy: "paragraph" | "sentence" | "markdown" | "recursive". reference: Mark nodes as reference material.
memory_ingest_structuredIngest structured data via a registered handler, bypassing NLP pipeline.
memory_listList memoriesread-onlyList memories with pagination, optionally filtered by exact metadata match. metadata_key/metadata_value must be given together. Nested keys use dot syntax (e.g. `profile.tier`). This is the supported replacement for memory_search_by_metadata, whose endpoint is deprecated (GRAPH-API-1l).
memory_log_failureLog an agent failure for cross-session error recovery.
memory_migrateMigrate all memories to a different backend via a temporary OKF bundle.
memory_plan_activeGet all active plans.
memory_plan_createCreate a plan with optional task nodes.
memory_plan_getGet a plan with all its tasks.
memory_plan_update_taskUpdate a task's status within a plan (pending, in_progress, complete, blocked).
memory_policy_bundleGet policy bundleread-onlyCompile active workspace decisions into a Stratum policy bundle. ``workflow`` is echoed in the selector for the runner. ``domain`` narrows the source decisions. The returned JSON is the policy-exchange contract bundle and is identical for local and hosted backends.
memory_recallRecall memoriesread-onlyRecall recent and relevant memories for the current context. Hosted note: this always takes the remote recall path. The alternative branch builds a working context through the `smartmemory` core activation scorer (round 4, note 2), which the hosted server does not ship — so `session_id` and `cite=True` are refused rather than silently downgraded.
memory_recall_packBuild a recall packread-onlyAssemble the most useful context that fits in a token budget. Returns one priority-ordered block (active plan, anchors, latest snapshot, tier-1 user content, tier-2 graduated content, notes) packed to fit ``budget_tokens``, plus a manifest accounting every token spent and every item truncated or dropped (CORE-RECALL-BUDGET-1). ``query`` ranks each section by relevance; omit it to rank by recency. ``sections`` overrides the default list/order/caps as ``{name, cap_tokens}`` entries. ``preset`` selects a named section set instead: pass ``"wakeup"`` with a small budget (~300 tokens) at session s…
memory_resolve_aliasesConsolidate fragmented entity aliases over the workspace graph. Merges each unambiguous single-token alias node (e.g. "Hudson") into its multi-token canonical ("Rock Hudson") over the COMPLETE graph, redirecting the alias's edges onto the canonical and abstaining on collisions ("Hudson" with both "Rock Hudson" and "Rochelle Hudson" present). Run after a bulk ingest, when the full ambiguity picture is present. Args: dry_run: If True, report the resolve/abstain plan without mutating the graph. disambiguate: Opt-in (CORE-GRAPH-ALIAS-DISAMBIG-1, default False). Additionally recover …
memory_searchSearch memoriesread-onlySearch memories using semantic similarity with optional hybrid mode. Hosted note: `cite=True` is not available — citation formatting runs in the `smartmemory` core package, which the hosted server does not ship.
memory_search_advancedAdvanced search using Similarity Graph Traversal (SSG) algorithms.
memory_search_by_metadataSearch memories by metadataread-onlySearch memories by exact metadata key-value match.
memory_statsMemory statisticsread-onlyGet memory count statistics grouped by type.
memory_updateUpdate a memoryUpdate a memory item's properties (CORE-CRUD-UPDATE-1). - ``content``/``metadata``: convenience — folded into the properties dict. - ``properties``: advanced — direct node-property update. Takes precedence. - ``write_mode``: "merge" (default) or "replace".
pattern_getFetch one pattern by id, or null if not found.
pattern_listReturn every active pattern (no filters).
pattern_queryQuery the adherence pattern catalog. Filters are conjunctive. ``scope`` does case-insensitive substring matching against each pattern's declared scope list (so ``".py"`` matches ``"**/*.py"`` and vice-versa). ``severity`` is one of ``info | warn | error``. ``free_text`` matches title, content, and rationale (case-insensitive substring).
peer_chatAsk a question about a peer and get an answer synthesized from their memory. The zero-schema front door: no schema, no memory type, no ontology. Gathers the peer's expertise records, their recent messages (optionally scoped to one session), and one graph hop out of the top hits, then synthesizes a single answer over that context. Returns ``{answer, peer_id, reasoning_level, model, sources}`` matching ``peer-chat-contract.json``; ``sources`` entries carry ``item_id``, ``memory_type``, ``content_preview`` and ``channel``. Local-backend only in Phase 1: the hosted REST route is not built yet.
read_aroundRead surrounding conversationread-onlyAuto-centered conversation read (CORE-RECALL-CENTERED-1 Phase 2). Given a matched conversation-chunk ``item_id`` (from a recall hit's ``conversation_handle``), return a char-budgeted ASYMMETRIC window of the surrounding conversation chunks (~``before_ratio`` back / ``after_ratio`` forward; leftover spills to the other side) plus a continue-cursor — so a caller pulls just the relevant slice of a long conversation into context instead of the whole transcript. "Centered" is over neighbour 15-turn chunks, not individual turns. Returns ``{window_items, window_text, handle, continue_cursor:{prev_p…
reasoning_challengeChallenge an assertion against existing knowledge to detect contradictions.
reasoning_extract_traceExtract reasoning traces from content — detects chain-of-thought patterns.
reasoning_fuzzy_confidenceGet multi-dimensional confidence score for a decision (evidence, recency, consensus, directness).
reasoning_proof_treeBuild an auditable proof tree for a decision, tracing evidence back to sources.
reasoning_queryRoute a query to the cheapest effective retrieval method (symbolic, semantic, or hybrid).
reasoning_query_tracesQuery reasoning tracesread-onlyQuery stored reasoning traces — ask 'why' questions about past decisions.
reasoning_resolve_conflictResolve a conflict between assertions via Wikipedia, LLM, grounding, or recency.
switch_teamSwitch workspaceSwitch to a different workspace/team.
transcript_searchSearch 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. Searches only sessions already imported by `transcripts index`; it reports when nothing has been imported rather than returning an empty result. Local-only. Args: query: What to look for, in natural language. top_k: Number of sessions to return (default 5). source: "claude-code", "codex", or "all" (default). project: Optional repo path — kee…
transcript_statusReport 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. Call this when `transcript_search` finds nothing you expected: the usual cause is that the long-running import has not finished, not that the memory is absent.
whoamiWho am Iread-onlyShow current session: user, team, tier, and backend mode.
zettel_backlinksGet notes that link TO this note (backlinks).
zettel_clustersDetect knowledge clusters in your Zettelkasten.
zettel_connectionsGet all connections (backlinks + forward links) for a note.
zettel_discoverFind unexpected connections (serendipitous discovery) for a note.
Signals
- Weekly downloads
- 352
- Last release
- Sep 6, 2026 (1 month ago)
- Last package publish
- Oct 17, 2026 (12 days ago)
From the package registry.
Details
- Registry name
ai.smartmemory/smartmemory-mcp- Version
- 1.4.94
- Auth
- No auth
- Packages
- pypi smartmemory-mcp
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- Official MCP Registry
More from smartmemory.ai
- 0.611score
Stratum MCP
smartmemory.ai
Structured execution for coding agents: contracts, postconditions, gates, guardrails.
ConnectorAFreshness: ALocalRead-only★ 1Claude Code +5 - 0.579score
Compose MCP
smartmemory.ai
Typed feature management for compose projects: roadmap, changelog, artifacts, journal.
ConnectorAFreshness: ALocalClaude Code +5
Cite this page
SmartMemory MCP server. Agent Mart. https://agentmart.dev/connectors/smartmemory-ai-smartmemory-mcp (last updated 2026-10-24)