用于Obsidian的MCP服务器
通过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:将内容追加到仓库中的新文件或现有文件
- delete_file:从您的仓库中删除文件或文件夹
示例提示
首先指导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>",
"OBSIDIAN_HOST": "<your_obsidian_host>",
"OBSIDIAN_PORT": "<your_obsidian_port>"
}
}
}
有时Claude无法检测到uv / uvx的位置。在这种情况下,您可以使用which uvx找到完整路径,并将其粘贴到上述配置中。
- 在工作目录中创建一个
.env文件,包含以下必需变量:
OBSIDIAN_API_KEY=your_api_key_here
OBSIDIAN_HOST=your_obsidian_host
OBSIDIAN_PORT=your_obsidian_port
注意:
- 您可以在Obsidian插件配置中找到API密钥
- 如果未指定,默认端口为27124
- 如果未指定,默认主机为127.0.0.1
快速入门
安装
Obsidian REST API
您需要运行Obsidian REST API社区插件:https://github.com/coddingtonbear/obsidian-local-rest-api
在设置中安装并启用它,并复制API密钥。
Claude桌面版
在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"
],
"env": {
"OBSIDIAN_API_KEY": "<your_api_key_here>",
"OBSIDIAN_HOST": "<your_obsidian_host>",
"OBSIDIAN_PORT": "<your_obsidian_port>"
}
}
}
}
已发布服务器的配置
{
"mcpServers": {
"mcp-obsidian": {
"command": "uvx",
"args": [
"mcp-obsidian"
],
"env": {
"OBSIDIAN_API_KEY": "<YOUR_OBSIDIAN_API_KEY>",
"OBSIDIAN_HOST": "<your_obsidian_host>",
"OBSIDIAN_PORT": "<your_obsidian_port>"
}
}
}
}
开发
构建
为分发准备包:
- 同步依赖项并更新锁文件:
uv sync
调试
由于MCP服务器通过stdio运行,调试可能具有挑战性。为获得最佳调试体验,我们强烈建议使用MCP Inspector。
您可以通过npm使用以下命令启动MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-obsidian run mcp-obsidian
启动后,Inspector将显示一个URL,您可以在浏览器中访问它以开始调试。
您还可以使用以下命令查看服务器日志:
tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-obsidian.log
