Obsidian Index MCP Server 使用说明
项目简介
Obsidian Index MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它允许LLM客户端访问和搜索你的 Obsidian 笔记库。它将 Obsidian vault 中的笔记作为资源暴露,并提供语义搜索工具,使LLM能够理解和利用你的笔记内容。
主要功能点
- 资源 (Resources): 将 Obsidian 笔记库中最近修改的笔记作为资源提供给LLM客户端。客户端可以通过 'obsidian://' 协议和 vault 名称、笔记路径访问指定的 Markdown 笔记。
- 工具 (Tools): 提供 'search-notes' 工具,允许LLM客户端对笔记进行语义搜索。客户端可以输入查询语句,服务器将返回与查询相关的笔记资源。
- 本地知识库: 为LLM提供访问本地 Obsidian 知识库的能力,增强LLM的上下文理解和信息检索能力。
安装步骤
- 环境准备: 确保你已安装 Python 和 'uv' 包管理器 (根据 README.md,推荐使用 'uv')。
- 克隆仓库: 克隆此 GitHub 仓库到本地:
git clone https://github.com/tcsavage/mcp-obsidian-index.git cd mcp-obsidian-index - 同步依赖: 使用 'uv sync' 命令同步依赖并更新 lockfile:
uv sync - 构建: 使用 'uv build' 命令构建 package distributions:
uv build
服务器配置
为了让 MCP 客户端(例如 Claude)连接到 Obsidian Index MCP 服务器,你需要在客户端的配置文件中添加服务器配置信息。以下是配置示例 (Development/Unpublished Servers Configuration):
{ "mcpServers": { "obsidian-index": { "command": "uv", "args": [ "--directory", "<PATH_TO_PROJECT>", "run", "obsidian-index", "--database", "<PATH_TO_DATABASE>", // 数据库文件路径,例如 text_index.db "--vault", "<PATH_TO_VAULT>", // Obsidian vault 路径,可以指定多个 vault "--reindex", // 首次运行或需要重建索引时添加此参数 "--watch" // 启用文件系统监控,自动更新索引 ] } } }
参数说明:
- '"server name": "obsidian-index"': 服务器名称,客户端用此名称识别和连接服务器。
- '"command": "uv"': 启动服务器的命令,这里使用 'uv' 包管理器。
- '"args"': 启动命令的参数列表,包括:
- '"--directory", "<PATH_TO_PROJECT>"': '<PATH_TO_PROJECT>' 替换为本地仓库的路径。
- '"run", "obsidian-index"': 运行 'obsidian-index' 应用。
- '"--database", "<PATH_TO_DATABASE>"': '<PATH_TO_DATABASE>' 替换为数据库文件的路径,例如 'text_index.db'。数据库文件将用于存储笔记索引。
- '"--vault", "<PATH_TO_VAULT>"': '<PATH_TO_VAULT>' 替换为你的 Obsidian vault 路径。可以指定多个 vault,重复添加 '--vault <PATH_TO_VAULT>' 参数。
- '"--reindex"': (可选)首次运行或当你需要重建所有笔记的索引时,添加此参数。服务器启动时会重新索引所有 vault 中的笔记。
- '"--watch"': (可选)启用文件系统监控。服务器将自动检测 vault 中笔记的更改(创建、修改)并更新索引。
根据你的操作系统,配置文件路径可能如下:
- MacOS (Claude Desktop): '~/Library/Application\ Support/Claude/claude_desktop_config.json'
- Windows (Claude Desktop): '%APPDATA%/Claude/claude_desktop_config.json'
基本使用方法
- 配置客户端: 根据上述 "服务器配置" 部分的说明,编辑 MCP 客户端的配置文件,添加 'obsidian-index' 服务器配置,并正确填写 '<PATH_TO_PROJECT>'、'<PATH_TO_DATABASE>' 和 '<PATH_TO_VAULT>' 参数。
- 启动服务器: 在本地仓库目录下,使用以下命令启动 Obsidian Index MCP 服务器:
同样需要将 '<PATH_TO_DATABASE>' 和 '<PATH_TO_VAULT>' 替换为实际路径。 首次运行建议添加 '--reindex' 参数。uv run obsidian-index mcp --database <PATH_TO_DATABASE> --vault <PATH_TO_VAULT> --reindex --watch - 在 MCP 客户端中使用:
- 访问资源: 在支持资源访问的 MCP 客户端中,可以使用 'obsidian://<VAULT_NAME>/<NOTE_PATH>' 格式的 URI 访问最近修改的笔记资源。例如 'obsidian://MyVault/MyNote.md'。
- 调用工具: 在支持工具调用的 MCP 客户端中,可以调用 'search-notes' 工具进行语义搜索。工具需要 'query' 参数,例如 '{"query": "你的搜索关键词"}'。服务器将返回搜索结果,客户端可以根据结果访问相关笔记资源。
调试: 如果遇到问题,可以使用 MCP Inspector 进行调试,具体方法参考 README.md 的 "Debugging" 部分。
信息
分类
生产力应用