M

MCP Obsidian连接器

@MarkusPfundstein/mcp-obsidian
1 Stars 460 次浏览 MarkusPfundstein 更新于 2026-08-23

MCP服务器通过Local REST API社区插件与Obsidian进行交互。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "mcp-obsidian": {
      "args": [
        "--directory",
        "\u003cdir_to\u003e/mcp-obsidian",
        "run",
        "mcp-obsidian"
      ],
      "command": "uv"
    }
  }
}

该服务需要配置环境变量:OBSIDIAN_API_KEY

可用工具 (8 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

obsidian_list_files_in_dir 1 个参数 需填 1 项

Lists all files and directories that exist in a specific Obsidian directory.

必填参数:dirpath

obsidian_list_files_in_vault

Lists all files and directories in the root directory of your Obsidian vault.

该工具无需必填参数,直接调用即可

obsidian_get_file_contents 1 个参数 需填 1 项

Return the content of a single file in your vault.

必填参数:filepath

obsidian_simple_search 2 个参数 需填 1 项

Simple search for documents matching a specified text query across all files in the vault. Use this tool when you want to do a simple text search

必填参数:query

obsidian_patch_content 5 个参数 需填 5 项

Insert content into an existing note relative to a heading, block reference, or frontmatter field.

必填参数:filepath、operation、target_type、target、content

obsidian_append_content 2 个参数 需填 2 项

Append content to a new or existing file in the vault.

必填参数:filepath、content

obsidian_complex_search 1 个参数 需填 1 项

Complex search for documents using a JsonLogic query. Supports standard JsonLogic operators plus 'glob' and 'regexp' for pattern matching. Results must be non-falsy. Use this tool when you want to do a complex search, e.g. for all documents with certain tags etc.

必填参数:query

obsidian_batch_get_file_contents 1 个参数 需填 1 项

Return the contents of multiple files in your vault, concatenated with headers.

必填参数:filepaths

服务介绍

MCP 服务器用于 Obsidian

通过 Local REST API 社区插件与 Obsidian 交互的 MCP 服务器。

组件

工具

该服务器实现了多个工具以与 Obsidian 交互:

  • list_files_in_vault: 列出您的 Obsidian 保险库根目录中的所有文件和目录
  • list_files_in_dir: 列出特定 Obsidian 目录中的所有文件和目录
  • get_file_contents: 返回保险库中单个文件的内容。
  • search: 在保险库的所有文件中搜索与指定文本查询匹配的文档
  • patch_content: 在现有笔记中相对于标题、块引用或 frontmatter 字段插入内容。
  • append_content: 将内容追加到保险库中的新文件或现有文件。

示例提示

首先指示 Claude 使用 Obsidian 是个好主意。然后它将始终调用这个工具。

使用如下提示:

  • 获取最后一次架构通话记录的内容并进行总结
  • 搜索提到 Azure CosmosDb 的所有文件,并快速向我解释其被提及的上下文
  • 总结上次会议记录并将它们放入新的笔记 'summary meeting.md' 中。添加一个介绍,以便我可以将其通过电子邮件发送出去。

配置

Obsidian REST API 密钥

有两种方法可以使用 Obsidian REST API 密钥配置环境。

  1. 添加到服务器配置(推荐)
{
  "mcp-obsidian": {
    "command": "uvx",
    "args": [
      "mcp-obsidian"
    ],
    "env": {
      "OBSIDIAN_API_KEY":"<your_api_key_here>"
    }
  }
  1. 在工作目录中创建一个 .env 文件,包含以下必需变量:
OBSIDIAN_API_KEY=your_api_key_here

注意:您可以在 Obsidian 插件配置中找到密钥。

快速入门

安装

Obsidian REST API

您需要运行 Obsidian REST API 社区插件:https://github.com/coddingtonbear/obsidian-local-rest-api

在设置中安装并启用它,并复制 API 密钥。

Claude Desktop

在 MacOS 上: ~/Library/Application\ Support/Claude/claude_desktop_config.json

在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uv",
      "args": [
        "--directory",
        "<dir_to>/mcp-obsidian",
        "run",
        "mcp-obsidian"
      ]
    }
  }
}
{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY" : "<YOUR_OBSIDIAN_API_KEY>"
      }
    }
  }
}

开发

构建

为分发准备包:

  1. 同步依赖项并更新锁定文件:
uv sync

调试

由于 MCP 服务器通过 stdio 运行,调试可能会很困难。为了获得最佳调试体验,我们强烈建议使用 MCP Inspector

您可以使用此命令通过 npm 启动 MCP Inspector:

npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-obsidian run mcp-obsidian

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

您还可以使用此命令查看服务器日志:

tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-obsidian.log

相关 MCP 服务