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(生产模式)
  • 服务器配置(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 等客户端中接入使用。
    • 服务器端注重安全性与可扩展性,支持多传输协议、会话跟踪、能力声明以及可自定义的身份鉴权策略。

服务器信息