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