mcp-obsidian

shuawking/mcp-obsidian
0 Stars 168 次浏览 更新于 2026-08-23

该项目提供了一个通过本地 REST API 社区插件与 Obsidian 交互的 MCP 服务器。它包括列出文件、获取文件内容、搜索、修补、追加和删除 Obsidian 仓库中内容的工具。

MCP 服务配置

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

{
  "mcpServers": {
    "mcp-obsidian": {
      "args": [
        "mcp-obsidian"
      ],
      "command": "uvx",
      "env": {
        "OBSIDIAN_API_KEY": "\u003cYOUR_OBSIDIAN_API_KEY\u003e",
        "OBSIDIAN_HOST": "\u003cyour_obsidian_host\u003e",
        "OBSIDIAN_PORT": "\u003cyour_obsidian_port\u003e"
      }
    }
  }
}

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

服务介绍

MCP 服务器用于 Obsidian

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

组件

工具

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

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

示例提示

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

使用如下提示:

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

配置

Obsidian REST API 密钥

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

  1. 添加到服务器配置(推荐)

plaintext

{
  "mcp-obsidian": {
    "command": "uvx",
    "args": [
      "mcp-obsidian"
    ],
    "env": {
      "OBSIDIAN_API_KEY": "<your_api_key_here>",
      "OBSIDIAN_HOST": "<your_obsidian_host>",
      "OBSIDIAN_PORT": "<your_obsidian_port>"
    }
  }
}

有时 Claude 可能无法检测到 uv / uvx 的位置。在这种情况下,您可以使用 which uvx 找到并粘贴完整路径到上述配置中。

  1. 在工作目录中创建一个 .env 文件,并包含以下必需变量:

plaintext

OBSIDIAN_API_KEY=your_api_key_here
OBSIDIAN_HOST=your_obsidian_host
OBSIDIAN_PORT=your_obsidian_port

注意:

  • 您可以在 Obsidian 插件配置中找到 API 密钥
  • 如果未指定,默认端口为 27124
  • 如果未指定,默认主机为 127.0.0.1

快速开始

安装

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

plaintext

{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uv",
      "args": [
        "--directory",
        "<dir_to>/mcp-obsidian",
        "run",
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "<your_api_key_here>",
        "OBSIDIAN_HOST": "<your_obsidian_host>",
        "OBSIDIAN_PORT": "<your_obsidian_port>"
      }
    }
  }
}

plaintext

{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "<YOUR_OBSIDIAN_API_KEY>",
        "OBSIDIAN_HOST": "<your_obsidian_host>",
        "OBSIDIAN_PORT": "<your_obsidian_port>"
      }
    }
  }
}

开发

构建

准备分发包:

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

调试

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

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

plaintext

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

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

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

plaintext

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

相关 MCP 服务