与Obsidian通过本地REST API社区插件进行交互的高级MCP服务器。它赋予AI代理(如Claude)深入理解你的知识库结构、链接和内容的能力——超越基本的读写操作。
关键高级功能,由obsidiantools库提供支持:
这种设置让AI代理能够与你一起工作,通过高效地导航和增强你的知识库来提高生产力。
该服务器实现了多个工具以与Obsidian进行交互:
obsidian_list_files_in_dir: 列出特定Obsidian目录中的所有文件和目录obsidian_batch_get_files: 返回知识库中一个或多个笔记(.md文件)的内容和元数据obsidian_put_file: 在知识库中创建新文件或更新现有文件的内容obsidian_append_to_file: 将内容追加到知识库中的新文件或现有文件obsidian_patch_file: 根据标题、块引用或frontmatter字段在现有笔记中插入内容obsidian_delete_file: 从知识库中删除文件或目录obsidian_simple_search: 在所有文件中搜索匹配指定文本查询的文档obsidian_complex_search: 使用JsonLogic查询进行复杂搜索,支持'glob'和'regexp'模式匹配obsidian_get_active_note: 获取当前活跃笔记的内容和元数据obsidian_periodic_notes: 获取指定周期(每日、每周、每月、每季度、每年)的当前周期性笔记obsidian_recent_periodic_notes: 获取指定类型周期性笔记的最近记录obsidian_recent_changes: 获取知识库中最近修改的文件
obsidian_understand_vault: 获取对知识库结构的全面理解,包括目录树和笔记连接的NetworkX图obsidian_open_files: 在新的叶中打开知识库中的一个或多个文件obsidian_list_commands: 列出可以在obsidian界面运行的所有可用命令obsidian_execute_commands: 在obsidian界面执行一个或多个命令首先指示Claude(或其他MCP客户端)使用Obsidian。然后它将始终调用这些工具。例如,
使用如下提示:
obsidian_get_active_note,阅读它,然后编辑笔记。对于这个MCP服务器,有2个必需的环境变量需要配置:
OBSIDIAN_API_KEY: 通过安装Obsidian REST API插件并进入设置获得。OBSIDIAN_VAULT_PATH: 必须设置绝对路径到你的知识库,以便工具(如obsidian_understand_vault)能正常工作。此外,还有3个可选的环境变量可以更改:
OBSIDIAN_HOST: 可以在Obsidian REST API插件设置中更改,默认值为127.0.0.1,即插件默认设置。OBSIDIAN_PORT: 可以在Obsidian REST API插件设置中更改,默认值为27124,即插件默认设置。INCLUDE_TOOLS: 此变量控制哪些工具可供使用。
obsidian_understand_vault和obsidian_simple_search工具,你可以设置INCLUDE_TOOLS="obsidian_understand_vault,obsidian_simple_search"在.env或服务器配置中。有两种方式可以配置环境变量与Obsidian REST API密钥。
{
"mcp-obsidian-advanced": {
"command": "uvx",
"args": [
"mcp-obsidian-advanced"
],
"env": {
"OBSIDIAN_API_KEY": "%3Cyour_api_key_here%3E",
"OBSIDIAN_HOST": "<your_obsidian_host>",
"OBSIDIAN_PORT": "<your_obsidian_port>",
"OBSIDIAN_VAULT_PATH": "</path/to/your/vault>",
"INCLUDE_TOOLS": ""
}
}
}
有时Claude可能无法检测到uv / uvx的位置。你可以使用
which uvx找到并粘贴上述配置中的完整路径。
.env文件,包含以下变量(仅需OBSIDIAN_API_KEY和OBSIDIAN_VAULT_PATH):OBSIDIAN_API_KEY=your_api_key_here
OBSIDIAN_HOST=your_obsidian_host
OBSIDIAN_PORT=your_obsidian_port
OBSIDIAN_VAULT_PATH=/path/to/your/vault
INCLUDE_TOOLS=name_of_tool1,name_of_tool2,...
注意:你可以在Obsidian插件配置中找到API密钥、主机和端口 如果未指定,默认端口是27124 如果未指定,默认主机是127.0.0.1
要自动安装Claude Desktop的高级Obsidian MCP服务器,请访问Smithery:
npx -y @smithery/cli install @ToKiDoO/mcp-obsidian-advanced --client claude
你需要运行Obsidian REST API社区插件:https://github.com/coddingtonbear/obsidian-local-rest-api
安装并在设置中启用它,并复制API密钥。
在MacOS中:~/Library/Application\ Support/Claude/claude_desktop_config.json
在Windows中:%APPDATA%/Claude/claude_desktop_config.json
已发布的服务器配置:
{
"mcpServers": {
"mcp-obsidian-advanced": {
"command": "uvx",
"args": [
"mcp-obsidian-advanced"
],
"env": {
"OBSIDIAN_API_KEY": "<your_api_key_here>",
"OBSIDIAN_VAULT_PATH": "/path/to/your/vault/"
}
}
}
}
开发/未发布的服务器配置:
{
"mcpServers": {
"mcp-obsidian": {
"command": "uv",
"args": [
"--directory",
"/dir/to/mcp-obsidian-advanced",
"run",
"mcp-obsidian"
],
"env": {
"OBSIDIAN_API_KEY": "<your_api_key_here>",
"OBSIDIAN_VAULT_PATH": "/path/to/your/vault/"
}
}
}
}
有关obsidiantools库和Obsidian REST API的附加文档可以在docs目录中找到。
obsidiantools_in_15_minutes_documentation.md是一个ipynb文件,演示了obsidiantools的使用案例。obsidian_rest_api_documentation.yaml是一个yaml文件,演示了Obsidian REST API的使用案例。准备打包以供分发:
uv sync
由于MCP服务器通过stdio运行,调试可能会很困难。为了最佳的调试体验,我们强烈建议使用MCP Inspector。
你可以通过npm使用以下命令启动MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-obsidian-advanced run mcp--obsidian-advanced
启动后,Inspector将显示一个URL,你可以在浏览器中访问该URL以开始调试。
你也可以使用以下命令监视服务器日志:
tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-obsidian-advanced.log