返回 MCP 目录
public公开dns本地运行

mcp-obsidian-index

一个为Obsidian知识库提供语义搜索和资源访问的MCP服务器

article

README

🚀 Obsidian索引MCP服务器

这是一个具备语义搜索功能的MCP服务器,它依托Obsidian保险库,能将近期的笔记资源对外公开,为用户提供便捷的笔记搜索与访问服务。

✨ 主要特性

资源提供

服务器会把保险库中最近修改的笔记当作资源提供给MCP客户端。这些笔记具有以下特点:

  • 通过obsidian://<VAULT_NAME>/<NOTE_PATH>自定义URL方案进行唯一标识。
  • 笔记的媒体类型为text/markdown

实用工具

服务器实现了一个实用工具:

  • search-notes:可在已索引的笔记上执行语义搜索。

📦 安装指南

运行服务器

使用以下命令来运行服务器:

uv run obsidian-index mcp --vault <VAULT_PATH> --database <DATABASE_PATH> --reindex --watch

参数说明:

  • --vault:保险库路径(可多次指定)。
  • --database:本地数据库文件路径(若不存在则会自动创建)。
  • --reindex:对所有保险库中的笔记重新进行索引(目前可能每次运行此命令时都需使用)。
  • --watch:监视保险库中的更改,并相应地更新索引。

Claude Desktop配置

  • MacOS:配置文件路径为~/Library/Application\ Support/Claude/claude_desktop_config.json
  • Windows:配置文件路径为%APPDATA%/Claude/claude_desktop_config.json%
开发/未发布的服务器配置 ``` "mcpServers": { "obsidian-index": { "command": "uv", "args": [ "--directory", "", "run", "obsidian-index", "--database", "", "--vault", "", "--reindex", "--watch" ] } } ```
已发布的服务器配置 ``` "mcpServers": { "obsidian-index": { "command": "uvx", "args": [ "obsidian-index", "--database", "", "--vault", "", "--reindex", "--watch" ] } } ```

💻 使用示例

基础用法

运行服务器的基础命令如下:

uv run obsidian-index mcp --vault <VAULT_PATH> --database <DATABASE_PATH> --reindex --watch

📚 详细文档

构建和发布

若要准备分发包,可按以下步骤操作:

  1. 同步依赖并更新锁定文件:
uv sync
  1. 构建发行版:
uv build

此操作会在dist/目录下创建源代码和wheel发行版。 3. 发布到PyPI:

uv publish

注意:您需要通过环境变量或命令行参数设置PyPI凭证:

  • 令牌:--tokenUV_PUBLISH_TOKEN
  • 或者用户名/密码:--username/UV_PUBLISH_USERNAME--password/UV_PUBLISH_PASSWORD

调试

由于MCP服务器通过标准输入输出运行,调试可能存在一定挑战。为获得最佳调试体验,强烈推荐使用MCP Inspector

您可以使用以下命令启动MCP Inspector:

npx @modelcontextprotocol/inspector uv --directory <PATH_TO_PROJECT> run obsidian-index

启动后,Inspector会显示一个URL,您可在浏览器中访问该URL以开始调试。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端