项目简介
Obsidian MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务。它的核心功能是作为一个桥梁,让支持MCP协议的AI客户端(如大型语言模型 - LLM)能够访问和利用您的Obsidian笔记库。通过安装Obsidian的Local REST API插件并运行此服务器,您的Obsidian笔记库就能成为AI的强大知识源,支持复杂的查询和分析任务。
主要功能点
- 搜索笔记库 (search_vault): 提供强大的笔记搜索功能。不仅支持简单的文本搜索,还可以通过文件路径、标题关键词(支持多种匹配模式)、标签(支持多种匹配模式)和创建/修改日期进行过滤。可以选择获取搜索结果的上下文片段,或者直接获取符合条件的笔记全文。支持正则表达式进行复杂的文本匹配。
- 获取笔记内容 (get_note_content): 根据指定的路径,直接获取Obsidian笔记的完整内容和元数据。
- 浏览笔记库结构 (browse_vault_structure): 允许AI按路径浏览Obsidian笔记库的目录和文件结构,帮助AI理解知识库的组织方式。
安装步骤
- 在 Obsidian 中安装并配置插件:
- 在您的Obsidian应用中,安装并启用官方的 "Obsidian Local REST API" 社区插件。
- 在Obsidian设置中配置该插件,启用REST API,并记下API URL(通常是 'https://localhost:27124')和您设置的API密钥(如果设置了)。
- 安装 MCP 服务器:
- 打开您的命令行终端。
- 使用 pip 或 uv 安装服务器软件包:
pip install obsidian-api-mcp-server # 或者使用 uv: uv pip install obsidian-api-mcp-server
服务器配置 (针对MCP客户端)
这个MCP服务器通常由您的MCP客户端(如支持MCP的LLM应用)自动启动和管理。您需要在MCP客户端的配置中添加该服务器的信息。以下是您可能需要添加到客户端配置文件中的 JSON 片段示例及其说明(具体配置方式请参考您的MCP客户端文档):
{ "mcpServers": { // 为这个MCP服务器定义一个唯一的名称,供客户端内部识别 "obsidian-api-mcp-server": { // 客户端用来启动这个服务器进程的命令 "command": "uvx", // 如果使用 uv 安装,推荐使用 uvx 启动 // 传递给启动命令的参数 "args": [ "--from", // uvx 参数,指定从哪个包启动 "obsidian-api-mcp-server>=1.0.1", // 包名和版本范围 "obsidian-api-mcp" // 包内的可执行模块名 ], // 启动服务器进程时设置的环境变量 "env": { // **必需:** Obsidian Local REST API 的 URL "OBSIDIAN_API_URL": "https://localhost:27124", // **可选:** 如果您在Obsidian中设置了API密钥,在此填写 "OBSIDIAN_API_KEY": "您的API密钥" } } } }
重要安全提示: 切勿将敏感信息(如API密钥)直接硬编码到您公开分享或提交到版本控制的配置文件中。优先使用环境变量,并妥善管理您的API密钥。
基本使用方法
一旦MCP服务器被正确配置到您的MCP客户端中,当客户端需要访问Obsidian笔记库提供的信息或执行相关操作时,它将自动启动并连接到此Obsidian MCP服务器。您无需手动运行服务器命令。您的AI模型将通过客户端调用服务器暴露的工具('search_vault', 'get_note_content', 'browse_vault_structure')来与Obsidian笔记库进行交互。
例如,如果您的AI模型收到了一个查询,要求在您的"项目笔记"文件夹中查找包含"预算"的笔记,并总结其中的要点,AI模型会利用客户端调用此服务器的 'search_vault' 工具,并传递相应的参数(如 'search_in_path="项目笔记/"', 'query="预算"', 'include_content=True'),服务器则通过Obsidian Local REST API执行查询并将结果返回给AI模型进行处理。
信息
分类
AI与计算