MemoryMesh 是一个知识图谱服务器,专为 AI 模型设计,重点关注文字 RPG 和互动叙事。它帮助 AI 在对话间保持一致、结构化的记忆,从而实现更丰富和动态的交互。项目基于 MCP servers 仓库中的 Knowledge Graph Memory Server,并保留了其核心功能。
主要用途与适用场景
MemoryMesh 是一个本地知识图谱服务器,用于为 AI 模型构建和管理结构化信息。它特别适合文字 RPG,但其适应性设计也适用于社交网络模拟、组织规划或任何涉及结构化数据的场景。
主要能力
- 动态 schema 工具:通过 schema 定义数据结构,MemoryMesh 自动生成添加、更新和删除数据的工具。
- 直观的 schema 设计:创建 schema 指导 AI 生成和连接节点,支持必填字段、枚举类型和关系定义。
- 元数据引导 AI:使用元数据提供上下文和结构,帮助 AI 理解数据的含义和关系。
- 关系处理:在 schema 中定义关系,鼓励 AI 在相关数据点(节点)之间创建连接(边)。
- 信息反馈:向 AI 提供错误反馈,使其能够从错误中学习并改进与知识图谱的交互。
- 事件支持:事件系统跟踪操作,提供知识图谱修改的洞察。
- 内置 11 个预构建的 schema,专为文字 RPG 设计。
- 提供 SchemaManager 工具,通过可视化界面简化 schema 创建和编辑。
- 提供 Memory Viewer 独立网页应用,用于可视化检查知识图谱。
核心概念
- 节点:代表知识图谱中的实体或概念。每个节点有 name(唯一标识符)、nodeType(节点类型,如 npc、artifact、location,由 schema 定义)、metadata(描述性字符串数组)、weight(可选,0 到 1 之间的数值,表示关系强度,默认 1)。
- 边:代表节点之间的关系。每条边有 from(源节点名称)、to(目标节点名称)、edgeType(关系类型,如 owns、located_in)。
- Schema:MemoryMesh 的核心,定义数据结构并驱动工具自动生成。schema 文件(.schema.json)放在构建后项目的 dist/data/schemas 目录,启动时自动检测和处理。文件名格式为 [name].schema.json,name 必须以 add_ 开头。
动态工具系统
MemoryMesh 读取 schema 定义,分析实体属性及其关系,为每个实体类型自动创建:
- add_<entity>:创建新实体实例。
- update_<entity>:修改现有实体。
- delete_<entity>:删除实体。 这些工具通过中央枢纽提供,供任何连接的客户端或 AI 使用。
数据存储与查看
默认情况下,数据存储在 dist/data/memory.json 的 JSON 文件中。Memory Viewer 是一个独立工具,用于可视化和检查知识图谱内容。 功能包括:
- 图可视化:以交互式节点-链接图查看知识图谱。
- 节点检查:选择节点查看其 nodeType、metadata 和连接的边。
- 边探索:检查节点之间的关系,包括 edgeType 和方向。
- 搜索和过滤:快速查找特定节点或按类型过滤。
- 表格视图:方便查找和检查特定节点和边。
- 原始 JSON 视图:查看记忆文件的原始 JSON 数据。
- 统计面板:提供总节点数、总边数、节点类型和边类型等指标。
使用 Memory Viewer 时,点击“Select Memory File”按钮,导航到项目目录选择 memory.json 文件(默认在 dist/data/memory.json),即可加载并显示知识图谱内容。
安装与配置
环境要求:
- Node.js 版本 18 或更高。
- npm(通常随 Node.js 提供)。
- Claude for Desktop 最新版(从 claude.ai/download 下载)。
安装步骤:
- 克隆仓库:git clone https://github.com/CheMiguel23/memorymesh.git cd memorymesh
- 安装依赖:npm install
- 构建项目:npm run build,此命令将 TypeScript 编译为 JavaScript 到 dist 目录,并复制示例 schema 和数据文件。
- 验证文件复制(可选):检查 dist/data 包含 .json 文件,dist/data/schemas 包含 .schema.json 文件。
- 配置 Claude Desktop:打开配置文件(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json;Windows: %APPDATA%\Claude\claude_desktop_config.json),在 mcpServers 部分添加 memorymesh 条目:
"mcpServers": {
"memorymesh": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/YOUR/PROJECT/memorymesh/dist/index.js"]
}
}
将 /ABSOLUTE/PATH/TO/YOUR/PROJECT/ 替换为实际绝对路径。macOS 示例:
"command": "node",
"args": ["/Users/yourusername/Projects/memorymesh/dist/index.js"]
Windows 示例:
"command": "node",
"args": ["C:\\Projects\\memorymesh\\dist\\index.js"]
- 重启 Claude Desktop 使配置生效。
验证安装:启动 Claude Desktop,打开新聊天,查看右上角 MCP 插件图标,点击应看到“memorymesh”在已连接服务器列表中,且列出工具(如 add_npc、update_npc 等)。
注意:更新前备份 dist/data 目录以避免丢失记忆数据。
版本更新
v0.3.0 更新:MCP SDK 从 v1.0.4 更新到 v1.25.2,以符合当前 Model Context Protocol 规范(2025-11-25)。此重大更新带来与最新 MCP 客户端的兼容性,包括 Claude Desktop、ChatGPT、Cursor、Gemini 和 VS Code。更新后需运行 npm install 获取新依赖。 自 v0.2.7 起,schema 默认位置改为 dist/data/schemas,预计未来不再变化。若从旧版本更新,请确保将 schema 文件移到新位置。
限制与注意事项
资料中未提及收费、价格或平台限制。使用前需备份数据。故障排除:若服务器未出现在 Claude 中,检查配置文件中的绝对路径是否正确,确认 dist 目录存在且包含编译后的 JavaScript 文件(包括 index.js),并检查 Claude Desktop 日志(macOS: ~/Library/Logs/Claude/mcp-server-memorymesh.log 和 mcp.log;Windows: 可能在 %AppData%\Claude 下的 Logs 文件夹)。若工具未显示,确保 npm run build 无错误完成,schema 文件正确放置在 dist/data/schemas 并遵循命名约定(add_[entity].schema.json),检查服务器控制台输出或日志。