Memcp

Memcp

🚀 MemCP - AI代理内存协议中的记忆上下文协议

MemCP 是一个模块化且可扩展的AI代理内存 MCP 服务器,专为 IDE 或支持 MCP 的 LLM 客户端应用程序打造。它基于 Zep AI Graphiti 里的 mcp-server 示例进行拓展,能让 AI 代理构建、维护并查询一个会随新信息自动演变的时序知识图谱。

🚀 快速开始

MemCP 目前设计为即插即用型内存服务器,适用于任何支持本地 SSE 或标准输入输出(stdio)传输的 IDE 或 LLM 客户端应用程序。

⚠️ 重要提示

它主要与 Cursor IDE 进行了测试,与其他支持MCP 的客户端相比可能有不同的表现。

✨ 主要特性

  • 时序知识图谱:允许AI代理自动构建和查询一个随时间演化的知识图谱
  • MCP 集成:与任何支持MCP的客户端兼容
  • 实体提取:自动提取代码特定的实体及其关系,定制化功能即将推出
  • 灵活配置:可通过环境变量、TOML 文件或命令行参数配置
  • 持久性存储:使用 Neo4j 存储知识,实现跨会话持久化
  • 多传输支持:同时支持 SSE(HTTP)和 stdio 传输

📚 详细文档

完整的 MemCP 文档位于 docs 目录。请查阅 docs/README.md 获取更多信息。

📦 安装指南

环境要求

  • 操作系统:Linux、macOS 或 Windows(建议使用 Linux)
  • 编程语言:Python 3.8+
  • 依赖管理工具:pip(推荐)

安装步骤

  1. 克隆仓库:
git clone https://github.com/your-repository/memcp.git
cd memcp
  1. 安装依赖:
pip install -r requirements.txt
  1. 配置环境变量(可选):
    • 设置 NEO4J_URI 指定数据库连接地址
    • 设置 NEO4J_USERNEO4J_PASSWORD 用于身份验证
    • 设置 OPENAI_API_KEYANTHROPIC_API_KEY 进行实体提取

启动服务

python3 memcp_server.py

💻 使用示例

基础用法

# 初始化 MemCP 实例
from memcp import MemCP
mem = MemCP()

# 添加知识片段
mem.add_fact("用户偏好", "喜欢红色")

# 查询知识图谱
print(mem.get_facts())

高级用法

实体类型

MemCP 定义了以下默认实体类型:

  • Preference:用户的喜好和倾向
  • Procedure:执行特定任务的步骤或操作
  • Requirement:产品或服务必须满足的功能需求

通过 --graph.use_memcp_entities 标志可启用/禁用这些实体类型。

持久化存储

MemCP 使用 Neo4j 数据库进行数据持久化。默认情况下,数据会自动保存到本地实例中。如需配置自定义数据库地址,请设置环境变量:

export NEO4J_URI=bolt://localhost:7687

🤝 贡献指南

欢迎贡献!请查阅 CONTRIBUTING.md 获取具体指南。

📄 许可证

MemCP 采用 MIT 许可证,具体内容请参阅 LICENSE 文件。

⚠️ 重要提示

MemCP 的 API 调用频率较高,因为它依赖的 Graphiti 也是如此。这意味着虽然能生成准确有用的知识图谱,但也会产生较高的调用成本。使用时请注意控制调用次数以避免费用过高。

  • 0 关注
  • 0 收藏,33 浏览
  • system 提出于 2025-09-19 15:06

相似服务问题

相关AI产品