Memanto

io.github.moorcheh-aiv0.1.3Updated Oct 2, 2026

MCP server for Memanto - persistent semantic memory for any MCP-compatible agent

VerifiedSTDIODesktop onlyAI & MLKnowledge & Memory

Overview

AI-generated overview

Gives an MCP-compatible assistant persistent semantic memory: it can store facts, preferences and decisions, then recall them across sessions.

What it does
Memanto exposes memory primitives as MCP tools: remember and batch_remember persist facts, preferences, goals, decisions and similar typed memories, while recall performs semantic search, recall_recent returns newest-first entries, recall_as_of and recall_changed_since give point-in-time and differential views, and answer synthesizes a grounded response over stored memories. Seven memory tools are registered by default; setting MEMANTO_EXPOSE_ADMIN=true adds four agent-management tools for creating, listing, inspecting and deleting memory namespaces. Writes are attributed to the connected client unless a source is given.
When to use it
Worth adding when an assistant should carry stable user preferences, decisions or project context between separate chats and tools, instead of asking the user to repeat them. Useful for long-running assistants, multi-editor setups that share one memory namespace, and workflows that need to query what was known at a past date or what changed since a last check.
Requirements
Runs locally as a Python package (pip install memanto-mcp, or uvx), requiring Python 3.10+ and a Moorcheh API key supplied as the MOORCHEH_API_KEY environment variable. MEMANTO_DEFAULT_AGENT_ID is recommended so tool calls can omit the agent id. Network access to the Moorcheh service is needed; optional SSE or streamable-HTTP transports can bind a host and port.
Before you install
The Moorcheh API key (MOORCHEH_API_KEY) is a credential and is sent to the Moorcheh service; stored memories are held there, so avoid persisting secrets or sensitive personal data. Admin tools can delete an agent's metadata when enabled. Running over HTTP or SSE does not authenticate inbound MCP clients, so a reverse proxy with authentication is advised for non-local deployments.

Installation

In SourceWeft

  1. Open Memanto in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Memanto MCP Server

mcp-name: io.github.moorcheh-ai/memanto

Persistent semantic memory for any MCP-compatible agent.

This package exposes Memanto's memory primitives — remember, recall, answer, and friends — as Model Context Protocol (MCP) tools so any MCP client (Claude Desktop, Cursor, Windsurf, Cline, Continue, Goose, custom agents, …) can plug into long-term memory in a single config line.

One Moorcheh API key → typed semantic memory across every agent that shares the namespace, with sub-90 ms retrieval, conflict detection, and zero ingestion latency.


Install

bash
pip install memanto-mcp

Requires Python 3.10+, memanto>=0.2.13, mcp>=1.2,<2, and a Moorcheh API key (free tier: 100K ops/month).

Quick start (Claude Desktop)

  1. Get a Moorcheh API key from the console.
  2. Edit claude_desktop_config.json (Settings → Developer → Edit Config):
json
{  "mcpServers": {    "memanto": {      "command": "memanto-mcp",      "env": {        "MOORCHEH_API_KEY": "mch_xxxxxxxxxxxxxxxxxx",        "MEMANTO_DEFAULT_AGENT_ID": "my-assistant"      }    }  }}
  1. Restart Claude Desktop. Ask it to "remember that I prefer concise answers" — then in a brand-new chat tomorrow ask "what do I prefer?".

The first call auto-creates the my-assistant agent and namespace; every subsequent call reuses the same persistent memory.

Quick start (Cursor / Windsurf / Cline / Continue / Goose)

Most clients consume a config file in the standard MCP shape. The same JSON snippet works almost verbatim:

json
{  "mcpServers": {    "memanto": {      "command": "memanto-mcp",      "env": {        "MOORCHEH_API_KEY": "mch_xxxxxxxxxxxxxxxxxx",        "MEMANTO_DEFAULT_AGENT_ID": "cursor-workspace"      }    }  }}
ClientConfig path
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows)
Cursor~/.cursor/mcp.json (or per-project .cursor/mcp.json)
Windsurf~/.codeium/windsurf/mcp_config.json
Cline (VS Code)~/.config/Code/User/globalStorage/cline.cline/settings/cline_mcp_settings.json
Continue~/.continue/config.json → experimental.modelContextProtocolServers
Goose~/.config/goose/config.yaml

Available tools

The server registers 7 memory tools by default. Set MEMANTO_EXPOSE_ADMIN=true to also expose 4 agent-management tools.

Memory tools (always on)

ToolWhen the agent should call it
rememberPersist a single new fact/preference/decision/goal/instruction.
batch_rememberPersist up to 100 memories in one call (e.g. extracted from a document).
recallSemantic search — always check here before asking the user to repeat stable info.
recall_recent"What did we just decide?" — newest-first, no query needed.
recall_as_ofPoint-in-time recall — "what did we know on 2025-11-01?"
recall_changed_sinceDifferential — "what's new since I last checked?"
answerRAG: grounded LLM answer synthesized over the agent's memories.

Agent admin tools (opt-in)

Enabled when MEMANTO_EXPOSE_ADMIN=true:

ToolPurpose
create_agentCreate a new memory namespace.
list_agentsList every agent the API key can see.
get_agentLook up an agent's metadata.
delete_agentRemove an agent's local metadata.

Memory types accepted by remember / batch_remember: fact, preference, goal, decision, artifact, learning, event, instruction, relationship, context, observation, commitment, error.

Provenance values: explicit_statement, inferred, corrected, validated, observed, imported.

Source attribution

source names who wrote a memory, so recall can be attributed and filtered per writer. It is open: user, agent, tool, system, or a specific writer such as cursor, codex, claude_code, mem0. Labels are limited to 64 letters, digits, ., _, or - so that #source:<value> stays a usable filter.

When a tool call omits source, the server attributes the write to the connected MCP client from the initialize handshake (cursor, codex, claude-ai, …), falling back to mcp-agent when the client sends no name. Two editors sharing one agent therefore stay distinguishable in recall without any extra configuration.

Configuration

All config is via environment variables (load order: process env → .env file in the working directory).

VariableRequiredDefaultDescription
MOORCHEH_API_KEYyes—Moorcheh API key.
MEMANTO_DEFAULT_AGENT_IDrecommendednoneDefault agent. When set, tool calls may omit agent_id.
MEMANTO_AGENT_PATTERNnotoolPattern (support/project/tool) used when auto-creating the default agent.
MEMANTO_AGENT_AUTO_CREATEnotrueCreate the default agent on first use if missing. Explicit non-default agents must already exist.
MEMANTO_SESSION_DURATION_HOURSnoserver default (6)Session lifetime in hours.
MEMANTO_EXPOSE_ADMINnofalseRegister the 4 agent-management tools.
MEMANTO_MCP_TRANSPORTnostdiostdio, sse, or streamable-http.
MEMANTO_MCP_HOSTno127.0.0.1Bind host for sse/http transports.
MEMANTO_MCP_PORTno8765Bind port for sse/http transports.
MEMANTO_MCP_LOG_LEVELnoINFOLog level (logs are always sent to stderr).

CLI flags (memanto-mcp --transport sse --port 9000) override env vars.

Running over HTTP / SSE

For remote clients or multi-process setups, run the server over a network transport:

bash
# Streamable HTTP (recommended modern transport)memanto-mcp --transport streamable-http --host 0.0.0.0 --port 8765
# Server-Sent Events (older, still widely supported)memanto-mcp --transport sse --host 0.0.0.0 --port 8765

Then point your client at http://your-host:8765/mcp (or whatever path the chosen transport advertises). Pair with a reverse proxy + auth for production deployments — the server itself authenticates upstream to Moorcheh using your API key but does not authenticate inbound MCP clients.

How it works

┌──────────────┐    MCP/stdio    ┌──────────────────┐    Moorcheh API    ┌─────────────┐│ Claude / IDE │ ──────────────► │  memanto-mcp     │ ────────────────► │   Moorcheh  ││   (client)   │ ◄────────────── │  (this package)  │ ◄──────────────── │   Service   │└──────────────┘    tool calls   └──────────────────┘    HTTPS+API key   └─────────────┘                                          │                                          └─ uses memanto.cli.client.SdkClient                                             (same client the Memanto CLI uses)
  • On startup, settings are validated; the API key is verified lazily on first tool call.
  • On the first memory tool invocation for a given agent, the server ensures the agent exists (auto-creates if needed) and activates a JWT session. Sessions auto-renew before expiry, so long-running MCP connections never hit a session-expired error mid-conversation.
  • The server intentionally keeps the session alive on shutdown: JWT sessions are TTL-bound and other Memanto clients (CLI, REST) may want to share them.

Programmatic embedding

If you're building a custom MCP host or wiring this server into a larger process, you can construct the FastMCP instance yourself:

python
from memanto_mcp import MCPServerSettings, build_server
settings = MCPServerSettings()  # reads env / .envmcp = build_server(settings)
# Add your own tools alongside Memanto's, then run.mcp.run(transport="stdio")

Troubleshooting

SymptomFix
configuration error: MOORCHEH_API_KEY is requiredSet the env var in your MCP client config's env block.
Agent '…' does not exist and MEMANTO_AGENT_AUTO_CREATE is disabledEither re-enable auto-create or call create_agent (admin tools) / memanto agent create <id> once.
Tools never appear in the clientConfirm the client supports MCP and the config path matches. Look at the client's MCP log: the server's stderr lines (prefixed memanto_mcp) will appear there on startup.
Garbled output in stdio modeSomething on your side is writing to stdout — that channel is reserved for JSON-RPC. Move logs to stderr. The server itself only writes to stderr.
Slow first callCold-start cost: SDK import + first session activation. Subsequent calls reuse the live session.

License

MIT — same as the Memanto project. See LICENSE.

Links

Source: integrations/mcp/README.md at commit c421ab8

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.1.3LatestOct 2, 2026