Obsidian MCP服务

Obsidian MCP是一个桥接Obsidian CLI和AI工具的服务,提供34种工具和提示模板,实现笔记的读写、搜索、属性管理等功能。

  • by ZethicTech
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 ZethicTech/obsidian-mcp

使用说明

黑曜石MCP

从以下位置访问您的黑曜石保险库 克劳德桌面版, 克劳德代码,以及支持 模型上下文协议.

Obsidian 1.12引入了一个强大的CLI,但它不能直接从基于GUI的AI工具(如Claude Desktop)访问。此MCP服务器弥合了这一差距,使任何兼容MCP的客户端都可以通过34个工具和提示模板完全访问您的保管库。

特征: 读/写/搜索笔记、管理属性和任务、运行预构建的提示工作流——所有这些都经过Zod模式的验证,并由官方的Obsidian CLI提供支持。

先决条件

  • 黑曜石1.12+ (通过1.12.7测试)启用CLI:设置→ 通用→ 高级→ 命令行界面→ 启用
  • 黑曜石应用程序必须正在运行 (CLI与应用程序通信)

设置

从npm安装包并配置MCP客户端以使用它。服务器在您的机器上本地运行,并通过其CLI与Obsidian应用程序通信。

运作原理

Your machine
┌─────────────────────────────┐
│ Claude Desktop / Claude Code│
│   ↕ stdio (stdin/stdout)    │
│ obsidian-mcp (Node.js)      │ ──CLI──→  Obsidian App (running)
└─────────────────────────────┘

每个用户通过以下方式在本地运行服务器 npx服务器通过stdio接收来自Claude的工具调用,并对正在运行的应用程序执行Obsidian CLI命令。

克劳德桌面版

添加到您的 claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": ["-y", "@zethictech/obsidian-mcp"],
      "env": {
        "OBSIDIAN_VAULT": "MyVault"
      }
    }
  }
}

保存后重新启动Claude Desktop。

克劳德代码

claude mcp add obsidian --env OBSIDIAN_VAULT="My Vault" -- npx -y @zethictech/obsidian-mcp

要使其在所有项目中可用,请添加 --scope user:

claude mcp add obsidian --scope user --env OBSIDIAN_VAULT="My Vault" -- npx -y @zethictech/obsidian-mcp

这 -- 分隔符是必需的,因此命令及其参数不会被解析为 claude mcp add 旗帜。

环境变量

变量 必填 描述
OBSIDIAN_VAULT 是 保险库名称或ID
OBSIDIAN_CLI_PATH 否 覆盖路径 obsidian 二进制(默认情况下自动检测)
OBSIDIAN_TIMEOUT 无 CLI超时(毫秒)(默认值: 30000)

可用工具(34)

只读工具(20)

工具 说明
read_note 阅读笔记的全部内容
get_file_info 获取文件的元数据
list_files 列出vault中的文件
list_folders 列出vault中的文件夹
search 在vault中搜索文本
search_with_context 使用周围线条上下文进行搜索
get_backlinks 列出指向笔记的传入链接
get_links 列出笔记中的传出链接
find_unresolved_links 查找损坏/未解析的链接
find_orphan_notes 查找没有传入链接的笔记
get_outline 获取笔记的标题结构
get_properties 列出前体属性
read_property 读取特定属性值
list_tags 列出vault或注释中的标记
list_tasks 列出任务(复选框)
daily_read 阅读今天的每日简报
daily_path 获取每日笔记文件路径
get_vault_info 获取保管库信息(名称、路径、大小)
wordcount 统计笔记中的单词/字符
get_help 获取任何命令的CLI帮助

书写工具(9)

工具 说明
create_note 创建新笔记
append_note 将内容附加到注释中
prepend_note 将内容预先添加到注释中
set_property 设置frontmatter属性
daily_create 打开/创建今天的每日笔记
daily_append 添加到今天的每日笔记中
daily_prepend 今天的每日笔记之前
update_task 切换或更新任务的状态
add_bookmark 添加书签

破坏性工具(5)

工具 说明
move_note 移动笔记(更新所有链接)
rename_note 重命名笔记(更新所有链接)
delete_note 删除笔记(垃圾或永久)
remove_property 删除frontmatter属性
run_command 直接运行任何CLI命令

run_command 是一个逃逸窗口,可让您访问上述结构化工具(同步、插件、主题、模板、工作区、发布、开发工具等)未涵盖的所有~100个CLI命令。使用 get_help 以发现可用命令。

所有工具输入都在运行时使用以下工具进行验证 佐德 模式。在执行任何CLI命令之前,无效的输入会返回明确的错误消息。


鼓励

五个预制 MCP提示 提供模板化工作流。这些通过CLI调用收集vault数据,并为LLM返回结构化消息。

提示 参数 描述
analyze_vault -- Vault运行状况概述:孤立笔记、未解析链接、标签
summarize_note file 必填 阅读并总结特定注释
find_related file 必填 通过反向链接、链接和共享标签查找相关笔记
daily_review -- 查看今天的每日笔记并建议后续行动
suggest_links file 必填 根据笔记内容建议添加维基链接

故障排除

服务器未启动?

  • 验证 OBSIDIAN_VAULT 已设置并与您的保管库名称完全匹配
  • 确保在启用CLI的情况下安装了Obsidian 1.12+
  • 跑 npx @zethictech/obsidian-mcp --version 验证包裹装载情况

未检测到黑曜石应用程序?

  • CLI要求运行Obsidian--启动应用程序并重试
  • 如果Obsidian刚刚启动,请等待几秒钟使其完全初始化

固定npx缓存?

npx --yes @zethictech/obsidian-mcp

许可证

麻省理工学院