Obsidian MCP服务器

基于Obsidian Local REST API插件构建的轻量级MCP服务器,用于管理和操作Obsidian笔记。

  • by colindomoney
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 colindomoney/abides-obsidian-mcp

使用说明

黑曜石mcp

“黑曜石MCP遵守。”

黑曜石的最小MCP服务器,建立在 黑名单本地REST API 插件。

先决条件

  • 黑曜石与 本地REST API 插件已启用
  • 来自Obsidian设置>本地REST API的API密钥
  • Node.js 18+和pnpm

安装和构建

pnpm install
pnpm run build

生产 dist/index.js.

配置

无配置文件--仅限env变量:

变量 默认值 必填
OBSIDIAN_API_KEY -- 是的
OBSIDIAN_HOST 127.0.0.1 没有
OBSIDIAN_PORT 27123 没有

工具

工具 参数 描述
list_vault path (可选) 列出vault或子目录中的文件/文件夹
read_note path 阅读笔记内容
write_note path, content 创建或替换注释
append_note path, content 将内容附加到注释中
delete_note path 删除注释
list_tags -- 列出所有具有出现次数的标签

测试

MCP检查器--Web用户界面

npx @modelcontextprotocol/inspector \
  -e OBSIDIAN_API_KEY=<your-key> \
  node dist/index.js

打开浏览器。使用表单以交互方式调用工具。

MCP检查器-CLI

npx @modelcontextprotocol/inspector --cli \
  -e OBSIDIAN_API_KEY=<your-key> \
  node dist/index.js \
  --method tools/list

npx @modelcontextprotocol/inspector --cli \
  -e OBSIDIAN_API_KEY=<your-key> \
  node dist/index.js \
  --method tools/call --tool-name list_vault

npx @modelcontextprotocol/inspector --cli \
  -e OBSIDIAN_API_KEY=<your-key> \
  node dist/index.js \
  --method tools/call --tool-name read_note \
  --tool-arg path="Dashboard.md"

注: 使用 -e KEY=value 传递env变量--内联 KEY=value node ... 不与检查员合作。

repl-mcp——交互式repl

安装一次:

python3 -m venv venv
source venv/bin/activate
pip install repl-mcp

创建 mcp-config.json:

{
  "mcpServers": {
    "abides-obsidian-mcp": {
      "command": "node",
      "args": ["dist/index.js"],
      "env": {
        "OBSIDIAN_API_KEY": "<your-key>"
      }
    }
  }
}

运行:

source venv/bin/activate
repl-mcp --config mcp-config.json

关键REPL命令:

命令 描述
tools 列出所有工具
tool <name> 显示工具的参数
call <name> 调用工具(交互式提示输入参数)
call <name> {"key": "value"} 使用JSON参数调用工具
help 显示所有命令
quit 退出

连接到客户端

克劳德桌面版

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "abides-obsidian-mcp": {
      "command": "/path/to/node",
      "args": ["/absolute/path/to/abides-obsidian-mcp/dist/index.js"],
      "env": {
        "OBSIDIAN_API_KEY": "<your-key>"
      },
      "type": "stdio"
    }
  }
}

使用节点的完整路径(which node)--Claude Desktop不继承您的shell PATH。

克劳德代码

claude mcp add abides-obsidian-mcp \
  -e OBSIDIAN_API_KEY=<your-key> \
  -- node /absolute/path/to/abides-obsidian-mcp/dist/index.js

故障排除

  • REST API未响应 -检查Obsidian是否正在运行并且本地REST API插件是否已启用
  • 身份验证失败 -验证密钥是否匹配“Obsidian设置”>“本地REST API”
  • 港口 -REST API在27123上运行HTTP,在27124上运行HTTPS