n1mem-mcp · N1Mem 记忆 MCP Server
powered by T1Mem engine · BYOK(自带 Key)· 零依赖(仅标准库)
让 Claude / Cursor / OpenClaw 之类支持 MCP 的客户端,直接获得 N1Mem 的长期记忆能力。
六个工具
| 工具 | 作用 |
|---|---|
memory_write |
写入一段记忆(持久化 + 建向量,写入即可召回) |
memory_recall |
按自然语言问题召回;answer 已基于命中记忆接地,retrieved 给出命中的明文记忆 |
memory_import |
把本机已有的 Agent 记忆批量迁进来(身份层 + 技能层),可 dry_run 先预览 |
memory_skill_lookup |
任务开始前查「有没有现成经验可复用」,返回匹配的 skill 与要点 |
memory_forget |
遗忘指定记忆(按 id,RLS 隔离,只能删自己的) |
memory_health |
查看服务健康与 provider 可用性 |
典型用法是让模型自己用这三步:
memory_skill_lookup(先查经验)→ memory_recall(再取上下文)→ memory_write(把结论存回去)。
本 Server 是薄层透传:不含任何记忆逻辑,只把工具调用转发到 N1Mem API
(https://api.n1mem.com)。因此零依赖、可塞进任意环境。
安装
pip install n1mem-mcp
用到 memory_import 时还需本机有导入器:
pip install -U "n1mem>=0.2.0"
(不装也能用其它 5 个工具 —— memory_import 会在调用时给出这条安装提示,
而不是甩一个 ImportError 堆栈。)
获取 Key
访问 https://api.n1mem.com/register 自助注册,邮箱即拿到形如 tk_xxx 的 Key。
配置(Cursor / Claude / OpenClaw)
把下面片段加进你的 MCP 配置(~/.cursor/mcp.json、Claude 的 claude_desktop_config.json、
或 OpenClaw 的 MCP 配置):
{
"mcpServers": {
"n1mem": {
"command": "n1mem-mcp",
"env": { "N1MEM_API_KEY": "tk_xxx" }
}
}
}
或用模块方式启动(无需 pip install 也可,只要能 import):
{
"mcpServers": {
"n1mem": {
"command": "python",
"args": ["-m", "n1mem_mcp"],
"env": { "N1MEM_API_KEY": "tk_xxx" }
}
}
}
环境变量
| 变量 | 说明 | 默认 |
|---|---|---|
N1MEM_API_KEY |
你的 Key(必填) | 空 |
N1MEM_BASE_URL |
API 地址 | https://api.n1mem.com |
N1MEM_MCP_TIMEOUT |
单条调用超时(秒) | 90 |
memory_import 用法
memory_import(dry_run=true) # 先看会导入什么(条数 / 字节 / 分层),不写任何数据
memory_import() # 确认后真导(默认 identity + skill 两层)
memory_import(path="…", layers=["identity","skill","note"])
导入是在本机读你磁盘上的记忆资产,服务端只接收结构化条目。
想撤销:用服务端按批次 rollback(返回值里带 source_id),或对单条用 memory_forget。
已知限制(诚实告知)
- 暂无
update工具(服务端更新能力未就绪,故不暴露,避免客户端以为支持)。 删除是支持的(memory_forget)—— 0.1.x 的说明曾写"暂无 delete",与实现不符,0.2.0 已更正。 memory_health可能返回status: degraded:这是设计使然(部分上游 provider 未配置), 核心记忆链路(存储 / 嵌入 / 写入 / 召回)正常。memory_import目前支持 WorkBuddy(~/.workbuddy)与关键文档目录两种来源。
与 n1mem 的区别
| 包 | 形态 | 用途 |
|---|---|---|
n1mem |
Python SDK(函数调用) | 代码里直接 m.ingest() / m.recall() / m.ingest_batch() |
n1mem-mcp |
MCP Server(stdio) | 让 MCP 客户端(Claude / Cursor / OpenClaw)以工具方式调用记忆 |
两者都遵守 BYOK:Key 由你提供,SDK 与 Server 都不存储、不上传你的凭据。
Metadata
Release files for n1mem-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| n1mem_mcp-0.2.0.tar.gz | 10.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| n1mem_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.1 kB
Release files / n1mem_mcp-0.2.0.tar.gz
| Download URL | n1mem_mcp-0.2.0.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
28b95627bce27521c720c99d81518cb3e82599435312442be325887d28f16318
|
|
BLAKE2b-256 checksum How to use checksums |
20f7a12034417c294c976dc0d6ca8bf1aece79aa1337ebb1e150ffafb7ffed34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|
Release files / n1mem_mcp-0.2.0-py3-none-any.whl
| Download URL | n1mem_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 11.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6c697a1e9c0f04868a59e624623b23fd905938b91774a928efb7a4d1a8d7d7b6
|
|
BLAKE2b-256 checksum How to use checksums |
a6940804d8b7a114ac115e45c4eb8301b16530569a74928bdd565d23b07916da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|