知识图谱存储服务

MCP Memory Graph Server 是一个基于MongoDB的知识图谱持久化存储服务,支持实体管理、关系处理和实时查询。

  • by santahate
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 santahate/mcp-mongo-memory

使用说明

MCP内存图服务器

概述

内存图服务器为知识图提供了一个持久存储层,允许:

  • 实体及其属性的存储
  • 实体间关系的管理
  • 查询和遍历图结构
  • 实时更新和修改

特性

  • 基于MongoDB的持久存储
  • 图形操作(创建、读取、更新、删除)
  • 实体管理
  • 关系处理
  • 查询功能
  • 实时更新

配置

设置免费的MongoDB Atlas集群(快速入门)

如果你还没有运行MongoDB实例,你可以启动一个 自由 MongoDB Atlas上的云集群(https://cloud.mongodb.com)在短短几分钟内:

  1. 注册/登录
    打开 https://cloud.mongodb.com 并创建一个帐户。您可以通过电子邮件注册或登录 谷歌 或 GitHub.

  2. 创建项目和集群
    创建新 项目 (例如。 mcp-memory)并选择 创建→ 部署→ 创建集群. 选择 免费共享(M0) 分层,选择离您最近的提供商/地区,为集群命名并单击 创建. 配置大约需要2-3分钟。

  3. 创建数据库用户
    引导到 数据库访问→ 添加新数据库用户. –选择 密码 身份验证。 –输入a 用户名 (例如。 mcp_user)和一个强大的 密码 (或自动生成一个)。 –对于快速测试,请给用户 读写任何数据库 特权(您可以稍后收紧)。 –点击 添加用户 并将凭据存储在安全的地方。

  4. 允许您的IP地址
    首选 网络接入→ 添加IP地址 并将服务器将连接的公共IP地址列入白名单。 您可以点击 添加当前IP地址 或手动指定。

  5. 获取连接字符串(URI)
    上 数据库部署 屏幕点击 连接→ 驾驶员,选择 python 并复制URI,它看起来像:

    mongodb+srv://<username>:<password>@<cluster>.mongodb.net/?retryWrites=true&w=majority
    

    替换 <username>/<password> 使用步骤3中的凭据,并可选择附加 /<database> 选择默认数据库,例如。 /mcp_memory.

  6. 配置内存图服务器
    通过服务器所需的环境变量导出连接字符串:

    export MCP_MONGO_MEMORY_CONNECTION="mongodb+srv://mcp_user:<password>@cluster0.mongodb.net/mcp_memory?retryWrites=true&w=majority"
    

    在URI周围保留引号,以便保留特殊字符,以及 永远不要将此字符串提交给版本控制.

现在,您可以启动服务器,如所示 MCP服务器配置 部分。

直接使用环境变量

或者,您可以直接设置所需的环境变量:

MCP_MONGO_MEMORY_CONNECTION=mongodb://username:password@host:port/database

安装和设置

先决条件

  1. 安装uvx(如果尚未安装):

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. 设置MongoDB连接(请参阅下面的配置部分)

MCP服务器配置

将以下代码段添加到您的mcp配置中:

{
  "mcpServers": {
    "Memory": {
      "command": "/path/to/local/bin/uvx",
      "args": [
        "mongo-memory"
      ],
      "env": {
        "MCP_MONGO_MEMORY_CONNECTION": "mongodb://username:password@host:port/database"
      }
    }
  }
}

替换 /path/to/local/bin/ 与你通往uvx的实际路径。 将连接字符串替换为实际的MongoDB凭据。

可用操作

服务器为AI代理提供以下操作:

实体管理:

  • create_entities -创建具有唯一名称的新实体
  • get_entity -按名称检索单个实体
  • update_entity -更新现有实体数据
  • delete_entity -删除实体
  • find_entities -使用查询条件搜索实体

关系管理:

  • create_relationship -在实体之间创建关系
  • get_relationships -通过筛选检索关系
  • delete_relationship -删除特定关系

内存结构:

  • get_memory_structure -获取当前内存组织
  • get_usage_guide -获取全面的使用示例和最佳实践

有关详细的使用示例、模式和最佳实践,AI代理应致电 get_usage_guide().

发展

看 Developpent.md 用于开发设置和指南。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。