小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
1
最近更新:1个月前

一种服务器实现,允许AI助手通过Model Context Protocol在Obsidian库中读取、创建和操作笔记。

MCP Obsidian

Model Context Protocol (MCP) 的服务器实现,用于与 Obsidian 集成。该实现允许 AI 助手读取、创建和操作您的 Obsidian 仓库中的笔记。

功能

  • 读取 Obsidian 中的当前活动文件
  • 删除当前活动文件
  • 在特定位置(标题、块引用、Frontmatter)插入内容
  • 向文件末尾追加内容
  • 打开特定文件
  • 列出仓库中的文件
  • 搜索笔记

前提条件

  • Bun 运行时
  • Obsidian 桌面应用程序
  • 兼容 MCP 的 AI 助手

添加到光标位置

将您的密钥放入 .env 文件

选择 MCP 命令,然后输入以下命令

复制代码
bun __REPO_PATH__/src/index.ts

安装

  1. 克隆此仓库:

    bash 复制代码
    git clone https://github.com/gregkonush/mcp-obsidian.git  
    cd mcp-obsidian  
  2. 安装依赖项:

    bash 复制代码
    bun install  
  3. 复制示例环境文件并配置:

    bash 复制代码
    cp .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 配置  

添加新工具

要添加新工具:

  1. src/tools/ 目录中创建新文件
  2. 使用 MCP SDK 实现工具
  3. src/index.ts 中导入并注册工具

许可证

本项目采用 MIT 许可证 - 详见 LICENSE.md 文件。

贡献

欢迎贡献!请随时提交 Pull Request。