使用说明
项目简介
这是一个 Obsidian 插件,它在 Obsidian 内部直接托管一个 Model Context Protocol (MCP) 服务器。通过这个插件,LLM 客户端(如支持 MCP 的AI助手)可以直接与您的 Obsidian 笔记库进行交互,安全且标准化地访问笔记内容、执行文件操作等。
主要功能点
- 嵌入式 MCP 服务器: 服务器直接运行在 Obsidian 内部,简化设置并提高性能。
- 笔记库访问: 通过标准化的工具(Tools)和资源(Resources)暴露 Obsidian 笔记库的能力。
- 文件操作: 支持读取、写入(带智能差异编辑)、搜索文件内容和名称、导航笔记库结构、创建/更新文件、回滚文件修改等。
- 结构化数据支持: 允许您定义基于 YAML/JSON Schema 的结构化笔记格式,并生成相应的工具供 LLM 调用,确保数据的一致性和有效性。
- 配置灵活: 可以自定义服务器端口、绑定地址以及启用/禁用特定工具和资源。
安装步骤
推荐使用 Obsidian 社区插件市场进行安装:
- 打开 Obsidian 设置 -> 社区插件。
- 搜索 "MCP Plugin"。
- 点击“安装”,然后点击“启用”。
- 根据需要配置插件设置。
或者手动安装:
- 下载最新版本的插件压缩包。
- 将压缩包解压到您的 Obsidian 笔记库根目录下的 '.obsidian/plugins/' 目录中。
- 在 Obsidian 设置 -> 社区插件中启用本插件。
服务器配置 (供 MCP 客户端参考)
本插件将 MCP 服务器嵌入到 Obsidian 中运行,因此您无需手动启动一个独立的服务器进程。LLM 客户端需要配置连接到由 Obsidian 插件开放的网络地址和端口。
插件目前支持 Server-Sent Events (SSE) 和 Streamable HTTP 两种传输协议。对于需要 Stdio 协议的客户端(如某些桌面AI应用),您需要使用一个本地代理工具(例如 'mcp-remote')。
您可以在插件设置页面找到服务器正在监听的 HTTP/SSE 地址和端口。一个典型的客户端配置(例如 Claude Desktop 的 'claude_desktop_config.json',使用 'mcp-remote' 作为代理)可能看起来像这样:
{ "mcpServers": { "obsidian_vault": { // 您为这个服务器连接起的名字 "command": "npx", "args": [ "mcp-remote", // 使用 mcp-remote 作为本地代理命令 "http://localhost:YOUR_PORT/sse" // 从 Obsidian MCP 插件设置中获取的 SSE 地址 ] } // 或者如果客户端直接支持 HTTP/SSE,可能只需要配置URL // "obsidian_vault": { // "url": "http://localhost:YOUR_PORT/mcp" // 从 Obsidian MCP 插件设置中获取的 Streamable HTTP 地址 // } } }
请将 'YOUR_PORT' 替换为插件设置中配置的服务器端口。
基本使用方法
- 安装并启用插件。
- (可选)进入 Obsidian 设置 -> Obsidian MCP 插件,配置服务器端口、绑定地址以及启用/禁用您需要的工具和资源。修改端口或绑定地址后,需要点击设置页面底部的“重启服务器”按钮使更改生效。
- 在插件设置页面的“Listening Endpoints”部分,找到服务器监听的地址(例如 'http://localhost:3000/sse' 或 'http://localhost:3000/mcp')。
- 配置您的 LLM 客户端,使其通过上述地址连接到 Obsidian 中运行的 MCP 服务器。如果客户端需要 Stdio 连接,请按照 README 中的说明使用 'mcp-remote' 等工具进行代理。
- 成功连接后,您的 LLM 客户端即可通过 MCP 协议调用插件暴露的工具和资源,与您的 Obsidian 笔记库进行交互。
信息
分类
生产力应用