mcpField
A
a-mem-mcp

a-mem-mcp

本地服务
github.com/DiaaAj记忆与知识3541 周前更新

关于 a-mem-mcp

A-MEM 是面向编码 Agent 的自演化记忆系统,将知识自动组织为 Zettelkasten 风格的图结构,并随时间动态更新关联。它目前在 Claude Code 中测试,其他 MCP 兼容 Agent 的支持尚在规划中。

主要功能

  1. 01记忆自动生成关键词、上下文与标签
  2. 02基于向量相似度发现相关记忆
  3. 03语义搜索结合图遍历
  4. 04先轻量检索再按需读取完整内容
  5. 05按时间范围搜索记忆

适用场景

  1. 01让编码 Agent 在多次会话中保留项目知识
  2. 02检索认证流程等代码相关说明
  3. 03在不同项目之间共享全局记忆

MCP 相关

该项目是 MCP 服务,向编码 Agent 暴露 8 个工具,包括 add_memory_note、search_memories 和 read_memory_note,用于存储与检索记忆。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"diaaaj-a-mem": {
"command": "uvx",
"args": [
"a-mem"
],
"env": {
"LLM_BACKEND": "<LLM_BACKEND>",
"LLM_MODEL": "<LLM_MODEL>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"EMBEDDING_MODEL": "<EMBEDDING_MODEL>",
"CHROMA_DB_PATH": "<CHROMA_DB_PATH>"
}
}
}
}
启动命令uvx a-mem
需要配置的环境变量
LLM_BACKENDLLM backend to use (openai, ollama, sglang, or openrouter)
LLM_MODELLLM model name (e.g., gpt-4o-mini, llama2, etc.)
OPENAI_API_KEY密钥OpenAI API key (required if LLM_BACKEND=openai)
EMBEDDING_MODELSentence transformer model for embeddings
CHROMA_DB_PATHChromaDB storage directory path

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypia-mem0.2.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

A-MEM:编码 Agent 的自进化记忆

PyPI 版本 PyPI 下载量 MCP 注册表

mcp-name: io.github.DiaaAj/a-mem-mcp

A-MEM 是一个面向编码 Agent 的自进化记忆系统。与简单的向量存储不同,A-MEM 会自动将知识整理成具有动态关系的 Zettelkasten 风格图谱。记忆不仅会被存储,还会随着时间推移不断演进并建立连接。

目前已通过 Claude Code 测试。计划支持其他兼容 MCP 的 Agent。

README 配图

快速开始

安装
pip install a-mem
添加到 Claude Code
claude mcp add a-mem -s user -- a-mem-mcp \
  -e LLM_BACKEND=openai \
  -e LLM_MODEL=gpt-4o-mini \
  -e OPENAI_API_KEY=sk-...

就是这样!会自动安装一个会话启动钩子,提醒 Claude 使用记忆。

注意: 记忆按项目存储在 ./chroma_db 中。要在所有项目间共享全局记忆,请参阅记忆范围。

卸载
a-mem-uninstall-hook   # Remove hooks first
pip uninstall a-mem

工作原理

t=0              t=1                t=2

                 ◉───◉             ◉───◉
 ◉               │                 ╱ │ ╲
                 ◉                ◉──┼──◉
                                     │
                                     ◉

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━▶
            self-evolving memory
  1. 添加记忆 → A-MEM 通过 LLM 提取关键词、上下文和标签
  2. 查找邻居 → 搜索语义相似的现有记忆
  3. 演进 → 决定是建立关联、加强连接,还是更新相关记忆
  4. 存储 → 将完整的元数据和关系持久化到 ChromaDB

结果是:知识图谱会随着时间推移变得更加智能,而不只是不断变大。

功能

自进化记忆 记忆并非一成不变。添加新知识时,A-MEM 会自动查找相关记忆、加强连接、更新上下文并演进标签。

语义 + 结构化搜索 结合向量相似度与图遍历。按含义查找记忆,再探索其关联。

先概览,再深入 先通过广度优先搜索,使用轻量级元数据(id、上下文、关键词、标签)捕获相关记忆。然后使用 read_memory_note 对特定记忆进行深度优先检索,获取完整内容。这样既能最大限度地减少 token 用量,又能最大限度地提高召回率。

MCP 工具

A-MEM 向你的编码 Agent 提供 8 个工具:

工具描述
add_memory_note存储新知识(异步,立即返回)
search_memories在所有记忆中进行语义搜索
search_memories_agentic搜索并沿图关系继续探索
search_memories_by_time在指定时间范围内搜索
read_memory_note获取完整详情(支持批量读取)
update_memory_note修改现有记忆
delete_memory_note删除记忆
check_task_status检查异步任务是否完成
使用示例
# The agent calls these automatically, but here's what happens:

# Store a memory (returns task_id immediately)
add_memory_note(content="Auth uses JWT in httpOnly cookies, validated by AuthMiddleware")

# Search later
search_memories(query="authentication flow", k=5)

# Deep search with connections
search_memories_agentic(query="security", k=5)

高级配置

JSON 配置

如需更多控制,请编辑 ~/.claude/settings.json(全局)或 .claude/settings.local.json(项目):

{
  "mcpServers": {
    "a-mem": {
      "command": "a-mem-mcp",
      "env": {
        "LLM_BACKEND": "openai",
        "LLM_MODEL": "gpt-4o-mini",
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}
环境变量
变量描述默认值
LLM_BACKENDopenai、ollama、sglang、openrouteropenai
LLM_MODEL模型名称gpt-4o-mini
OPENAI_API_KEYOpenAI API 密钥—
EMBEDDING_MODEL句子转换器模型all-MiniLM-L6-v2
CHROMA_DB_PATH存储目录./chroma_db
EVO_THRESHOLD触发演进的阈值100
记忆范围
  • 项目专属(默认):每个项目的记忆都独立存储在 ./chroma_db 中
  • 全局:设置 CHROMA_DB_PATH=~/.local/share/a-mem/chroma_db,即可在项目间共享
替代后端

Ollama(本地、免费)

claude mcp add a-mem -s user -- a-mem-mcp \
  -e LLM_BACKEND=ollama \
  -e LLM_MODEL=llama2

OpenRouter(100 多种模型)

claude mcp add a-mem -s user -- a-mem-mcp \
  -e LLM_BACKEND=openrouter \
  -e LLM_MODEL=anthropic/claude-3.5-sonnet \
  -e OPENROUTER_API_KEY=sk-or-...
钩子管理(Claude Code)

会话启动钩子会提醒 Claude 使用记忆工具。它会随 Claude Code 自动安装,但你也可以手动管理:

a-mem-install-hook     # Install/reinstall hook
a-mem-uninstall-hook   # Remove hook completely

Python API

直接在 Python 中使用 A-MEM(适用于任何 Agent 或应用):

from agentic_memory.memory_system import AgenticMemorySystem

memory = AgenticMemorySystem(
    llm_backend="openai",
    llm_model="gpt-4o-mini"
)

# Add (auto-generates keywords, tags, context)
memory_id = memory.add_note("FastAPI app uses dependency injection for DB sessions")

# Search
results = memory.search("database patterns", k=5)

# Read full details
note = memory.read(memory_id)
print(note.keywords, note.tags, note.links)

研究

A-MEM 实现了以下论文中的概念:

A-MEM:面向 LLM Agent 的 Agentic Memory Xu 等,2025 年 arXiv:2502.12110

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。