知识图谱内存引擎

Memora MCP Server是一个基于FastAPI和Neo4j的轻量级后端服务,用于存储个人兴趣、技能和经验的实体和关系,构建知识图谱,为LLM提供持久化记忆和结构化上下文推理能力。

  • by Deepak3168
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Deepak3168/Memora

使用说明

🧠 Memora MCP服务器

Memora MCP Server是一个轻量级后端,使用 快速API 和 Neo4j 这起到了 存储器引擎 --能够将代表个人兴趣、技能和经验的实体和关系存储为 知识图谱. 该项目演示了如何 MCP(模型上下文协议) 可用于为LLM提供持久的记忆和对结构化上下文的推理。


🚀 特性

  • 🧩 使用Neo4j创建实体和关系
  • ⚡ 使用FastAPI构建REST API
  • 🤖 LLM客户端(如Claude)的集成就绪MCP端点
  • 🧠 设计为构建个性化AI记忆或情境智能系统的基础

⚙️ 设置

1.克隆存储库

git clone https://github.com/Deepak3168/Memora.git
cd memora-mcp-server

2.创建虚拟环境

使用venv保持依赖关系简单和隔离:

python -m venv mcp
source mcp/bin/activate   # (Linux/Mac)
mcp\Scripts\activate      # (Windows)

3.安装依赖项

pip install -r requirements.txt

4.运行FastAPI服务器

uvicorn main:app --host 0.0.0.0 --port 8000 --reload

您的API现在将在以下网址提供: 👉 http://127.0.0.1:8000/docs


🗄️ Neo4j设置

1.安装Neo4j

sudo apt install neo4j -y

2.更改Neo4j密码

使用此终端命令:

cypher-shell -u neo4j -p neo4j "ALTER CURRENT USER SET PASSWORD FROM 'neo4j' TO 'password';"

3.启动并启用服务

sudo systemctl start neo4j
sudo systemctl enable neo4j

4.创建 .env 文件

创建一个 .env 如中所述的文件 constants.py:

NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=your_password_here

🧩 MCP服务器集成(Claude)

您可以将此后端连接到 克劳德桌面 作为MCP服务器。

步骤:

  1. 打开 克劳德→ 设置→ 开发者→ 编辑配置

  2. 从以下位置复制JSON配置:

    claude_desktop_config.json
    
  3. 重新启动克劳德

    • 开 视窗:从任务管理器中关闭它
    • 开 Mac/Linux:只需重新启动应用程序

你现在应该看到了 Memora MCP服务器 列在Claude的连接MCP工具中。


💬 克劳德提示示例

连接MCP服务器后,在Claude内部尝试以下操作:

“从现在开始,根据我的兴趣、技能和知识创建实体和关系。 构建一个知识图谱,反映我的个性、专业知识和学习历史。”

随后,克劳德将开始创作 实体 (代表您的兴趣、技能等)以及 关系 (显示它们是如何连接的),逐渐形成 个人知识图.


🔮 潜在用例

  • 🧠 记住你的背景的个性化人工智能助手
  • 🎯 情境驱动的推荐和广告
  • 🔍 用于LLM微调的图到向量嵌入
  • 🧩 构建长期AI记忆系统

🧱 项目结构

📦 Memora
├── main.py                      # FastAPI entry point
├── routes/
│   ├── entity_ops.py            # Entity creation & listing routes
│   └── relation_ops.py          # Relationship endpoints
├── models/
│   └── entity.py           # EntityNode definition
|   └── relation.py           # RelationEdge definition
├── db/
│   └── init.py                  # Neo4j connection setup
├── constants.py                 # Env and configuration constants
├── mcp_config.json   # MCP config for Claude
└── requirements.txt

🧠 概念概述

每次与MCP服务器交互时 实体 (比如 Deepak, Backend Developer, Python)以及 关系 (比如 Deepak → skilled_in → Python)存储在 Neo4j.

随着时间的推移,这形成了 你的记忆和兴趣的图形表示 --迈向 存储器引擎 稍后可以:

  • 生成嵌入
  • 训练微调模型
  • 为未来的提示启用上下文回忆

🧑‍💻 作者

迪帕克·奥塔拉 对后端开发、数据工程和构建随用户环境发展的智能系统充满热情。