Skip to main content
Glama

Obsidian MCP Server

Obsidian MCP 服务器

专为 LLM 与 Obsidian Vault 交互而设计的模型上下文协议服务器。它基于 TypeScript 构建,具有安全的 API 通信、高效的文件操作和全面的搜索功能,使 AI 助手能够通过简洁灵活的工具界面无缝管理知识库。

模型上下文协议(MCP)使AI模型能够通过标准化接口与外部工具和资源进行交互。

需要 Obsidian 中的本地 REST API 插件

📋 目录

功能|安装|配置|工具|资源|项目结构|贡献|发布|许可证

✨ 特点

  • 文件操作:具有验证、资源监控和错误处理的原子文件/目录操作。
  • 搜索系统:具有可配置上下文、高级 JsonLogic 查询、全局模式和前置字段支持的全文搜索。
  • 属性管理:YAML 前端解析、智能合并、自动时间戳和自定义字段支持。
  • 安全性和性能:API 密钥认证、速率限制、SSL 选项、资源监控和正常关机。

🚀 安装

注意:需要在 Obsidian 中启用 Node.js 和本地 REST API 插件

选项 1:克隆和构建(用于开发或直接使用)

  1. 在 Obsidian 中启用本地 REST API 插件。
  2. 克隆存储库、安装依赖项并构建项目:
    git clone git@github.com:cyanheads/obsidian-mcp-server.git cd obsidian-mcp-server npm install npm run build
  3. 使用环境变量配置服务器(请参阅下面的配置部分)。
  4. 配置您的 MCP 客户端设置(例如claude_desktop_config.jsoncline_mcp_settings.json )以包含服务器。有关详细信息,请参阅配置部分。

选项 2:通过 npm 安装(作为依赖项或全局安装)

  1. 在 Obsidian 中启用本地 REST API 插件。
  2. 使用 npm 安装包:
    # Install locally (e.g., within another project) npm install obsidian-mcp-server # Or install globally npm install -g obsidian-mcp-server
  3. 配置您的 MCP 客户端设置(例如claude_desktop_config.jsoncline_mcp_settings.json )以包含服务器。有关详细信息,请参阅配置部分。

⚙️ 配置

添加到您的 MCP 客户端设置(例如, claude_desktop_config.jsoncline_mcp_settings.json ):

{ "mcpServers": { "obsidian-mcp-server": { "command": "node", "args": ["/path/to/obsidian-mcp-server/dist/index.js"], "env": { "OBSIDIAN_API_KEY": "your_api_key_here", "VERIFY_SSL": "false", "OBSIDIAN_PROTOCOL": "https", "OBSIDIAN_HOST": "127.0.0.1", "OBSIDIAN_PORT": "27124", "REQUEST_TIMEOUT": "5000", "MAX_CONTENT_LENGTH": "52428800", "MAX_BODY_LENGTH": "52428800", "RATE_LIMIT_WINDOW_MS": "900000", "RATE_LIMIT_MAX_REQUESTS": "200", "TOOL_TIMEOUT_MS": "60000" } } } }

环境变量:

  • OBSIDIAN_API_KEY (必需):来自 Obsidian 的本地 REST API 插件设置中的 API 密钥。
  • VERIFY_SSL (默认值: false ):启用 SSL 验证。对于自签名证书或本地使用,请设置为false
  • OBSIDIAN_PROTOCOL (默认值: "https" ):协议( httphttps )。
  • 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 的组织结构。dirpath* :列出文件的路径(相对于文件库根目录)。请注意,不会返回空目录。
obsidian_get_file_contents检索 Obsidian 保险库中指定文件的完整内容。支持多种可读文件格式。filepath* :相关文件的路径(相对于您的保管库根目录)。
obsidian_append_content将提供的内容附加到 Vault 中指定文件的末尾。如果该文件不存在,则会创建该文件。filepath* :文件路径(相对于保管库根目录) content* :要附加到文件的内容
obsidian_update_content使用提供的内容覆盖 Vault 中指定文件的全部内容。如果文件不存在,则会创建该文件。filepath* :文件路径(相对于保管库根目录) content* :文件的新的完整内容(覆盖现有内容)。
obsidian_find_in_file对 Obsidian Vault 中的所有文件进行全文搜索。返回匹配的文件及其上下文。如果匹配的文件超过 5 个,则仅返回文件名和匹配次数,以避免输出过多信息。非常适合查找特定文本、标签或模式。query* :要搜索的文本模式。可以包含标签、关键词或短语。contextLength:用于提供上下文contextLength每个匹配项周围的字符数(默认值:10)。
obsidian_complex_search使用 JsonLogic 查询根据路径模式查找文件。主要支持使用glob进行模式匹配(例如 '*.md')以及使用var访问“path”变量。注意:对于基于内容的搜索(全文、内容中的标签、日期),请使用obsidian_find_in_filequery* :一个 JsonLogic 查询对象,用于定位文件路径。例如: {"glob": ["*.md", {"var": "path"}]}匹配所有 Markdown 文件。
obsidian_get_tags检索 Obsidian Vault 中 Markdown 文件的 YAML 前置内容中定义的所有标签,以及它们的使用次数和关联文件路径。您也可以选择将搜索范围限制在特定文件夹中。path :可选文件夹路径(相对于保管库根目录)以限制标签搜索。
obsidian_get_properties从指定 Obsidian 笔记的 YAML 前置内容中检索属性(例如标题、标签、状态)。返回所有已定义的属性,包括任何自定义字段。filepath* :注释文件的路径(相对于保险库根目录)
obsidian_update_properties更新指定 Obsidian 笔记的 YAML 前置内容中的属性。默认情况下,数组属性(例如标签、类型、状态)会被合并;请使用“replace”选项覆盖它们。系统会自动处理自定义字段并管理时间戳。请参阅 schema 了解支持的标准字段(例如标题、作者、标签、状态等)。filepath* :笔记文件的路径(相对于库根目录) properties* :要更新的属性replace :如果为 true,数组属性(例如标签、状态)将完全替换为指定值,而不是与现有值合并。默认为 false(合并)。

🔗 资源

资源描述返回
黑曜石://标签Obsidian 保险库中使用的所有标签及其使用次数的列表应用程序/json

📁 项目结构

该项目采用模块化架构,关注点明确分离:

src/ ├── index.ts # Main entry point ├── mcp/ # MCP server implementation ├── obsidian/ # Obsidian API client and types ├── resources/ # MCP resource implementations ├── tools/ # MCP tool implementations │ ├── files/ # File operations tools │ ├── search/ # Search tools │ └── properties/ # Property management tools └── utils/ # Shared utilities

👥 贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 提交拉取请求

对于错误和功能,请在https://github.com/cyanheads/obsidian-mcp-server/issues上创建问题。

📄 许可证

Apache 许可证 2.0


-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

通过模型上下文协议实现 LLM 和 Obsidian 保险库之间的交互,支持安全文件操作、内容管理和高级搜索功能。

  1. 📋 目录
    1. ✨ 特点
      1. 🚀 安装
        1. 选项 1:克隆和构建(用于开发或直接使用)
        2. 选项 2:通过 npm 安装(作为依赖项或全局安装)
      2. ⚙️ 配置
        1. 🛠️ 工具
          1. 🔗 资源
            1. 📁 项目结构
              1. 👥 贡献
                1. 📄 许可证

                  Related MCP Servers

                  • A
                    security
                    A
                    license
                    A
                    quality
                    A Model Context Protocol server that enables LLMs to interact with Salesforce data through SOQL queries, SOSL searches, and various API operations including record management.
                    Last updated -
                    10
                    77
                    Python
                    MIT License
                  • A
                    security
                    A
                    license
                    A
                    quality
                    Adds powerful Hacker News integration to LLM clients, allowing users to access stories, comments, user profiles, and search functionality through the Model Context Protocol.
                    Last updated -
                    9
                    25
                    4
                    JavaScript
                    MIT License
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol server enabling LLMs to search, retrieve, and manage documents through Rememberizer's knowledge management API.
                    Last updated -
                    24
                    Python
                    Apache 2.0
                  • -
                    security
                    A
                    license
                    -
                    quality
                    FEGIS is a Model Context Protocol server that gives LLMs structured, persistent and portable memory through customizable cognitive tools defined in schema.
                    Last updated -
                    16
                    Python
                    MIT License
                    • Apple
                    • Linux

                  View all related MCP servers

                  MCP directory API

                  We provide all the information about MCP servers via our MCP API.

                  curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyanheads/obsidian-mcp-server'

                  If you have feedback or need assistance with the MCP directory API, please join our Discord server