使用说明
项目简介
Obsidian Index MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在桥接大型语言模型 (LLM) 与本地 Obsidian 知识库。它允许 LLM 客户端通过标准化的 MCP 协议访问和利用 Obsidian Vault 中的信息。该服务器主要提供两个核心功能:将 Obsidian Vault 中最近修改的笔记作为资源暴露给 LLM,并提供一个工具用于在 Vault 中进行语义搜索。
主要功能点
- 资源 (Resources):
- 将 Obsidian Vault 中最近修改的笔记以资源的形式提供给 LLM 客户端。
- 资源通过 'obsidian://<VAULT_NAME>/<NOTE_PATH>' 格式的 URI 进行寻址。
- 资源以 'text/markdown' 媒体类型提供,内容为 Markdown 文本。
- 工具 (Tools):
- 实现 'search-notes' 工具,允许 LLM 客户端对 Obsidian Vault 中的笔记进行语义搜索。
- 'search-notes' 工具接受文本查询作为输入,并返回与查询相关的笔记资源。
安装步骤
本仓库为 MCP 服务器的实现代码,通常无需显式安装步骤。您需要确保已安装 Python 环境,并按照仓库 'README.md' 文件的 "Development" -> "Building and Publishing" 部分的指引,使用 'uv sync' 命令安装项目依赖。
服务器配置
为了让 MCP 客户端(如 Claude Desktop)连接到 Obsidian Index MCP 服务器,您需要配置客户端的 MCP 服务器设置。以下是针对开发/未发布服务器的配置信息,您需要根据您的实际项目路径和数据库路径进行调整。
JSON 配置信息:
{ "mcpServers": { "obsidian-index": { "command": "uv", "args": [ "--directory", "<PATH_TO_PROJECT>", // [必填] 请替换为您的 obsidian-index 项目的本地路径 "run", "obsidian-index", "--database", "<PATH_TO_DATABASE>", // [必填] 请替换为您希望存放数据库文件的路径,例如 "text_index.db" "--vault", "<PATH_TO_VAULT>", // [必填] 请替换为您的 Obsidian Vault 的路径 "--reindex", // [可选] 添加此参数将在服务器启动时重新索引所有笔记 "--watch" // [可选] 添加此参数将启用文件系统监控,自动索引 Vault 中的更改 ] } } }
配置参数说明:
- 'server name': 'obsidian-index' - 服务器名称,客户端用此名称来识别和调用。
- 'command': 'uv' - 启动服务器的命令,这里使用 'uv' 包管理器来运行 Python 脚本。如果您将服务器发布为独立的包,可能需要使用 'uvx'。
- 'args': 启动命令的参数列表,包括:
- '--directory': 指向 Obsidian Index 项目根目录的路径。请务必替换 '<PATH_TO_PROJECT>' 为您的实际项目路径。
- 'run': 'uv' 命令的子命令,用于运行指定的 Python 脚本。
- 'obsidian-index': 要运行的 Python 入口点,对应 'src/obsidian_index/main.py' 中定义的 'obsidian-index' 命令组。
- '--database': 指定数据库文件路径。请务必替换 '<PATH_TO_DATABASE>' 为您希望存放数据库文件的路径,例如 "text_index.db"。 数据库文件用于存储笔记的索引信息。
- '--vault': 指定 Obsidian Vault 的路径。请务必替换 '<PATH_TO_VAULT>' 为您的 Obsidian Vault 的实际路径。 可以多次指定 '--vault' 参数来索引多个 Vault。
- '--reindex' (可选): 如果添加此参数,服务器在启动时会强制重新索引所有 Vault 中的笔记。首次运行时建议添加,后续可以根据需要选择是否添加。
- '--watch' (可选): 如果添加此参数,服务器会监控 Vault 目录的文件变化。当 Vault 中的笔记被创建、修改或删除时,服务器会自动更新索引。
配置方法:
- 找到您的 MCP 客户端(例如 Claude Desktop)的配置文件。根据 'README.md' 的指引,Claude Desktop 的配置文件路径为:
- MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
- 打开配置文件,找到 '"mcpServers"' 部分。如果不存在,请手动创建。
- 将上述 JSON 配置信息添加到 '"mcpServers"' 中。
- 务必根据您的实际情况修改 '<PATH_TO_PROJECT>'、'<PATH_TO_DATABASE>' 和 '<PATH_TO_VAULT>' 为正确的路径。
基本使用方法
- 配置并启动 Obsidian Index MCP 服务器后,您的 MCP 客户端应该能够检测到该服务器。
- 在 LLM 客户端中,您应该可以:
- 访问最近修改的笔记资源: 客户端可能会自动展示或允许您浏览最近修改的笔记列表。
- 调用 'search-notes' 工具: 在需要搜索 Obsidian Vault 内容时,您可以指示 LLM 客户端调用 'search-notes' 工具,并提供搜索关键词。服务器将返回相关的笔记资源,供 LLM 使用。
注意: 具体的使用方式会依赖于您的 MCP 客户端的功能和界面。请参考您使用的 MCP 客户端的文档,了解如何利用 MCP 服务器提供的资源和工具。
信息
分类
生产力应用