MegaMem - Obsidian 知识图谱 MCP 服务器实现
使用说明(简要,便于开发者快速理解与部署)
-
项目简介 MegaMem 将 Obsidian 笔记同步到时序知识图谱(Graphiti 驱动的图数据库),并通过嵌入的 MCP 服务器对外提供资源、工具和 Prompt 的访问接口,支持 Claude Desktop 及其他 MCP 兼容客户端的上下文服务。
-
主要功能点
- 将 Obsidian vault 内容转换为可查询的时序知识图谱,支持事件、实体与边关系的版本化存储
- 提供 19 种 MCP 工具,覆盖图谱查询、前端笔记读取/写入等能力
- 内置 MCP 服务器,与客户端通过 JSON-RPC 方式进行资源读取、工具调用、Prompts 获取等交互
- 与 Obsidian CLI 集成,文件操作工具通过本地 CLI 调用实现无状态、无持久连接
- 生成 Claude Desktop 配置,使 MCP 服务器可与 Claude Desktop 连接并使用
- 具备会话管理、能力声明以及跨传输协议(如 Stdio、SSE、WebSocket)的兼容性设计
-
安装步骤(简述)
- 安装 Obsidian 并确保版本符合要求(1.12.x 及以上)
- 通过 Obsidian 插件浏览器安装 MegaMem-MCP 插件(Beta 通道)
- 第一次启动时,插件会自动安装 Python 组件(Graphiti 相关依赖)
- 根据文档准备数据库:Neo4j 5+ 或 FalkorDB,确保数据库可连接
- 插件设置中安装依赖并配置 LLM 提供商密钥,加载默认配置
- 生成 MCP 配置(插件设置 -> Servers -> Generate Config),将生成的 JSON 配置粘贴到 Claude Desktop 的配置中
- 启动 MCP 服务器,Claude Desktop 配置中指向生成的 MCP 服务器
-
服务器配置(给 MCP 客户端使用的配置,仿照仓库实现输出,JSON 形式描述,包含 server name、command、args、environment)
- server_name: megamem
- command: python
- args: ["/path/to/.obsidian/plugins/megamem-mcp/mcp-server/megamem_mcp_server.py"]
- environment: OBSIDIAN_CONFIG_PATH: "/path/to/.obsidian/plugins/megamem-mcp/data.json" 注释说明:
- server_name 指定 MCP 服务器在客户端配置中的名称,便于客户端辨识与管理
- command 与 args 指定启动 MCP 服务器的命令与参数,通常为 Python 解释器与 Python 脚本路径
- OBSIDIAN_CONFIG_PATH 指向 Obsidian Vault 的插件数据配置(data.json),服务器读取该配置以了解 vault、数据库、以及工具/资源的设定
-
基本使用
- 在 Claude Desktop 或其他 MCP 客户端中,加载上述配置后即可通过 MCP 接口读写资源、执行 Tools、获取 Prompts
- 通过插件提供的“Generate Config/Claude 集成”向导,可以便捷完成 Claude Desktop 的初始连接
- 使用插件的图谱查询与工具执行能力, LLMS 可以在对话中直接请求对 vault 的记忆、笔记创建/修改等操作
-
备注
- 本实现包含一个 MCP 服务器端组件,且与 Obsidian 插件、Graphiti 框架及云端/本地 LLM 提供商的集成均有相关实现和文档
- 部署前请确保数据源、数据库连接与网络权限均已就绪,以确保 MCP 服务的稳定运行