使用说明
黑曜石MCP服务器
一 MCP(模型上下文协议) 将Claude等人工智能助手连接到您的服务器 黑曜石 拱顶。通过自然对话阅读、写作、搜索和组织你的笔记。
建立在 黑名单本地REST API 插件。
快速入门(5分钟)
新来的? 严格遵循这些步骤,你就可以开始运行了。无需编码经验。
第一步:安装黑曜石插件
- 打开 黑曜石
- 首选 设置 (左下角的齿轮图标)
- 点击 社区插件 在左侧边栏中
- 点击 浏览 并搜索 “本地REST API”
- 点击 安装那么 启用
- 仍在插件设置中,查找并 复制API密钥 --在步骤3中,您将需要它
如果你没有看到社区插件,你需要关闭 受限模式 首先(社区插件页面顶部有一个切换按钮)。
步骤2:下载并安装此服务器
打开您的终端(在Mac上:在Spotlight中搜索“终端”)并运行:
git clone https://github.com/amjad1233/obsidian-mcp-server.git
cd obsidian-mcp-server
npm install
没有Node.js? 从这里下载 nodejs.org (选择LTS版本)。没有git?下载自 git-scm.com.
第三步:联系克劳德
挑选 一 取决于您使用的内容:
Claude Desktop (the app)
-
查找您的配置文件:
- 雨衣:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
- 雨衣:
-
在任何文本编辑器中打开它并添加
obsidian内部堵塞mcpServers。如果文件为空或不存在,请粘贴整个文件:
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["/full/path/to/obsidian-mcp-server/mcp-server.js"],
"env": {
"OBSIDIAN_API_KEY": "paste-your-api-key-here"
}
}
}
}
- 替换
/full/path/to/使用您克隆回购的位置(例如。,/Users/yourname/obsidian-mcp-server/mcp-server.js) - 替换
paste-your-api-key-here使用步骤1中的API密钥 - 重新启动克劳德桌面
Claude Code (the CLI)
- 创建或编辑
~/.mcp.json:
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["/full/path/to/obsidian-mcp-server/mcp-server.js"],
"env": {
"OBSIDIAN_API_KEY": "paste-your-api-key-here"
}
}
}
}
- (可选)自动允许所有工具,这样您就不会每次都收到提示。添加
~/.claude/settings.json在...之下permissions.allow:
"mcp__obsidian__obsidian_list_vault",
"mcp__obsidian__obsidian_read_note",
"mcp__obsidian__obsidian_create_note",
"mcp__obsidian__obsidian_update_note",
"mcp__obsidian__obsidian_search_vault",
"mcp__obsidian__obsidian_move_note",
"mcp__obsidian__obsidian_delete_note",
"mcp__obsidian__obsidian_get_tags"
- 启动新的Claude Code会话
第四步:测试
确保 黑曜石是开放的然后问克劳德:
“列出我黑曜石保险库中的所有文件”
如果你看到你的文件,你就完了!
部署检查表
每次在新机器上设置服务器时都使用此选项:
- [ ] Node.js 18+ 已安装(
node --version) - [ ] 黑曜石 已安装并打开
- [ ] 本地REST API 在Obsidian中安装并启用插件
- [ ] API密钥 从插件设置复制
- [ ] Repo克隆 和
npm install跑 - [ ] 配置文件 已更新(克劳德桌面或克劳德代码)
- []路径
mcp-server.js是正确和绝对的 - []粘贴了API键(不是占位符)
- []路径
- [ ] 克劳德重新开始 (桌面:退出并重新打开/代码:新会话)
- [ ] 黑曜石正在奔跑 当你试图使用这些工具时
- [ ] 测试: 让克劳德列出你的保险库
特性
| 工具 | 说明 |
|---|---|
obsidian_list_vault |
列出vault(或子文件夹)中的所有文件和文件夹 |
obsidian_read_note |
阅读笔记的完整降价内容和封面 |
obsidian_create_note |
使用自动生成的frontmatter创建新笔记 |
obsidian_update_note |
覆盖或附加到现有注释 |
obsidian_search_vault |
通过上下文摘录在整个数据库中进行全文搜索 |
obsidian_move_note |
将笔记从一条路径移动到另一条路径 |
obsidian_delete_note |
软删除(垃圾)或永久删除笔记 |
obsidian_get_tags |
获取整个保险库中使用的所有标签及其计数 |
配置
服务器完全通过环境变量配置,代码中没有秘密。
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
OBSIDIAN_API_KEY |
是 | - | Local REST API插件中的API密钥 |
OBSIDIAN_HOST |
没有 | http://127.0.0.1 |
运行Obsidian REST API的主机 |
OBSIDIAN_PORT |
没有 | 27123 |
REST API的端口 |
使用示例
配置后,您可以向Claude询问以下问题:
- “列出收件箱文件夹中的所有内容”
- “阅读我今天的会议记录”
- “根据这些要求在项目/网站重新设计中创建新注释…”
- “在我的保险库中搜索有关季度计划的任何信息”
- “将收件箱笔记移动到我的项目文件夹”
- “我在保险库中使用了哪些标签?”
- “将今天的站立笔记添加到我的跑步日志中”
运作原理
Claude <-> MCP Protocol (stdio) <-> This Server <-> Obsidian Local REST API <-> Your Vault
服务器使用MCP协议通过stdio与Claude通信,并将工具调用转换为针对本地主机上运行的Obsidian本地REST API的HTTP请求。所有注释路径都是相对于vault根的。
故障排除
| 问题 | 解决方案 |
|---|---|
| “无法连接到Obsidian REST API” | 请确保Obsidian已打开并且本地REST API插件已启用 |
| “未设置OBSIDIAN_API_KEY环境变量” | 检查配置文件-API密钥丢失或为空 |
| 工具未显示在Claude中 | 重新启动Claude桌面/启动新的Claude代码会话 |
| “注释已存在” | 使用 obsidian_update_note 而不是 obsidian_create_note |
| “不允许路径遍历” | 不使用 ../ 在路径中--所有路径都是相对于vault根目录的 |
| 服务器无法启动 | 运行 node mcp-server.js 直接查看错误 |
| 错误的Node.js版本 | 运行 node --version --你需要18岁或以上 |
备注
- 黑曜石一定在跑 本地REST API插件处于活动状态,以便服务器工作
- 所有文件路径都是相对于vault根的(例如。,
Folder/Subfolder/Note.md) obsidian_create_note自动生成YAML frontmattercreated时间戳和tagsobsidian_delete_note默认情况下移动到垃圾箱--passpermanent: true用于硬删除obsidian_get_tags扫描多达5000个markdown文件;非常大的保险库可能会看到部分结果
许可证
麻省理工学院
