Obsidian-Memory MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- Obsidian-Memory 的 MCP 服务器实现,遵循 Model Context Protocol 规范,核心职责是向 LLM 客户端提供统一、可扩展的上下文服务,包括资源管理、工具注册与执行,以及 Prompt 模板定义与渲染。
- 通过 JSON-RPC 与客户端通信,支持多种传输协议(如 stdio、SSE、HTTP),并具备会话管理、能力声明和安全访问等能力。
-
主要功能点
- 资源与记忆管理:管理和查询 Note/Relation/Wikilink 等资源,提供高效的索引和检索能力。
- 工具注册与执行:MCP 工具集合覆盖内存、图谱、项目、会话、上下文等多类操作,客户端可通过工具名远程调用。
- Prompt 模板与渲染:内置模板渲染,便于将知识与上下文注入到 LLM 的对话中。
- JSON-RPC 交互:遵循 MCP 的标准请求/响应格式,提供 initialize、tools/list、tools/call 等方法。
- 多传输协议支持:标准输入输出(stdio)、SSE、以及基于 HTTP 的流式传输(SSE/HTTP),以适配 Claude Code、Cursor、Claude.ai 等客户端。
- 会话与授权:提供会话生命周期、访问控制与日志,具备可扩展的鉴权能力。
- 开箱即用的整合示例:包含 CLI/Docker 快速启动、环境变量与配置示例,方便快速落地。
-
安装步骤
- 通过仓库克隆并使用 Docker Compose 启动(推荐):
- git clone https://github.com/jodfie/Obsidian-Memory.git
- cd Obsidian-Memory
- cp .env.example .env # 根据需要配置 Vault 路径、鉴权等
- docker compose up -d
- 启动后默认可用端口:
- 后端 API:http://localhost:8765
- MCP 服务器(stdio 模式, Claude Code 连接)在容器内运行
- SilverBullet 前端(若使用): 3001(开发模式)/ 3100(生产模式)
- 通过仓库克隆并使用 Docker Compose 启动(推荐):
-
服务器配置(MCP 客户端需要的最小信息)
- server 名称:obsidian-memory
- 启动命令与参数(示例,客户端无需修改):
- 下面的配置用于 Claude Code 等客户端连接 MCP 服务器。请将以下 JSON 配置放入你的 MCP 客户端配置文件中,以指定服务器名称、启动命令与参数等信息。该信息仅用于客户端如何连接服务器,不需要在 MCP 端执行任何代码块。
{ "mcpServers": { "obsidian-memory": { "command": "docker", "args": ["exec", "-i", "memory-mcp", "node", "dist/index.js"], "env": { // 根据需要注入环境变量,例如数据库路径、API 端点、鉴权参数等 }, "notes": "MCP 客户端需通过此配置知道如何在宿主环境/容器中启动并连接到 Obsidian-Memory 的 MCP 服务。" } } }
-
基本使用方法
- 启动后,MCP 客户端通过 initialize 请求建立会话,随后可以通过 tools/list 获取可用工具列表,通过 tools/call 调用具体工具,服务器返回文本内容与结构化数据供 LLM 处理。
- 可以使用标准的 JSON-RPC 客户端发起请求,或者通过 SSE/HTTP 的传输通道与服务器进行实时交互。
- 如需进行资源查询、关系/图谱导航、会话管理等,直接使用对应的工具名与参数,即可获得一致的 JSON-RPC 响应或文本输出。
-
额外信息
- 开源实现中包含对 stdio、SSE、HTTP 传输的实验性实现,以及完整的工具集合定义、请求路由和处理逻辑,适合在 Claude Code、Cursor、Claude.ai 等客户端中接入使用。
- 服务器端注重安全性与可扩展性,支持多传输协议、会话跟踪、能力声明以及可自定义的身份鉴权策略。