关于 MCP Server Obsidian Omnisearch
MCP Server Obsidian Omnisearch 是一个 MCP 服务,通过 Obsidian 的 Omnisearch 插件 API 搜索 Obsidian 库中的笔记。它返回匹配笔记的绝对路径,便于其他工具集成。
主要功能
- 01基于 FastMCP 构建
- 02调用 Omnisearch 插件 API 进行搜索
- 03返回匹配笔记的绝对路径
- 04提供 obsidian_notes_search 工具
适用场景
- 01让 AI 助手检索 Obsidian 库中的笔记
- 02在 MCP 客户端中按关键词查找笔记路径
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 obsidian_notes_search 工具,入参为查询字符串,返回笔记的绝对路径列表。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Server Obsidian Omnisearch
一个基于 FastMCP 的服务,通过 REST API 接口提供 Obsidian 知识库搜索功能。
概述
本项目实现了一项搜索服务,可让你以编程方式搜索 Obsidian 知识库中的笔记。它使用 FastMCP 将搜索功能公开为工具,以便与其他服务集成。
功能
- 搜索 Obsidian 知识库中的笔记
- REST API 集成
- 返回匹配笔记的绝对路径
- 轻松集成 FastMCP 工具
前提条件
- Python 3.x
- 已安装并运行 Omnisearch 插件的 Obsidian
- FastMCP 库
- 已启用的 Obsidian 知识库
安装
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 MCP Server Obsidian Omnisearch:
npx -y @smithery/cli install @anpigon/mcp-server-obsidian-omnisearch --client claude
手动安装
- 克隆仓库:
git clone https://github.com/anpigon/mcp-server-obsidian-omnisearch.git
cd mcp-server-obsidian-omnisearch
- 安装依赖项:
uv install
配置
现在,运行服务时通过命令行参数提供 Obsidian 知识库路径:
python server.py /path/to/your/obsidian/vault
用法
Obsidian Omnisearch API
你需要运行 Obsidian Omnisearch 社区插件:https://publish.obsidian.md/omnisearch/Inject+Omnisearch+results+into+your+search+engine
Claude Desktop
在 MacOS 上:~/Library/Application\ Support/Claude/claude_desktop_config.json
在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json
开发版/未发布服务配置
{
"mcpServers": {
"obsidian-omnisearch": {
"command": "uv",
"args": [
"--directory",
"<dir_to>/mcp-server-obsidian-omnisearch",
"run",
"mcp-server-obsidian-omnisearch",
"/path/to/your/obsidian/vault"
]
}
}
}
已发布服务配置
{
"mcpServers": {
"obsidian-omnisearch": {
"command": "uvx",
"args": [
"mcp-server-obsidian-omnisearch",
"/path/to/your/obsidian/vault"
]
}
}
}
API 参考
搜索笔记
- 函数:
obsidian_notes_search(query: str) - 描述:搜索 Obsidian 笔记,并返回匹配笔记的绝对路径
- 参数:
query:搜索查询字符串
- 返回:匹配笔记的绝对路径列表
开发
构建和发布
准备分发软件包:
- 同步依赖项并更新锁文件:
uv sync
- 构建软件包分发文件:
uv build
这将在 dist/ 目录中创建源代码分发包和 wheel 分发包。
- 发布到 PyPI:
uv publish
注意:你需要通过环境变量或命令标志设置 PyPI 凭据:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于 MCP 服务通过 stdio 运行,调试可能颇具挑战。为了获得最佳调试体验,我们强烈建议使用 MCP Inspector。
你可以通过 npm 使用以下命令启动 MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-server-obsidian-omnisearch run mcp-server-obsidian-omnisearch
启动后,Inspector 会显示一个 URL,你可以在浏览器中访问该 URL 开始调试。
你也可以使用以下命令查看服务日志:
tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-server-obsidian-omnisearch.log
依赖项
- FastMCP
- requests
- urllib
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
贡献
欢迎贡献!请随时提交 Pull Request。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。