memanto

moorcheh-aiMIT活跃维护

给 AI Agent 用的长期记忆系统,支持语义记忆和多 Agent 共享记忆管理,让智能体跨会话记住上下文。

Memory that AI Agents Love!

integrations/mcp/v0.1.5发布于 2026-10-29 16:15 UTC2,362star +2 / 7 天744fork同步于 2026-11-10 23:45 UTC

怎么上手

由 README 提炼,执行前请确认
pip install memanto
memanto
memanto connect claude-code
硬件要求按 README 说明

README 未说明具体显存或 GPU 要求;本地模式通过 Docker + Ollama 运行,无需账号或 API Key,也支持免费云端或自托管。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

管理多个 AI Agent 记忆的伴生 Agent,决定保留、冲突、过期与通知

给 AI Agent 用的长期记忆系统,支持语义记忆和多 Agent 共享记忆管理,让智能体跨会话记住上下文。

核心能力

  • 从对话流中抽取决策、偏好、事实等持久知识
  • 合并重复记忆,重复观察提升置信度而非新增行
  • 新知识冲突时取代旧记忆并保留历史版本
  • 按策略执行衰减、过期与删除,支持恢复
  • 行动前向 Agent 下发最小相关记忆切片

容易踩的坑

本地模式需先装好 Docker 与 Ollama;云端模式需申请免费 key;未设置策略的 Agent 不会自动过期任何记忆。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本integrations/mcp/v0.1.5
  1. integrations/mcp/v0.1.5MCP v0.1.5最新正式版2026-10-29 · 2026-10-29 16:15 UTC

    Release Notes for memanto-mcp v0.1.5

    Automatically forwards resolved source attribution across all MCP memory read, write, and answer tools, preserves MCP client attribution when generic writer roles are stored, requires memanto>=0.2.31, and adds a container Dockerfile and llms-install.md guide for MCP registry and marketplace listings.

    New Features & Improvements

    • Automatic source Forwarding Across All Memory Tools (memanto_mcp/tools.py, pyproject.toml)
      • _attributed now resolves source (explicit_source -> MEMANTO_DEFAULT_SOURCE -> MCP initialize handshake clientInfo) and passes it into remember, batch_remember, recall, recall_recent, recall_as_of, recall_changed_since, and answer.
      • Uses canonical display names via display_for and requires memanto>=0.2.31 so SdkClient read, answer, and batch methods accept source and normalize shorthand tool aliases (copilot, copilot-cli, claude, gemini).
    • Preserved Client Attribution on Generic Memory Sources (memanto_mcp/tools.py)
      • When a caller explicitly passes a generic writer role (e.g. source="user", "agent", "system", or "tool"), the memory retains that role as its stored source while the session activity log still credits the connected MCP client.
    • Registry Dockerfile & Agent-Driven Install Guide (Dockerfile, .dockerignore, llms-install.md)
      • Added a python:3.12-slim Dockerfile running as a non-root user (uid 1000) with a writable ~/.memanto directory and runtime MOORCHEH_API_KEY configuration.
      • Added llms-install.md with a step-by-step installation and read-only recall_recent verification workflow for MCP marketplace listings (such as Cline).

    Tests

    • tests/test_tools.py: Verifies that MEMANTO_DEFAULT_SOURCE is automatically forwarded as source across remember, batch_remember, recall, recall_recent, recall_as_of, recall_changed_since, and answer while matching SdkClient signatures.
    • tests/test_packaging.py: Verifies the memanto>=0.2.31 dependency floor.

    Full Changelog

    Full Changelog: https://github.com/moorcheh-ai/memanto/compare/integrations/mcp/v0.1.4...integrations/mcp/v0.1.5

  2. v0.2.312026-10-29 · 2026-10-29 15:56 UTC
    查看更新说明

    Release Notes for v0.2.31

    This release unifies caller attribution around --source / source across the CLI, REST API, and SDKs (Python, TypeScript, Go), fixes memanto connect instruction/skill paths and frontmatter across agents (GitHub Copilot, Goose, Cline, Windsurf, Claude Code), and fixes session-cache and OKF import edge cases from v0.2.30.

    Breaking Changes

    • CLI: recall and answer replace --tool with --source (-s) (memanto/cli/commands/memory.py, memanto/cli/connect/templates.py)
      • memanto recall and memanto answer now take --source / -s instead of the hidden --tool flag to identify the calling AI tool, matching memanto remember --source.
      • Run memanto connect update to refresh existing agent instruction and SKILL.md files to --source.

    New Features

    • End-to-end source attribution across CLI, REST API, and SDKs (memanto/app/models/__init__.py, memanto/app/routes/memory.py, memanto/app/utils/client_identity.py, memanto/cli/commands/memory.py, memanto/cli/client/sdk_client.py, memanto/cli/client/direct_client.py, memanto/client.py, sdks/typescript/, sdks/go/)
      • REST API: POST /remember, /batch-remember, /remember/extract, /recall, /recall/as-of, /recall/changed-since, /recall/recent, /recall/all, and /answer now accept an optional source field in the JSON request body and attribute the operation in the Connections view and session activity log. /answer now records activity events alongside remember and recall.
      • CLI batch & conversation extraction: memanto remember --batch and memanto remember --from-conversation now forward --source to stamp extracted/batch memories and attribute the write.
      • Python, TypeScript, and Go SDKs:
        • Python Memanto, SdkClient, and DirectClient accept source on recall, recall_as_of, recall_changed_since, recall_recent, answer, batch_remember, and extract / extract_memories_from_conversation, scoping tool identity to each individual call via calling_tool(...) so a source on one call never leaks onto subsequent calls.
        • TypeScript SDK (@moorcheh-ai/memanto) adds source? to RecallInput, RecallAsOfInput, RecallChangedSinceInput, RecallRecentInput, AnswerInput, and ExtractMemoriesInput.
        • Go SDK adds Source to RecallInput, RecallAsOfInput, RecallChangedSinceInput, RecallRecentInput, AnswerInput, and ExtractMemoriesInput, plus Client.BatchRememberWithSource(ctx, items, source).
      • Tool alias normalization: Added shorthand aliases copilot and copilot-cli -> github-copilot, claude -> claude-code, and gemini -> gemini-cli, and excluded generic role labels (system, conversation, tool) from claiming a tool connection.

    Improvements

    • Verified agent instruction and skill paths in memanto connect (memanto/cli/connect/agent_registry.py, memanto/cli/connect/engine.py, memanto/cli/connect/templates.py, memanto/cli/connect/updater.py)
      • Multi-file global instructions: Agents with multiple global instruction files (instruction_extra_global_files) now install, update, sync dynamic memories, and uninstall across all of them.
      • GitHub Copilot: Local instructions target .github/copilot-instructions.md (with fallbacks to .github/instructions/memanto.instructions.md and .github/prompts/memanto.instructions.md); global installs sync both VS Code's prompts/memanto.instructions.md and ~/.copilot/copilot-instructions.md. Frontmatter is only included on .instructions.md files (with description and applyTo: "**") and stripped on plain Markdown files.
      • Goose: Added local (.goosehints) and OS-aware global (~/.config/goose/.goosehints / %APPDATA%\Block\goose\config\.goosehints) instruction and skill paths.
      • Windsurf & Cline: Windsurf global installs also sync ~/.codeium/windsurf/memories/global_rules.md; Cline globa
  3. integrations/claudecode/v0.1.2Claude Code v0.1.22026-10-27 · 2026-10-27 19:47 UTC
    查看更新说明

    Release Notes for claudecode-memanto v0.1.2

    This release updates claudecode-memanto for Memanto's Model Context Protocol (memanto-mcp) workflow, adds --project-dir and --agent-id CLI flags matching memanto connect claude-code, fixes user-scoped global permission placement, and removes the obsolete legacy installer shim.

    New Features & Improvements

    • MCP-First Claude Code Integration (pyproject.toml, claudecode_memanto/cli.py)
      • Bundles memanto>=0.2.30 and memanto-mcp>=0.1.4 so installing claudecode-memanto automatically provides and registers the memanto MCP server in .mcp.json (project-local) or ~/.claude.json (global).
      • Pre-approves the memanto project MCP server (enabledMcpjsonServers) and mcp__memanto tool permissions so memory operations run without repetitive prompts.
    • Full CLI Flag Parity with memanto connect claude-code (claudecode_memanto/cli.py)
      • Added -p / --project-dir to both claudecode-memanto install and claudecode-memanto uninstall.
      • Added -a / --agent-id to claudecode-memanto install to configure MEMANTO_DEFAULT_AGENT_ID for the MCP server.
      • Added the -g short flag alongside --global.
    • User-Scoped Global Permissions (memanto/cli/connect/agent_registry.py, memanto/cli/connect/engine.py)
      • Global installs (--global) now write and clean up mcp__memanto permissions in ~/.claude/settings.json (Claude Code's user-scoped settings file) while retaining .claude/settings.local.json for project-local installs.
    • Updated Documentation (integrations/claudecode/README.md)
      • Rewritten for the MCP workflow, covering .mcp.json / ~/.claude.json registration, MCP tool descriptions (remember, batch_remember, recall, recall_recent, recall_as_of, recall_changed_since, answer), v1.1.0 CLAUDE.md instructions, and PostToolUse MCP tool summaries.

    Removed

    • Removed the unused legacy claudecode_memanto/installer.py (install_hooks / uninstall_hooks) compatibility module.

    Tests

    • integrations/claudecode/tests/test_installer.py and tests/test_connect_mcp.py cover --project-dir, --global, and --agent-id CLI forwarding, end-to-end local MCP install/uninstall, and global ~/.claude/settings.json permission handling.

    Full Changelog

    Full Changelog: v0.1.1...v0.1.2

  4. v0.2.302026-10-23 · 2026-10-23 20:22 UTC
    查看更新说明

    Release Notes for v0.2.30

    This release makes memanto connect set up the memanto MCP server for Claude Code, Codex, Cursor and GitHub Copilot, so connected agents call memory tools directly and remember/recall without being asked. It also fixes the v0.2.29 session regressions (REST /activate 409 lockout, in-process client crash on the 2nd memory call), adds lifecycle fields to writes and OKF round-trips, gives every web UI page its own URL, and resolves npm vulnerabilities in the TypeScript SDK.

    Breaking Changes

    • memanto-mcp: remember / batch_remember require type, confidence and provenance (integrations/mcp/memanto_mcp/tools.py)
      • These fields no longer default to fact / 0.85 / explicit_statement. Calls that omit them now return a validation error.
      • batch_remember items are now a typed BatchMemoryItem schema. content, type, confidence and provenance are required. title, tags and source are optional, and tags also accepts a comma-separated string.
      • Released as memanto-mcp 0.1.4.
    • memanto connect refuses a local install in the home directory (memanto/cli/commands/connect.py, memanto/cli/connect/engine.py, memanto/app/ui/routes/ui_router.py)
      • Running connect with the project dir set to ~ now errors (UI: HTTP 400). Use --global / "Install Globally" instead. This prevents VS Code Copilot from treating home-directory files as global directives.

    New Features

    • memanto connect sets up the memanto MCP server (memanto/cli/connect/mcp_setup.py, memanto/cli/connect/engine.py, memanto/cli/connect/agent_registry.py)
      • Registers memanto-mcp for Claude Code (.mcp.json / ~/.claude.json), Codex (~/.codex/config.toml), Cursor (.cursor/mcp.json) and GitHub Copilot (.vscode/mcp.json or the VS Code user mcp.json).
      • Memanto tools are pre-approved: Claude mcp__memanto permission plus enabled project server; Codex default_tools_approval_mode = "approve".
      • No API key is written into any client config. memanto-mcp reads it from ~/.memanto/.env, and Codex gets the home-directory env vars forwarded via env_vars.
      • The resolved absolute path of memanto-mcp is stored, so GUI-launched clients with a different PATH can start it.
      • Entries are marked so connect remove deletes only what connect added. Servers you configured by hand are left alone. The shared Codex entry is only removed with --global.
      • When the MCP server is set up, the CLI skill is not deployed and an old copy is removed, so agents call the tools instead of shelling out.
      • MCP setup is skipped (with a message) when memanto-mcp is not installed or no agent ID is available.
    • Default MCP agent ID (memanto/cli/commands/connect.py, memanto/app/ui/routes/ui_router.py)
      • New --agent-id / -a flag on every memanto connect <agent> command, and a mcp_agent_id field on the UI install endpoint. It takes priority over the currently active CLI agent.
    • MEMANTO_DEFAULT_SOURCE for memanto-mcp (integrations/mcp/memanto_mcp/config.py, integrations/mcp/memanto_mcp/tools.py)
      • Overrides the source recorded on writes and activity, instead of inferring it from the MCP client handshake. Connect sets it to the configuring client, so one client can write to another's namespace while still being credited.
    • Per-page URLs in the web UI (memanto/app/ui/routes/ui_router.py, memanto/app/ui/static/index.html)
      • Every page is served at /ui/<page>, so pages can be bookmarked, reloaded and navigated with back/forward. /ui/static/* is unaffected.
    • Lifecycle fields on batch writes (memanto/app/models/__init__.py, memanto/app/routes/memory.py, memanto/cli/client/sdk_client.py, memanto/cli/client/direct_client.py)
      • batch_remember accepts status (active | expired), expired_at and expired_by. A memory marked expired must carry both audit fields, otherwise the reques
  5. integrations/mcp/v0.1.4MCP v0.1.42026-10-23 · 2026-10-23 19:40 UTC
    查看更新说明

    Release Notes for memanto-mcp v0.1.4

    Enforces strict memory classification, introduces typed schema definitions for batch operations, adds cross-namespace source attribution, and hardens proactive memory instructions for LLM agents.

    Breaking Changes / Validation

    • Mandatory Memory Parameters for remember and batch_remember (memanto_mcp/tools.py)
      • type, confidence (bounded between 0.0 and 1.0), and provenance are now strictly required when creating memories. Calling agents must explicitly classify the memory rather than relying on silent defaults.
      • Invalid types or missing confidence scores reject early with descriptive validation feedback.

    New Features & Schema Improvements

    • Typed BatchMemoryItem Input Schema (memanto_mcp/tools.py)
      • Defined a formal Pydantic model (BatchMemoryItem) for batch_remember.
      • The MCP server's exposed JSON Schema now advertises content, type, confidence, and provenance as required properties for array items, giving client LLMs a concrete schema contract.
    • Cross-Namespace Source Attribution (memanto_mcp/config.py, memanto_mcp/tools.py)
      • Added support for MEMANTO_DEFAULT_SOURCE via environment variables and MCPServerSettings.
      • Enables setups where an agent in one client (e.g., Cursor) reads or writes a shared namespace (e.g., Copilot) while preserving accurate caller attribution.
      • Passes the configured default source fallback into both single remember and batch_remember flows.

    Prompt Hardening & Server Instructions

    • Autonomous Agent Directives (memanto_mcp/server.py, memanto_mcp/tools.py)
      • Overhauled server-level instructions and tool descriptions for recall, remember, and answer.
      • Guides agents to recall autonomously at the start of tasks, evaluate durability, and distill rules into general principles rather than saving conversational logs.

    Registry & Packaging

    • Official MCP Catalog Manifest (server.json)
      • Added the official Model Context Protocol registry server.json catalog manifest for io.github.moorcheh-ai/memanto supporting uvx memanto-mcp.

    Tests

    • Added schema contract assertions in tests/test_server.py verifying that remember and batch_remember advertise mandatory fields and constraints matching Memanto core.
    • Added tests verifying cross-client handshake source attribution and normalization.

    Full Changelog

    Full Changelog: https://github.com/moorcheh-ai/memanto/compare/integrations/mcp/v0.1.3...integrations/mcp/v0.1.4

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译
    pip install memanto
    
    npm install @moorcheh-ai/memanto
    
    go get github.com/moorcheh-ai/memanto/sdks/go
    

    Every platform will store your agents' memory. None of them will manage it. Managing it across platforms is against their interest. That is the job of a Memory Agent.

    Persistence is solved. Claude, Bedrock, Cursor, and every vector store will happily keep what your agents write. None of them will tell you that two of your agents now believe opposite things about your auth service, that a preference from March has quietly outranked a decision from last week, or that the agent you spun up this morning is about to redo work another one finished and reverted.

    Storage is a filing cabinet. Memanto is the chief of staff; it decides what goes in, watches the access, resolves what contradicts, discards what's stale, and briefs each agent before it acts.


    It's an agent, not an API

    Memanto isn't a library you call. It's a second agent that runs beside your fleet and does six things on its own judgment. Each one is a real behavior with a command behind it, nothing here is a roadmap item.

    What Memanto doesRun it
    Observes & extractsWatches the interaction streams of the agents it serves and pulls durable knowledge out of ephemeral traffic — decisions, preferences, facts, failures — instead of archiving transcripts wholesale.memanto remember --from-conversation
    ConsolidatesMerges extracted memories into one canonical estate. Duplicates collapse, fragments join, repeated observations strengthen confidence instead of multiplying rows.memanto schedule enable
    ReconcilesWhen new knowledge contradicts old, Memanto supersedes rather than appends — preserving what was believed and when. "What's true now" and "what did we believe then" stay different questions.memanto conflicts
    ForgetsDecay, expiry, and deliberate deletion are policies it executes, not cleanup you remember to do. An estate that only grows becomes noise; managed forgetting is what keeps recall sharp at month twelve.memanto forget
    BriefsBefore an agent acts, Memanto hands it the minimal relevant slice of the estate. Your agents don't query anything — they get briefed by a colleague.memanto agent bootstrap
    Moves knowledgeThrough the Open Knowledge Format, the estate crosses frameworks and vendors — so a fleet spanning Claude Code, Cursor, and your own stack shares one memory instead of five silos.memanto memory export --okf

    And it does this while you're asleep. memanto schedule enable and the loop runs daily: new memories curated, duplicates merged across agents, contradictions flagged for your review. You come back to a fleet that knows more than it did yesterday, without having sorted anything yourself.


    60 seconds to a managed fleet

    pip install memanto
    memanto                            # "On-Prem" (Docker, no account) or "Cloud" (free key)
    memanto connect claude-code        # also: cursor, codex, windsurf, cline, goose, copilot…
    

    Your agents now share one managed estate. No code changes, no wrapper, no rewrite of your agent loop.

    # backend-agent learns something on Monday
    memanto remember "Auth migrated to JWT — session cookies deprecated" --type decision
    
    # review-agent, which never saw that session, knows it on Friday
    memanto recall "how does auth work"
    memanto answer  "why did we drop session cookies?"     # grounded, no extra API key
    
    # what did the fleet believe last Tuesday? what changed since the release?
    memanto recall "deployment policy" --as-of 2026-08-05
    memanto recall "deployment policy" --changed-since v2.1
    

    macOS, Linux, Windows. memanto ui opens a local dashboard over the whole estate — browse it, search it, audit it.


    Own your agentic memory

    This is the part that matters in two years, and it's the part every platform-native memory feature is designed to prevent.

    Your estate is a file. memanto memory export --okf gives you the Open Knowledge Format — plain Markdown, readable, diffable, committable, greppable. Not a proprietary dump you can technically request. The actual working format.

    It moves. memanto migrate imports from Mem0, Letta, Supermemory, Zep, Hindsight, or any OKF bundle. The same command works in reverse. OKF is an open interchange format any framework or vendor can implement — including ours' competitors, deliberately.

    It runs on your machine. Local Docker + Ollama, no account, no API key, nothing leaves your infrastructure. Or free cloud, or your own hosting. memanto config backend switches between them in one command, and the estate comes with you.

    MIT. No open-core tier waiting to gate the useful half. No feature flags, no seat limits, no rug pull.

    There is no lock-in because there is nothing to lock.


    Security & sovereignty

    Nothing leaves your machine in on-prem mode. Docker + Ollama, no account, no outbound calls. The full loop — extraction, consolidation, reconciliation, briefing — runs locally.

    Scoped by default. Each agent gets its own namespace. Your production-ops agent doesn't read your scratch experiments; you provision exactly what each one should know and nothing more.

    Every belief is traceable. Confidence score, source, provenance, and timestamp. When an agent acts on something, you can walk back to where that belief entered the fleet and when — which is the difference between an auditable estate and a black box.

    Forgetting is a decision you make, not a side effect. A memory is active or expired — nothing else. It becomes expired only because a policy you wrote says so, and it carries the date and the rule name that did it. Expired memories still recall, clearly labelled, and memanto memory restore puts one back. Deleting is a separate, explicit act.


    Memory that expires on your terms

    Every memory is active until a policy retires it. Expiry is stamped, auditable, and reversible — the content survives, and the memory keeps showing up in recall marked [EXPIRED] with the reason it aged out.

    memanto policy list-preset          # conservative / balanced / aggressive
    memanto policy apply-preset balanced  # shows it in full, then asks
    memanto policy apply --dry-run      # exactly what would expire, per rule
    memanto policy apply                # shows the policy + matches, then confirms
    

    Policies live in ~/.memanto/policies/<agent>.yaml and have two halves — a per-type retention table for broad strokes, and named rules for everything sharper. The first matching rule wins, so a rule can also pin a memory that the table would otherwise expire:

    retention:
      context: 7d
      event: 30d
      preference: never          # durable user truths don't age out
    rules:
      - name: pinned
        match: {tags: [pinned]}
        expire_after: never      # an explicit pin beats the table
      - name: low-confidence-guesses
        match: {provenance: [inferred], confidence_below: 0.5}
        expire_after: 14d
    purge_expired_after: never   # optional hard delete, off by default
    

    Recall shows both states side by side; narrow with --active or --expired. Point-in-time recall is unaffected — --as-of still reconstructs what was true then, including memories that have expired since.

    memanto memory expire mem-123       # retire one by hand
    memanto memory restore mem-123      # and put it back
    

    The nightly job (memanto schedule enable) runs the sweep for you. An agent with no policy set never expires anything.


    Unlike memory storage

    Memory storageMemanto
    What it isA database with an SDK — write, embed, retrieveAn agent with judgment over your fleet's memory
    Core behaviorPersistCurate, reconcile, consolidate, forget, brief
    Who decides what's keptYou, in application codeMemanto, on policy you set once
    When two agents disagreeLast write wins, silentlyBoth versioned, surfaced for review
    ForgettingA DELETE you remember to runA first-class policy that runs on schedule
    ScopeOne app, one stack, one vendor's wallsA fleet, across stacks and vendors
    Your dataExportable in theoryThe working format is portable Markdown

    Storage substrates sit beneath Memanto — vector stores, filesystems, and platform-native memory features are all backends it manages. Their commoditization is good for you: it makes the substrate free and leaves the management to something that's actually good at it.



    Developer experience

    One pip install. No vector store to provision, no embedding pipeline, no reranker, no schema migration, no backend to babysit. The retrieval engine ships in the box.

    Works with what you already run. memanto connect claude-code — same for Cursor, Codex, Windsurf, Cline, Continue, Goose, Copilot, and more. One command each.

    Searchable the moment it's written. No extraction pass at write time, no graph to rebuild, no indexing queue. remember returns and every agent in the fleet can already recall it.

    Typed, not soup. 13 memory categories — instruction, fact, decision, goal, preference, relationship, and more — so recall is filterable instead of one undifferentiated blob.

    A dashboard, not a log file. memanto ui for the whole estate. memanto daily-summary for a readable digest of what changed across your agents. memanto status for registered agents, sessions, and health.


    CapabilityCommandsWhat it does
    System statusmemanto statusEnvironment, configuration, server health, active session, registered agents.
    Local REST API + web UImemanto serve, memanto uiRun the REST API locally and open an interactive browser UI.
    Agent lifecyclememanto agent ...Create/list/delete agents, activate sessions, run agent bootstrap.
    Memory capture at scalememanto rememberSingle memories, batch JSON, or --from-conversation to extract from chat logs.
    Editing & deletionmemanto edit, memanto forgetUpdate fields on a memory, or permanently delete a bad one.
    File ingestionmemanto uploadBring .pdf, .docx, .xlsx, .json, .txt, .csv, .md into an agent's namespace.
    Advanced recallmemanto recallStandard search plus temporal queries (--as-of, --changed-since) with filters.
    Grounded answersmemanto answerGenerate answers from retrieved memory context.
    Daily intelligencememanto daily-summary, memanto conflictsSummaries, contradiction detection, interactive resolution.
    Sessions & automationmemanto session ..., memanto schedule ...Inspect sessions, enable scheduled daily runs.
    Estate export & syncmemanto memory export, memanto memory syncExport structured Markdown, sync MEMORY.md into projects. --okf for a portable OKF bundle.
    Import & migrationmemanto migrateImport from Mem0, Letta, Supermemory, Zep, Hindsight, or an OKF bundle.
    Configurationmemanto config showAPI key status, active agent/session, server settings, schedule time.
    Fleet integrationmemanto connect ...Claude Code, Codex, Cursor, Windsurf, Antigravity, Gemini CLI, Cline, Continue, OpenCode, Goose, Roo, GitHub Copilot, Augment.

    Memory types: instruction, fact, decision, goal, commitment, preference, relationship, context, event, learning, observation, artifact, error

    memanto remember "User prefers concise answers" --type preference
    memanto recall "user communication style" --type preference
    

    Complete reference: CLI User Guide

    Fully local. No account, no API key, nothing leaves your machine:

    pip install memanto
    memanto           # choose "On-Prem" — guides through Docker + Ollama setup
    

    Requires Docker.

    Free cloud. No card, ~60 seconds:

    pip install memanto
    memanto           # choose "Cloud" — paste your free API key
    

    Free key at console.moorcheh.ai/api-keys — 100K free operations.

    Switch any time: memanto config backend

    Recall is powered by an information-theoretic semantic engine that ships in the box — as a local Docker container or as a free cloud service. The memanto CLI manages either for you. Storage substrates beneath it are pluggable; Memanto is the agent above them.

    On-prem:

    Python — the memanto package ships an in-process client; no server to start:

    from memanto import Memanto
    
    memanto = Memanto(agent_id="my-agent")   # creates the agent on first use
    memanto.remember("Alex prefers oat milk.", type="preference")
    memanto.recall("what does Alex drink?")
    memanto.answer("Does Alex drink dairy?")
    

    Reference: docs.memanto.ai/sdk/python.

    TypeScript / Node.js — @moorcheh-ai/memanto boots a local Memanto server via uvx and exposes an ergonomic client (remember / recall / answer).

    Go — github.com/moorcheh-ai/memanto/sdks/go connects to a running Memanto server or starts one via uvx.

    REST API — start with memanto serve. Endpoint reference at docs.memanto.ai/api and http://localhost:8000/docs while running.


    Watch it work

    Recall is more than search — 6:20Setup & demo
    Local dashboard tourDocs →

    Research

    Memanto: Typed Semantic Memory with Information-Theoretic Retrieval for Long-Horizon Agents

    On public recall benchmarks we report 89.8% on LongMemEval and 87.1% on LoCoMo. Datasets and harness are open at huggingface.co/moorcheh — run them yourself.

    A caveat we'd rather say out loud: cross-project scores on these benchmarks are not comparable. Reader model, judge model, judge prompt, and retrieval budget each move results by several points, and no two published runs share a configuration. Treat every number in this category — including ours — as directional. What a Memory Agent should eventually be measured on isn't recall at all, but estate quality over time: contradiction rate, staleness, and precision at month six.

    @misc{abtahi2026memantotypedsemanticmemory,
          title={Memanto: Typed Semantic Memory with Information-Theoretic Retrieval for Long-Horizon Agents},
          author={Seyed Moein Abtahi and Rasa Rahnema and Hetkumar Patel and Neel Patel and Majid Fekri and Tara Khani},
          year={2026},
          eprint={2604.22085},
          archivePrefix={arXiv},
          primaryClass={cs.AI},
          url={https://arxiv.org/abs/2604.22085},
    }
    

    Community

    Questions: [email protected] · @moorcheh_ai