MCP server for Obsidian

MCP server for Obsidian

site icon
2025.04.14 647
Python笔记管理自动化工具开发效率
mcp-obsidian 是一个用于与 Obsidian 笔记应用交互的 MCP 服务器,通过 Local REST API 社区插件实现。它提供了一系列工具来管理和操作 Obsidian 笔记库中的文件,包括列出文件、获取文件内容、搜索文档、修改和追加内容等功能。适用于需要自动化管理 Obsidian 笔记的场景,如会议记录整理、知识库搜索和内容更新等。
View on GitHub

Overview

基本能力

产品定位

mcp-obsidian 是一个用于与 Obsidian 笔记应用交互的 MCP 服务器,通过 Local REST API 社区插件实现。

核心功能

  • 列出文件:列出 Obsidian 笔记库中的所有文件和目录。
  • 获取文件内容:返回指定文件的内容。
  • 搜索文档:根据文本查询搜索匹配的文档。
  • 修改内容:在现有笔记中插入内容,相对于标题、块引用或 frontmatter 字段。
  • 追加内容:在现有文件或新文件中追加内容。
  • 删除文件:从笔记库中删除文件或目录。

适用场景

  • 自动化管理 Obsidian 笔记库。
  • 会议记录整理和总结。
  • 知识库内容搜索和更新。

工具列表

  • list_files_in_vault:列出笔记库中的所有文件和目录。
  • list_files_in_dir:列出指定目录中的所有文件和目录。
  • get_file_contents:获取单个文件的内容。
  • search:搜索匹配指定文本查询的文档。
  • patch_content:在现有笔记中插入内容。
  • append_content:在文件末尾追加内容。
  • delete_file:删除文件或目录。

常见问题解答

  • 如何配置 Obsidian REST API Key:可以通过服务器配置或 .env 文件设置。
  • 如何调试:推荐使用 MCP Inspector 进行调试。

使用教程

使用依赖

  1. 安装 Obsidian REST API 社区插件:
  2. 插件地址:Obsidian Local REST API
  3. 在设置中启用插件并复制 API Key。

安装教程

  1. 配置服务器
  2. claude_desktop_config.json 中添加以下配置: json { "mcp-obsidian": { "command": "uvx", "args": [ "mcp-obsidian" ], "env": { "OBSIDIAN_API_KEY":"<your_api_key_here>" } } }
  3. 或创建 .env 文件并添加: OBSIDIAN_API_KEY=your_api_key_here

  4. 安装服务器

  5. 运行以下命令同步依赖: bash uv sync

调试方式

  1. 使用 MCP Inspector
  2. 运行以下命令启动调试: bash npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-obsidian run mcp-obsidian
  3. 访问浏览器中显示的 URL 进行调试。

  4. 查看日志

  5. 运行以下命令查看服务器日志: bash tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-obsidian.log

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。