内容
# mcp-obsidian
*🇬🇧 英语 · [🇫🇷 法语](README.fr.md)*
一款**基于文件系统**的 [MCP](https://modelcontextprotocol.io) 服务器,用于 [Obsidian](https://obsidian.md) 知识库。它直接在磁盘上读取和写入知识库的 Markdown 文件 **——无需 Obsidian 插件,无需本地 REST API,无需运行 Obsidian 实例**。只需指向一个文件夹,您的 LLM 即可浏览和编辑笔记。
## 为什么基于文件系统
大多数 Obsidian MCP 服务器都与 *本地 REST API* 社区插件进行通信,这意味着 Obsidian 必须运行并启用该插件。`mcp-obsidian` 跳过了所有这些,直接对知识库目录进行操作 —— 支持无界面运行、CI 或同步文件夹。
## 工具
| 工具 | 描述 |
|------|-------------|
| `obsidian_read` | 读取笔记(可选截断) |
| `obsidian_search` | 在笔记中进行关键词搜索,每个搜索结果提供截断的上下文;可选子文件夹范围 |
| `obsidian_write` | 创建或覆盖笔记(创建父文件夹) |
| `obsidian_append` | 在笔记中追加内容 |
| `obsidian_patch_frontmatter` | 补丁笔记的 YAML 前置信息 |
| `obsidian_list` | 列出目录下的 `.md` 文件和子文件夹 |
所有路径都**相对于知识库根目录**(例如 `wiki/cyber/sql-injection.md`)。
## 安装
```bash
git clone https://github.com/NeveuGregor/mcp-obsidian.git
cd mcp-obsidian
npm install
npm run build # 编译 TypeScript 到 dist/
```
## 配置
知识库路径通过 `OBSIDIAN_VAULT` 环境变量提供(绝对路径)。如果未设置,该服务器将退出并报错。
在您的 MCP 配置中注册它,例如:
```json
{
"mcpServers": {
"obsidian": {
"type": "stdio",
"command": "node",
"args": ["/绝对路径/to/mcp-obsidian/dist/index.js"],
"env": {
"OBSIDIAN_VAULT": "/绝对路径/to/您的知识库"
}
}
}
}
```
## 要求
- Node.js 18+
- 一个 Obsidian 知识库(只需一个 Markdown 文件夹)
## 相关
该服务器是更广泛的知识架构的 *MCP 层* —— **[claude-obsidian-system](https://github.com/NeveuGregor/claude-obsidian-system)** —— 它记录了知识库本身的设计(LLM-Wiki + Zettelkasten + Evergreen)以及如何与 Claude 代码技能和内存连接。
## 许可证
[CeCILL-B](LICENSE) (BSD 兼容,法国法律) —— 2026 Neveu Grégor 版权所有。