
MCP server for Obsidian

2025.03.29
1
Python笔记管理知识库工具开发效率
mcp-obsidian 是一个用于与 Obsidian 笔记应用交互的 MCP 服务器,通过 Local REST API 社区插件实现。它提供了多种工具来管理和操作 Obsidian 中的笔记内容,包括文件列表、内容获取、搜索、内容插入和追加等功能。适用于需要自动化管理 Obsidian 笔记的场景,如会议记录整理、知识库搜索和内容更新等。
View on GitHub
Overview
基本能力
产品定位
mcp-obsidian 是一个用于与 Obsidian 笔记应用交互的 MCP 服务器,通过 Local REST API 社区插件实现。
核心功能
- list_files_in_vault: 列出 Obsidian 保险库根目录中的所有文件和目录
- list_files_in_dir: 列出特定 Obsidian 目录中的所有文件和目录
- get_file_contents: 返回保险库中单个文件的内容
- search: 在所有文件中搜索匹配指定文本查询的文档
- patch_content: 将内容插入到现有笔记中,相对于标题、块引用或 frontmatter 字段
- append_content: 将内容追加到保险库中的新文件或现有文件中
适用场景
- 获取上次架构会议笔记的内容并总结
- 搜索所有提到 Azure CosmosDb 的文件并快速解释其上下文
- 总结上次会议记录并将其放入新笔记 'summary meeting.md' 中,添加介绍以便通过电子邮件发送
工具列表
- list_files_in_vault: 列出保险库中的所有文件和目录
- list_files_in_dir: 列出特定目录中的所有文件和目录
- get_file_contents: 获取单个文件的内容
- search: 搜索匹配文本查询的文档
- patch_content: 插入内容到现有笔记中
- append_content: 追加内容到文件
常见问题解答
- 如何配置 Obsidian REST API Key?
- 可以通过服务器配置或
.env
文件配置 - 如何调试?
- 推荐使用 MCP Inspector 进行调试
使用教程
使用依赖
- 安装并启用 Obsidian REST API 社区插件: https://github.com/coddingtonbear/obsidian-local-rest-api
- 在设置中复制 API 密钥
安装教程
- 配置 Obsidian REST API Key
- 方法一:添加到服务器配置
json { "mcp-obsidian": { "command": "uvx", "args": [ "mcp-obsidian" ], "env": { "OBSIDIAN_API_KEY":"<your_api_key_here>" } } }
-
方法二:创建
.env
文件OBSIDIAN_API_KEY=your_api_key_here
-
开发/未发布服务器配置
json { "mcpServers": { "mcp-obsidian": { "command": "uv", "args": [ "--directory", "<dir_to>/mcp-obsidian", "run", "mcp-obsidian" ] } } }
-
已发布服务器配置
json { "mcpServers": { "mcp-obsidian": { "command": "uvx", "args": [ "mcp-obsidian" ], "env": { "OBSIDIAN_API_KEY" : "<YOUR_OBSIDIAN_API_KEY>" } } } }
调试方式
- 使用 MCP Inspector 调试
bash npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-obsidian run mcp-obsidian
- 查看服务器日志
bash tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-obsidian.log