MCP Obsidian连接器
MCP服务器通过Local REST API社区插件与Obsidian进行交互。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"mcp-obsidian": {
"args": [
"--directory",
"\u003cdir_to\u003e/mcp-obsidian",
"run",
"mcp-obsidian"
],
"command": "uv"
}
}
}
该服务需要配置环境变量:OBSIDIAN_API_KEY
可用工具 (8 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
obsidian_list_files_in_dir 1 个参数 需填 1 项
Lists all files and directories that exist in a specific Obsidian directory.
必填参数:dirpath
obsidian_list_files_in_vault
Lists all files and directories in the root directory of your Obsidian vault.
该工具无需必填参数,直接调用即可
obsidian_get_file_contents 1 个参数 需填 1 项
Return the content of a single file in your vault.
必填参数:filepath
obsidian_simple_search 2 个参数 需填 1 项
Simple search for documents matching a specified text query across all files in the vault. Use this tool when you want to do a simple text search
必填参数:query
obsidian_patch_content 5 个参数 需填 5 项
Insert content into an existing note relative to a heading, block reference, or frontmatter field.
必填参数:filepath、operation、target_type、target、content
obsidian_append_content 2 个参数 需填 2 项
Append content to a new or existing file in the vault.
必填参数:filepath、content
obsidian_complex_search 1 个参数 需填 1 项
Complex search for documents using a JsonLogic query. Supports standard JsonLogic operators plus 'glob' and 'regexp' for pattern matching. Results must be non-falsy. Use this tool when you want to do a complex search, e.g. for all documents with certain tags etc.
必填参数:query
obsidian_batch_get_file_contents 1 个参数 需填 1 项
Return the contents of multiple files in your vault, concatenated with headers.
必填参数:filepaths
服务介绍
MCP 服务器用于 Obsidian
通过 Local REST API 社区插件与 Obsidian 交互的 MCP 服务器。
组件
工具
该服务器实现了多个工具以与 Obsidian 交互:
- list_files_in_vault: 列出您的 Obsidian 保险库根目录中的所有文件和目录
- list_files_in_dir: 列出特定 Obsidian 目录中的所有文件和目录
- get_file_contents: 返回保险库中单个文件的内容。
- search: 在保险库的所有文件中搜索与指定文本查询匹配的文档
- patch_content: 在现有笔记中相对于标题、块引用或 frontmatter 字段插入内容。
- append_content: 将内容追加到保险库中的新文件或现有文件。
示例提示
首先指示 Claude 使用 Obsidian 是个好主意。然后它将始终调用这个工具。
使用如下提示:
- 获取最后一次架构通话记录的内容并进行总结
- 搜索提到 Azure CosmosDb 的所有文件,并快速向我解释其被提及的上下文
- 总结上次会议记录并将它们放入新的笔记 'summary meeting.md' 中。添加一个介绍,以便我可以将其通过电子邮件发送出去。
配置
Obsidian REST API 密钥
有两种方法可以使用 Obsidian REST API 密钥配置环境。
- 添加到服务器配置(推荐)
{
"mcp-obsidian": {
"command": "uvx",
"args": [
"mcp-obsidian"
],
"env": {
"OBSIDIAN_API_KEY":"<your_api_key_here>"
}
}
- 在工作目录中创建一个
.env文件,包含以下必需变量:
OBSIDIAN_API_KEY=your_api_key_here
注意:您可以在 Obsidian 插件配置中找到密钥。
快速入门
安装
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
{
"mcpServers": {
"mcp-obsidian": {
"command": "uv",
"args": [
"--directory",
"<dir_to>/mcp-obsidian",
"run",
"mcp-obsidian"
]
}
}
}
{
"mcpServers": {
"mcp-obsidian": {
"command": "uvx",
"args": [
"mcp-obsidian"
],
"env": {
"OBSIDIAN_API_KEY" : "<YOUR_OBSIDIAN_API_KEY>"
}
}
}
}
开发
构建
为分发准备包:
- 同步依赖项并更新锁定文件:
uv sync
调试
由于 MCP 服务器通过 stdio 运行,调试可能会很困难。为了获得最佳调试体验,我们强烈建议使用 MCP Inspector。
您可以使用此命令通过 npm 启动 MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-obsidian run mcp-obsidian
启动后,Inspector 将显示一个 URL,您可以通过浏览器访问该 URL 开始调试。
您还可以使用此命令查看服务器日志:
tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-obsidian.log