内容
# obsidian-mcp
适用于Obsidian本地REST API的MCP(模型上下文协议)服务器:
- 普通的markdown笔记
- 一致的笔记结构(摘要 + 标签 + 相关笔记)
- 快速检索/搜索 + 安全的写入工具,用于组织
本项目与 [aha-mcp](../aha-mcp) 结构相似:
- `src/index.ts` 服务器入口
- `src/client.ts` HTTP客户端
- `src/models/` 类型定义
- `src/tools/read.ts` 只读工具
- `src/tools/write.ts` 写入工具
## 要求
- Node.js 18+
- 启用了本地REST API插件的Obsidian
- 来自插件设置的API密钥
## 环境
复制 `.env.example` 到 `.env` 并设置值:
- `OBSIDIAN_API_KEY` (必填)
- `OBSIDIAN_BASE_URL` (可选,默认为 `http://127.0.0.1:27123`)
## 安装和构建
```bash
npm install
npm run build
```
## 运行
```bash
OBSIDIAN_API_KEY=... OBSIDIAN_BASE_URL=http://127.0.0.1:27123 node dist/index.js
```
## MCP 配置示例
```json
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["/absolute/path/to/obsidian-mcp/dist/index.js"],
"env": {
"OBSIDIAN_API_KEY": "your_obsidian_api_key",
"OBSIDIAN_BASE_URL": "http://127.0.0.1:27123"
}
}
}
}
```
## 工具
### 读取工具
- `get_obsidian_status`:确认API状态/认证
- `get_note`:读取markdown或笔记JSON元数据
- `search_notes`:带有上下文片段的简单文本搜索
### 写入工具
- `create_structured_note`:创建Karpathy风格的模板笔记
- `upsert_note`:创建/替换笔记内容
- `append_note`:追加内容
- `patch_note`:标题/块/前置元数据修补操作
- `move_note`:复制+删除移动操作
- `delete_note`:通过库相对路径删除笔记