
Obsidian
一种服务器实现,允许AI助手通过Model Context Protocol在Obsidian库中读取、创建和操作笔记。
概述
MCP Obsidian
Model Context Protocol (MCP) 的服务器实现,用于与 Obsidian 集成。该实现允许 AI 助手读取、创建和操作您的 Obsidian 仓库中的笔记。
功能
- 读取 Obsidian 中的当前活动文件
- 删除当前活动文件
- 在特定位置(标题、块引用、Frontmatter)插入内容
- 向文件末尾追加内容
- 打开特定文件
- 列出仓库中的文件
- 搜索笔记
前提条件
添加到光标位置
将您的密钥放入 .env
文件
选择 MCP 命令,然后输入以下命令
bun __REPO_PATH__/src/index.ts
安装
-
克隆此仓库:
bashgit clone https://github.com/gregkonush/mcp-obsidian.git cd mcp-obsidian
-
安装依赖项:
bashbun install
-
复制示例环境文件并配置:
bashcp .env.example .env
配置
编辑 .env
文件以设置您的配置:
OBSIDIAN_BASE_URL=http://localhost:27123
OBSIDIAN_TOKEN=your_token_here
DEBUG=false
使用
启动 MCP 服务器:
bash
bun run src/index.ts
服务器将启动并通过标准 I/O 与兼容 MCP 的 AI 助手通信。
可用工具
此实现为 AI 助手提供以下工具:
get_active_file
- 返回当前活动文件的内容delete_active_file
- 删除当前活动文件insert_active_file
- 在标题、块引用或 Frontmatter 字段的相对位置修改内容append_active_file
- 向活动文件末尾追加内容open_file
- 在 Obsidian 中打开特定文件search_simple
- 搜索匹配文本查询的文档list_files
- 列出仓库根目录中的文件list_directory_files
- 列出仓库中特定目录的文件
开发
项目结构
mcp-obsidian/
├── src/
│ ├── index.ts # 主服务器实现
│ └── tools/ # 各工具实现
│ ├── get-active-file.ts
│ ├── delete-active-file.ts
│ └── ...
├── .env # 环境配置
├── package.json # 项目依赖项
└── tsconfig.json # TypeScript 配置
添加新工具
要添加新工具:
- 在
src/tools/
目录中创建新文件 - 使用 MCP SDK 实现工具
- 在
src/index.ts
中导入并注册工具
许可证
本项目采用 MIT 许可证 - 详见 LICENSE.md 文件。
贡献
欢迎贡献!请随时提交 Pull Request。