Obsidian MCP 服务器
专为 LLM 与 Obsidian Vault 交互而设计的模型上下文协议服务器。它基于 TypeScript 构建,具有安全的 API 通信、高效的文件操作和全面的搜索功能,使 AI 助手能够通过简洁灵活的工具界面无缝管理知识库。
模型上下文协议(MCP)使AI模型能够通过标准化接口与外部工具和资源进行交互。
需要 Obsidian 中的本地 REST API 插件。
📋 目录
✨ 特点
文件操作:具有验证、资源监控和错误处理的原子文件/目录操作。
搜索系统:具有可配置上下文、高级 JsonLogic 查询、全局模式和前置字段支持的全文搜索。
属性管理:YAML 前端解析、智能合并、自动时间戳和自定义字段支持。
安全性和性能:API 密钥认证、速率限制、SSL 选项、资源监控和正常关机。
🚀 安装
注意:需要在 Obsidian 中启用 Node.js 和本地 REST API 插件。
选项 1:克隆和构建(用于开发或直接使用)
在 Obsidian 中启用本地 REST API 插件。
克隆存储库、安装依赖项并构建项目:
git clone git@github.com:cyanheads/obsidian-mcp-server.git cd obsidian-mcp-server npm install npm run build使用环境变量配置服务器(请参阅下面的配置部分)。
配置您的 MCP 客户端设置(例如
claude_desktop_config.json或cline_mcp_settings.json)以包含服务器。有关详细信息,请参阅配置部分。
选项 2:通过 npm 安装(作为依赖项或全局安装)
在 Obsidian 中启用本地 REST API 插件。
使用 npm 安装包:
# Install locally (e.g., within another project) npm install obsidian-mcp-server # Or install globally npm install -g obsidian-mcp-server配置您的 MCP 客户端设置(例如
claude_desktop_config.json或cline_mcp_settings.json)以包含服务器。有关详细信息,请参阅配置部分。
⚙️ 配置
添加到您的 MCP 客户端设置(例如, claude_desktop_config.json或cline_mcp_settings.json ):
环境变量:
OBSIDIAN_API_KEY(必需):来自 Obsidian 的本地 REST API 插件设置中的 API 密钥。VERIFY_SSL(默认值:false):启用 SSL 验证。对于自签名证书或本地使用,请设置为false。OBSIDIAN_PROTOCOL(默认值:"https"):协议(http或https)。OBSIDIAN_HOST(默认值:"127.0.0.1"):主机地址。OBSIDIAN_PORT(默认值:27124):端口号。REQUEST_TIMEOUT(默认值:5000):请求超时(毫秒)。MAX_CONTENT_LENGTH(默认值:52428800[50MB]):最大响应内容长度(字节)。MAX_BODY_LENGTH(默认值:52428800[50MB]):最大请求正文长度(字节)。RATE_LIMIT_WINDOW_MS(默认值:900000[15 分钟]):速率限制窗口(毫秒)。RATE_LIMIT_MAX_REQUESTS(默认值:200):每个窗口的最大请求数。TOOL_TIMEOUT_MS(默认值:60000[1 分钟]):工具执行超时(毫秒)。
🛠️ 工具
工具 | 描述 | 参数 |
obsidian_list_files_in_vault | 列出 Obsidian Vault 根目录下的所有文件和目录。返回一个包含文件、文件夹及其类型的详细层次结构。 | 没有任何 |
obsidian_list_files_in_dir | 列出 Obsidian Vault 中特定文件夹中的文件和目录。返回层级结构。注意:结果中可能不包含空目录。有助于探索 Vault 的组织结构。 |
:列出文件的路径(相对于文件库根目录)。请注意,不会返回空目录。 |
obsidian_get_file_contents | 检索 Obsidian 保险库中指定文件的完整内容。支持多种可读文件格式。 |
:相关文件的路径(相对于您的保管库根目录)。 |
obsidian_append_content | 将提供的内容附加到 Vault 中指定文件的末尾。如果该文件不存在,则会创建该文件。 |
:文件路径(相对于保管库根目录)
:要附加到文件的内容 |
obsidian_update_content | 使用提供的内容覆盖 Vault 中指定文件的全部内容。如果文件不存在,则会创建该文件。 |
:文件路径(相对于保管库根目录)
:文件的新的完整内容(覆盖现有内容)。 |
obsidian_find_in_file | 对 Obsidian Vault 中的所有文件进行全文搜索。返回匹配的文件及其上下文。如果匹配的文件超过 5 个,则仅返回文件名和匹配次数,以避免输出过多信息。非常适合查找特定文本、标签或模式。 |
:要搜索的文本模式。可以包含标签、关键词或短语。contextLength:用于提供上下文
每个匹配项周围的字符数(默认值:10)。 |
obsidian_complex_search | 使用 JsonLogic 查询根据路径模式查找文件。主要支持使用
进行模式匹配(例如 '*.md')以及使用
访问“path”变量。注意:对于基于内容的搜索(全文、内容中的标签、日期),请使用
。 |
:一个 JsonLogic 查询对象,用于定位文件路径。例如:
匹配所有 Markdown 文件。 |
obsidian_get_tags | 检索 Obsidian Vault 中 Markdown 文件的 YAML 前置内容中定义的所有标签,以及它们的使用次数和关联文件路径。您也可以选择将搜索范围限制在特定文件夹中。 |
:可选文件夹路径(相对于保管库根目录)以限制标签搜索。 |
obsidian_get_properties | 从指定 Obsidian 笔记的 YAML 前置内容中检索属性(例如标题、标签、状态)。返回所有已定义的属性,包括任何自定义字段。 |
:注释文件的路径(相对于保险库根目录) |
obsidian_update_properties | 更新指定 Obsidian 笔记的 YAML 前置内容中的属性。默认情况下,数组属性(例如标签、类型、状态)会被合并;请使用“replace”选项覆盖它们。系统会自动处理自定义字段并管理时间戳。请参阅 schema 了解支持的标准字段(例如标题、作者、标签、状态等)。 |
:笔记文件的路径(相对于库根目录)
:要更新的属性
:如果为 true,数组属性(例如标签、状态)将完全替换为指定值,而不是与现有值合并。默认为 false(合并)。 |
🔗 资源
资源 | 描述 | 返回 |
黑曜石://标签 | Obsidian 保险库中使用的所有标签及其使用次数的列表 | 应用程序/json |
📁 项目结构
该项目采用模块化架构,关注点明确分离:
👥 贡献
分叉存储库
创建功能分支
提交拉取请求
对于错误和功能,请在https://github.com/cyanheads/obsidian-mcp-server/issues上创建问题。
📄 许可证
Apache 许可证 2.0
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
通过模型上下文协议实现 LLM 和 Obsidian 保险库之间的交互,支持安全文件操作、内容管理和高级搜索功能。
Related Resources
Related MCP Servers
- -securityAlicense-qualityA comprehensive toolkit that enhances LLM capabilities through the Model Context Protocol, allowing LLMs to interact with external services including command-line operations, file management, Figma integration, and audio processing.Last updated -26Apache 2.0
- AsecurityAlicenseAqualityConnects Obsidian vaults stored in iCloud Drive to AI models via the Model Context Protocol, allowing AI assistants to access and interact with your Obsidian notes.Last updated -122282MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants like Claude to interact with your Obsidian vault through the Local REST API plugin, allowing reading, creating, searching, and managing notes.
- -securityAlicense-qualityA Model Context Protocol server that provides comprehensive access to Obsidian vaults with Claude.ai remote integration, Tailscale support, and advanced query capabilities.Last updated -3387Apache 2.0