使用说明
项目简介
Obsidian Omnisearch MCP服务器是一个基于 FastMCP 构建的应用后端,旨在将 Obsidian 笔记库的搜索功能以 MCP 工具的形式提供给 LLM 客户端。借助此服务器,LLM 可以通过调用预设的工具来搜索 Obsidian 笔记,并获取匹配笔记的文件路径和内容,从而实现与个人知识库的联动。
主要功能点
- Obsidian 笔记搜索: 允许 LLM 客户端通过关键词搜索 Obsidian 笔记库。
- 返回文件路径: 搜索结果返回匹配笔记的绝对路径,方便后续操作。
- 读取笔记内容: 提供工具读取指定路径的 Obsidian 笔记内容。
- FastMCP 集成: 基于 FastMCP 框架开发,易于扩展和集成到 MCP 生态系统中。
安装步骤
-
克隆仓库:
git clone https://github.com/anpigon/mcp-server-obsidian-omnisearch.git cd mcp-server-obsidian-omnisearch -
安装依赖:
uv install确保已安装 uv。
服务器配置
要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要提供服务器的启动命令和参数。以下是配置示例,以 JSON 格式添加到 MCP 客户端的配置文件中。
Claude Desktop 配置文件路径:
- MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
配置信息 (Development/Unpublished Servers Configuration):
{ "mcpServers": { "obsidian-omnisearch": { "command": "uv", "args": [ "--directory", "<dir_to>/mcp-server-obsidian-omnisearch", // 请替换为 mcp-server-obsidian-omnisearch 仓库的绝对路径 "run", "mcp-server-obsidian-omnisearch", "/path/to/your/obsidian/vault" // 请替换为您的 Obsidian vault 绝对路径 ] } } }
参数说明:
- '"obsidian-omnisearch"': 服务器名称,在客户端中用于标识和调用。
- '"command": "uv"': 启动服务器的命令,这里使用 'uv' 运行 Python 包。如果您已将项目发布,可以使用 '"uvx"' 运行。
- '"args"': 传递给启动命令的参数列表。
- '"--directory", "<dir_to>/mcp-server-obsidian-omnisearch"': 指定 uv 运行的目录为仓库根目录。 请务必将 '<dir_to>/mcp-server-obsidian-omnisearch' 替换为实际的仓库绝对路径。
- '"run", "mcp-server-obsidian-omnisearch"': 使用 uv 运行 'mcp-server-obsidian-omnisearch' 包。
- '"/path/to/your/obsidian/vault"': 请务必将 '"/path/to/your/obsidian/vault"' 替换为您的 Obsidian vault 的绝对路径。 这是服务器访问您的笔记库所必需的参数。
配置信息 (Published Servers Configuration):
如果您已经将此项目发布为 Python 包,可以使用以下配置:
{ "mcpServers": { "obsidian-omnisearch": { "command": "uvx", "args": [ "mcp-server-obsidian-omnisearch", "/path/to/your/obsidian/vault" // 请替换为您的 Obsidian vault 绝对路径 ] } } }
参数说明:
- '"command": "uvx"': 使用 'uvx' 直接运行已发布的 Python 包。
- '"args"':
- '"mcp-server-obsidian-omnisearch"': 指定运行的包名称。
- '"/path/to/your/obsidian/vault"': 请务必将 '"/path/to/your/obsidian/vault"' 替换为您的 Obsidian vault 的绝对路径。
重要前提:
- Obsidian Omnisearch 插件: 确保您的 Obsidian 中已安装并启用了 Omnisearch 社区插件,并且插件正在运行。Omnisearch 插件提供本地 HTTP API 供此 MCP 服务器调用。
基本使用方法
-
启动服务器: 配置完成后,MCP 客户端通常会自动启动或允许手动启动已配置的 MCP 服务器。请参考您使用的 MCP 客户端的文档来启动 'obsidian-omnisearch' 服务器。
-
在 LLM 中调用工具: 在 LLM 客户端中,您可以使用以下工具来与 Obsidian Omnisearch MCP 服务器交互:
-
'obsidian_notes_search(query: str)': 搜索 Obsidian 笔记。
- 参数 'query': 搜索关键词。
- 返回值: 包含匹配笔记信息的列表,例如文件路径、标题、摘要等。
示例 (在 LLM 中指示其使用工具搜索笔记):
请使用 'obsidian_notes_search' 工具搜索关于 "项目管理" 的笔记。 -
'read_note(filepath: str)': 读取指定路径的 Obsidian 笔记内容。
- 参数 'filepath': 要读取的笔记文件的绝对路径 (通常从 'obsidian_notes_search' 工具的返回值中获取)。
- 返回值: 笔记文件的文本内容。
示例 (在 LLM 中指示其读取特定笔记):
请读取文件路径为 "/path/to/your/obsidian/vault/Projects/Project-A.md" 的笔记内容,使用 'read_note' 工具。
-
通过组合使用这两个工具,LLM 客户端可以实现对 Obsidian 笔记库的搜索和内容访问,从而扩展 LLM 的知识来源和应用场景。
信息
分类
生产力应用