mcpField
M
MCP Server Obsidian Omnisearch

MCP Server Obsidian Omnisearch

本地服务
github.com/anpigon记忆与知识3082 周前更新

关于 MCP Server Obsidian Omnisearch

MCP Server Obsidian Omnisearch 是一个 MCP 服务,通过 Obsidian 的 Omnisearch 插件 API 搜索 Obsidian 库中的笔记。它返回匹配笔记的绝对路径,便于其他工具集成。

主要功能

  1. 01基于 FastMCP 构建
  2. 02调用 Omnisearch 插件 API 进行搜索
  3. 03返回匹配笔记的绝对路径
  4. 04提供 obsidian_notes_search 工具

适用场景

  1. 01让 AI 助手检索 Obsidian 库中的笔记
  2. 02在 MCP 客户端中按关键词查找笔记路径

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 obsidian_notes_search 工具,入参为查询字符串,返回笔记的绝对路径列表。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"obsidian-omnisearch": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Server Obsidian Omnisearch

smithery badge 一个基于 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
手动安装
  1. 克隆仓库:
git clone https://github.com/anpigon/mcp-server-obsidian-omnisearch.git
cd mcp-server-obsidian-omnisearch
  1. 安装依赖项:
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:搜索查询字符串
  • 返回:匹配笔记的绝对路径列表

开发

构建和发布

准备分发软件包:

  1. 同步依赖项并更新锁文件:
uv sync
  1. 构建软件包分发文件:
uv build

这将在 dist/ 目录中创建源代码分发包和 wheel 分发包。

  1. 发布到 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。