Memanto

io.github.moorcheh-aiv0.1.3更新于 Oct 2, 2026

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

已验证STDIO仅桌面AI & MLKnowledge & Memory

概览

AI 生成的概览

为兼容 MCP 的助手提供持久语义记忆:可保存事实、偏好与决策,并在不同会话中召回。

功能
Memanto 以 MCP 工具形式提供记忆原语:remember 与 batch_remember 写入事实、偏好、目标、决策等带类型的记忆;recall 做语义搜索,recall_recent 按最新优先返回,recall_as_of 与 recall_changed_since 分别提供时间点与增量视图,answer 则基于记忆生成有依据的回答。默认注册 7 个记忆工具;设置 MEMANTO_EXPOSE_ADMIN=true 会额外启用 4 个代理管理工具,用于创建、列出、查看和删除记忆命名空间。未指定来源时,写入会归属到所连接的客户端。
适用场景
适合希望助手在不同对话和工具之间保留稳定偏好、决策或项目背景,而不必让用户反复说明的场景。适用于长期运行的助手、共享同一记忆命名空间的多编辑器环境,以及需要查询过去某一时点已知内容或自上次检查以来变化的流程。
运行要求
作为本地 Python 包运行(pip install memanto-mcp,或使用 uvx),需要 Python 3.10+,并通过环境变量 MOORCHEH_API_KEY 提供 Moorcheh API 密钥。建议设置 MEMANTO_DEFAULT_AGENT_ID,以便工具调用可省略代理 ID。需要访问 Moorcheh 服务的网络连接;可选的 SSE 或 streamable-HTTP 传输可绑定主机与端口。
安装前请注意
Moorcheh API 密钥(MOORCHEH_API_KEY)属于凭据,会发送给 Moorcheh 服务;记忆内容也存储在该服务上,因此不要写入密钥或敏感个人数据。启用后,管理工具可删除代理的元数据。通过 HTTP 或 SSE 运行时不会对入站 MCP 客户端做身份验证,非本地部署建议配合带认证的反向代理。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Memanto,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:integrations/mcp/README.md,提交 c421ab8

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v0.1.3最新Oct 2, 2026