httpx + crewAI crewAI+ AutoGen AutoGen+ ONNX Runtime ONNX Runtime + REST API+ Python+ MCP Memory Service+ LangGraph

为多智能体流水线提供自托管共享记忆后端,5ms 检取上下文

Agent 框架只需 HTTP 客户端即可接入;X-Agent-ID 实现按身份隔离检索,SSE 提供实时事件

✓ 记忆跨所有 agent 与运行共享✓ Embeddings 本地运行,数据不出 ✕ 需自行自托管维护服务✕ 匿名访问模式有安全风险

方案简介

mcp-memory-service 是一个面向 AI 智能体流水线的开源自托管记忆后端,通过统一的 REST API(76 个端点)为 LangGraph、CrewAI、AutoGen 以及任意 HTTP 客户端提供持久化共享记忆。传统上每个 agent 运行都从零开始,上下文窗口限制导致“失忆”;而该服务让智能体存储决策、共享因果知识图谱,并以 5ms 速度检索上下文,无需 Redis + Pinecone + 胶水代码的云服务组合,也没有云锁定与 API 费用。Embeddings 通过 ONNX 在本地运行,记忆数据永不离开自有基础设施。适合需要多智能体协作、跨会话保持项目上下文的开发者与团队。

亮点与能力

  • 框架无关的 REST API,共 76 个端点,无需 MCP 客户端库
  • 知识图谱支持类型化边(causes、fixes、contradicts),共享因果链而不只是事实
  • X-Agent-ID 请求头按智能体身份自动打标签,实现范围化检索
  • conversation_id 绕过去重,支持增量对话存储
  • SSE 事件:任何智能体存储或删除记忆时实时通知
  • Embeddings 通过 ONNX 本地运行
  • 自主整合机制压缩旧记忆,突破上下文窗口限制

组成与分工

  • MCP Memory Service:核心记忆后端,提供存储、检索、知识图谱与整合能力
  • REST API:76 个端点的 HTTP 接口,框架接入的统一通道
  • LangGraph / CrewAI / AutoGen:智能体编排框架,作为 REST API 的消费方
  • httpx:Python 异步 HTTP 客户端,用于在 agent 代码中调用 API
  • ONNX:本地运行 embeddings,保证数据不出本地基础设施
  • X-Agent-ID / SSE:按智能体打标与实时事件通知机制

前置要求

  • Python 环境(pip 可用)

安装:
bash
pip install mcp-memory-service

实施步骤

1. 安装

bash
pip install mcp-memory-service

2. 以 HTTP 模式启动服务

bash
MCP_ALLOW_ANONYMOUS_ACCESS=true memory server --http

REST API running at http://localhost:8000

3. 在智能体代码中接入 REST API

使用 httpx 等任意 HTTP 客户端调用,存储时通过 X-Agent-ID 头自动打上智能体身份标签:

python
import asyncio
import httpx

BASE_URL = "http://localhost:8000"

async def main():
async with httpx.AsyncClient() as client:

Store — auto-tag with X-Agent-ID header

await client.post(f"{BASE_URL}/api/memories", ={
"content": "API rate limit is 100 req/min",
"tags": ["api", "limits"],
}, headers={"X-Agent-ID": "researcher"})

Stored with tags: ["api", "limits", "agent:researcher"]

Search — scope to a specific agent

results = await client.post(f"{BASE_URL}/api/memories/search", ={
"query": "API rate limits",
"tags": ["agent:researcher"],

使用与配置要点

  • 存储记忆:POST /api/memories,携带内容与 tags,X-Agent-ID 头会自动追加 agent:researcher 标签
  • 检索记忆:POST /api/memories/search,通过 tags: ["agent:researcher"] 限定某个智能体的记忆范围
  • 增量对话存储:使用 conversation_id 绕过去重
  • 实时感知:订阅 SSE 事件,任何智能体存储或删除记忆时收到通知
  • 更多框架专属指南见 docs/agents/

注意事项与常见问题

  • 示例中使用 MCP_ALLOW_ANONYMOUS_ACCESS=true 允许匿名访问,生产环境需注意安全
  • 若不需要自托管后端,也可通过 MCP 协议接入 Claude Desktop / Claude Code,属于不同接入方式

优缺点

  • ✓ 记忆跨所有 agent 与运行共享
  • ✓ Embeddings 本地运行,数据不出
  • ✕ 需自行自托管维护服务
  • ✕ 匿名访问模式有安全风险

出处

本方案挖掘自开源项目 doobidoo/mcp-memory-service,方案内容与实施命令均来自其 README 原文。

方案出处
doobidoo/mcp-memory-service:Open-source persistent memory for AI agent pipelines (LangGraph, CrewAI, AutoGen
1929 star Open-source persistent memory for AI agent pipelines (LangGraph, CrewAI, AutoGen) and Claude. REST API + knowledge graph + autonomous consolidation.

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。