MongoDB记忆图谱MCP服务 使用说明

项目简介

这是一个遵循Model Context Protocol (MCP) 标准实现的服务器服务。它利用MongoDB作为后端存储,提供了一个持久化的记忆层,主要用于为大型语言模型 (LLM) 或智能代理提供知识图谱形式的上下文和记忆能力。该服务通过标准化的MCP工具接口,允许客户端创建、读取、更新和删除实体及其关系。

主要功能点

  • 实体管理: 在MongoDB中高效地存储、检索、更新和删除各种类型的实体信息。
  • 关系管理: 在实体之间建立、查询和删除自定义类型的关系,支持关系属性。
  • 数据查询: 提供灵活的查询接口,支持根据多种条件查找符合条件的实体和关系。
  • 记忆结构: 可以获取当前的记忆结构信息,帮助客户端理解数据组织方式。
  • MCP工具暴露: 将核心数据操作功能封装为MCP工具,供遵循MCP协议的客户端调用。

安装步骤

该服务是一个标准的Python包,可以通过pip安装:

# 推荐使用 uv 安装
uv pip install mongo-memory

# 或者使用 pip 安装
pip install mongo-memory

服务器配置

该服务本身需要连接到MongoDB数据库。启动服务前,请确保已经安装并运行了MongoDB,并获取了连接字符串URI(例如 'mongodb+srv://username:[email protected]/databasename?retryWrites=true&w=majority')。

这个MCP服务是设计给MCP客户端调用的。在MCP客户端的配置文件(如 'mcp.json')中,您需要配置如何启动和连接到此服务。配置通常包含以下信息:

  • 服务名称 (Service Name): 为此服务指定一个在MCP客户端中使用的唯一名称,例如 '"MongoMemory"'。
  • 启动命令 (Command): 指定用于启动此服务的可执行文件路径,例如 '/path/to/.local/bin/uv' 或 '/path/to/python'。
  • 命令参数 (Args): 指定传递给启动命令的参数,例如 '["run", "mcp-mongo-memory"]' 如果使用 'uv',或 '["-m", "mongo_memory.cli"]' 如果直接使用 'python'。
  • 环境变量 (Environment Variables): 必须在此部分的配置中设置 'MCP_MONGO_MEMORY_CONNECTION' 环境变量。其值就是您的MongoDB连接字符串URI。服务启动时会读取此环境变量来建立数据库连接。请确保连接字符串包含正确的用户名、密码、主机和数据库名称。

重要提示: 保护您的MongoDB连接字符串,切勿将其直接硬编码到代码中,并避免提交到公共版本控制仓库。

基本使用方法

配置并启动服务后,MCP客户端会通过JSON-RPC协议与此服务通信。客户端可以通过调用服务暴露的MCP工具来执行操作。例如,使用支持MCP的Python客户端(如 'mcp-client'),您可以通过服务名称获取服务实例,然后直接调用其方法:

  1. 连接服务: 客户端通过配置信息找到并连接到名为 '"MongoMemory"' 的服务。
  2. 调用工具: 客户端调用服务提供的工具函数,如 'create_entities'、'get_entity'、'find_entities'、'create_relationship'、'get_relationships'、'delete_entity'、'delete_relationship'、'get_memory_structure'、'get_usage_guide' 等。
  3. 数据交互: 调用工具时传递相应的参数(例如实体数据、查询条件、实体名称等),服务执行数据库操作并将结果通过JSON-RPC响应返回给客户端。

例如,要创建一个实体,客户端会向服务发送一个包含 'method: "MongoMemory.create_entities"' 和相应 'params: {"entities": [...]}' 的JSON-RPC请求。

详细的工具签名和使用示例(包括参数格式)可以参考服务的 'get_usage_guide' 工具返回的内容,或者查阅服务源代码中的工具函数定义。

信息

分类

数据库与文件