使用说明
项目简介
本项目是一个基于FastMCP框架构建的MCP服务器,它将Obsidian笔记库的Omnisearch搜索功能以及读取笔记内容的功能通过MCP协议暴露给LLM客户端。这意味着,你可以通过支持MCP协议的LLM应用(如Claude)来搜索和访问你的Obsidian笔记,从而扩展LLM的知识来源和应用场景。
主要功能点
- Obsidian笔记搜索: 允许LLM客户端通过关键词搜索Obsidian笔记库,并返回匹配笔记的文件路径、标题、摘要和评分。
- 读取笔记内容: 允许LLM客户端根据文件路径读取Obsidian笔记的完整内容。
- FastMCP框架: 基于成熟的FastMCP框架开发,保证了服务器的稳定性和可扩展性。
- REST API集成: 底层通过与Obsidian Omnisearch插件的REST API交互实现搜索功能。
安装步骤
- 克隆仓库:
git clone https://github.com/MCP-Mirror/anpigon_mcp-server-obsidian-omnisearch.git cd anpigon_mcp-server-obsidian-omnisearch - 安装依赖:
确保你已安装 'uv' 包管理器。如果未安装,请先安装 'pip install uv'。uv install
服务器配置
为了让MCP客户端(例如Claude)连接到此服务器,你需要配置客户端的MCP服务器设置。以下是配置信息,你需要根据你的实际情况进行调整。
开发/未发布服务器配置 (Development/Unpublished Servers Configuration)
{ "mcpServers": { "obsidian-omnisearch": { "command": "uv", "args": [ "--directory", "<你的项目目录>/mcp-server-obsidian-omnisearch", // 替换为你的项目目录的绝对路径 "run", "mcp-server-obsidian-omnisearch", "/path/to/your/obsidian/vault" // 替换为你的Obsidian库的绝对路径 ] } } }
发布服务器配置 (Published Servers Configuration)
{ "mcpServers": { "obsidian-omnisearch": { "command": "uvx", "args": [ "mcp-server-obsidian-omnisearch", "/path/to/your/obsidian/vault" // 替换为你的Obsidian库的绝对路径 ] } } }
配置说明:
- '"mcpServers"': MCP服务器配置的根节点。
- '"obsidian-omnisearch"': 服务器名称,可以自定义,用于在MCP客户端中标识该服务器。
- '"command"': 启动服务器的命令。 'uv' 用于开发环境,'uvx' 用于发布环境,表示使用 'uv' 运行或执行打包后的可执行文件。
- '"args"': 启动命令的参数列表。
- 对于开发环境 ('uv'):
- '"--directory"': 指定项目目录,指向 'mcp-server-obsidian-omnisearch' 仓库的根目录。
- '"run"': 'uv run' 命令用于运行 Python 包。
- '"mcp-server-obsidian-omnisearch"': 要运行的 Python 包名称。
- '"/path/to/your/obsidian/vault"': 你需要替换为你的Obsidian库的实际绝对路径。 这是服务器启动时需要传入的参数,用于指定要搜索的Obsidian库。
- 对于发布环境 ('uvx'):
- '"mcp-server-obsidian-omnisearch"': 要运行的可执行文件名称 (假设已打包为 'mcp-server-obsidian-omnisearch',打包过程参考仓库的 'Development' 部分)。
- '"/path/to/your/obsidian/vault"': 你需要替换为你的Obsidian库的实际绝对路径。
- 对于开发环境 ('uv'):
重要提示:
- Obsidian Omnisearch插件: 确保你的Obsidian中已安装并启用了 Omnisearch 社区插件,并且插件正在运行。插件的REST API服务监听在 'http://localhost:51361'。
- Obsidian库路径: 将配置中的 '"/path/to/your/obsidian/vault"' 替换为你的Obsidian库在你的电脑上的实际绝对路径。
- MCP客户端配置: 将上述 JSON 配置添加到你的MCP客户端的配置文件中。例如,对于 Claude Desktop,配置文件路径在说明文档中已给出。
基本使用方法
- 启动服务器: 根据你的配置选择开发或发布方式启动服务器。例如,在项目根目录下运行:
或者使用 Inspector 进行调试:uv run mcp-server-obsidian-omnisearch /path/to/your/obsidian/vaultnpx @modelcontextprotocol/inspector uv --directory /path/to/mcp-server-obsidian-omnisearch run mcp-server-obsidian-omnisearch /path/to/your/obsidian/vault - 配置MCP客户端: 将上述提供的 JSON 配置添加到你的MCP客户端配置文件中,并确保配置中的路径正确。
- 在LLM客户端中使用: 在支持MCP协议的LLM客户端中,你应该能够看到名为 "obsidian-omnisearch" 的服务器。你可以通过调用该服务器提供的 'obsidian_notes_search(query: str)' 工具来搜索Obsidian笔记,并使用 'read_note(filepath: str)' 工具来读取笔记内容。具体的工具调用方式取决于你的LLM客户端的界面和指令。
例如,在支持工具调用的LLM中,你可以指示LLM使用 'obsidian_notes_search' 工具来查找关于某个主题的笔记,然后指示LLM使用 'read_note' 工具读取找到的笔记内容。
信息
分类
生产力应用