项目简介
本项目是基于 Model Context Protocol (MCP) 构建的知识图谱记忆服务器,使用 DuckDB 作为后端数据库。它旨在为大型语言模型 (LLM) 提供高效、可扩展的结构化知识存储和检索服务,作为 LLM 的上下文信息来源。
主要功能点
- 知识图谱管理: 支持创建、更新、删除实体、关系和观测信息,构建结构化的知识图谱。
- 高效存储: 使用 DuckDB 数据库,提供快速的本地数据分析和查询性能。
- 模糊搜索: 集成 Fuse.js 实现基于实体名称、类型和观测内容的模糊搜索功能。
- MCP 工具接口: 实现了符合 MCP 协议的工具接口,方便 LLM 客户端调用和集成。
- 可配置数据库路径: 允许用户自定义数据库文件存储路径。
安装步骤
-
环境准备: 确保已安装 Node.js 和 npm 或 pnpm。
-
Smithery 安装 (推荐): 如果你使用 Claude Desktop,可以通过 Smithery 自动安装:
npx -y @smithery/cli install @IzumiSy/mcp-duckdb-memory-server --client claude -
手动安装:
- 将 '@IzumiSy/mcp-duckdb-memory-server' 添加到你的 'claude_desktop_config.json' 配置文件中。
- 可选配置 'MEMORY_FILE_PATH' 环境变量来指定数据库文件路径。
-
Docker 安装:
- 构建 Docker 镜像:
docker build -t mcp-duckdb-graph-memory . - 运行 Docker 容器:
docker run -dit mcp-duckdb-graph-memory
- 构建 Docker 镜像:
服务器配置
为了让 MCP 客户端(例如 Claude Desktop)连接到此 MCP 服务器,你需要在客户端的配置文件中添加服务器配置。以下是 'claude_desktop_config.json' 的配置示例:
{ "mcpServers": { "graph-memory": { "command": "npx", "args": [ "-y", "@izumisy/mcp-duckdb-memory-server" ], "env": { "MEMORY_FILE_PATH": "/path/to/your/memory.data" } } } }
配置参数说明:
- 'server name': 'graph-memory' (服务器名称,可以自定义)
- 'command': 'npx' (启动命令,通常为 npx)
- 'args':
- '-y' (参数,自动确认安装)
- '@izumisy/mcp-duckdb-memory-server' (MCP 服务器的 npm 包名)
- 'env':
- 'MEMORY_FILE_PATH': '/path/to/your/memory.data' (可选:自定义数据库文件路径,默认为用户目录下的 '.local/share/duckdb-memory-server/knowledge-graph.data')
基本使用方法
- 启动 MCP 服务器后,客户端(如 Claude Desktop)将通过配置的命令和参数连接到服务器。
- 客户端可以使用预定义的 MCP 工具(例如 'create_entities', 'search_nodes' 等)与服务器交互,管理和查询知识图谱。
- 客户端可以发送 JSON-RPC 请求调用这些工具,服务器会处理请求并返回 JSON-RPC 响应。
- 详细的工具使用方法请参考仓库中的 'src/toolsSchema.ts' 文件,该文件定义了所有可用的工具及其参数。
信息
分类
数据库与文件