Obsidian笔记集成服务器

一个提供与Obsidian知识库无缝集成的MCP服务器,支持笔记管理、文件夹操作、智能搜索和实时监控功能。

  • by markheramis
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 markheramis/obsidian-mcp

使用说明

黑曜石MCP服务器

模型上下文协议(MCP)服务器,通过直接文件系统访问提供与黑曜石保管库的无缝集成,使AI助手能够与您的笔记和知识库进行交互。

特性

  • 笔记管理:创建、阅读、更新和删除笔记
  • 文件夹操作:创建、重命名、移动和删除文件夹
  • 保险库搜索:使用glob模式、正则表达式、标签、frontmatter和相关性评分进行搜索
  • 智能高速缓存:具有可选LMDB持久性的多层缓存
  • 实时监控:文件监视以自动缓存失效

快速开始

安装

npm install
npm run build

配置

添加到MCP客户端配置中:

{
  "mcpServers": {
    "obsidian": {
      "command": "node",
      "args": ["/path/to/obsidian-mcp/build/index.js"],
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/vault"
      }
    }
  }
}

看 配置参考 对于所有选项。

可用工具

工具 说明
list_notes 列出vault中的所有笔记
read_note 阅读笔记内容
create_note 创建新笔记
update_note 更新现有注释
delete_note 删除注释
get_note_metadata 获取封面和标签
search_vault 使用所需查询进行搜索
advanced_search_vault 具有所有选项的高级搜索
search_vault_stream 大型保险库的流式搜索
manage_folder 创建、重命名、移动或删除文件夹
get_cache_stats 获取缓存性能统计信息

看 工具参考 详细文档。

建筑

flowchart TB
    subgraph tools [MCP Tools]
        T1[search_vault]
        T2[read_note]
        T3[list_notes]
    end
    
    subgraph caching [Caching Layer]
        FC[FileListCache]
        CC[ContentCache]
        SC[SearchResultCache]
        PC[PersistentCache]
    end
    
    subgraph optimization [Search Optimization]
        II[InvertedIndex]
        PT[PathTrie]
    end
    
    subgraph fs [Filesystem]
        V[(Obsidian Vault)]
        FW[FileWatcher]
    end
    
    T1 --> SC
    T1 --> II
    T1 --> PT
    T2 --> CC
    T3 --> FC
    
    CC --> PC
    FC --> PC
    SC --> PC
    
    FW --> FC
    FW --> CC
    FW --> II
    
    V --> FW

看 功能参考 获取详细的架构文档。

性能特点

功能 描述 默认值
文件列表缓存 缓存文件夹列表 60s TTL
内容缓存 文件内容的LRU缓存 100个条目
搜索结果缓存 缓存搜索查询结果 50个条目
持久缓存 LMDB支持的持久性 已启用
倒排表 快速单词到文件查找 已启用
路径尝试 高效的全局模式匹配 已启用
文件监视器 实时缓存失效 已启用
缓存预热 启动时预加载缓存 已禁用

配置快速参考

变量 默认值 描述
OBSIDIAN_VAULT_PATH 必填 黑曜石保险库路径
OBSIDIAN_ENABLE_PERSISTENT_CACHE true 启用LMDB持久性
OBSIDIAN_ENABLE_INVERTED_INDEX true 启用快速文本搜索索引
OBSIDIAN_ENABLE_PATH_TRIE true 启用快速全局匹配
OBSIDIAN_ENABLE_CACHE_WARMUP false 启动时预加载缓存

看 配置参考 对于所有环境变量。

发展

# Build
npm run build

# Development mode
npm run dev

# Run tests
npm test

项目结构

src/
├── config/                    # Configuration management
├── handlers/                  # MCP request handlers
├── services/
│   ├── cache/                 # Caching services
│   ├── search/                # Search optimization services
│   ├── fileSystem.ts          # Core filesystem operations
│   ├── FileWatcher.ts         # File change monitoring
│   └── FrontmatterParser.ts   # YAML frontmatter parsing
├── types/                     # TypeScript type definitions
├── index.ts                   # Entry point
└── server.ts                  # Main server class

文档

安全

  • 操作仅限于配置的vault路径
  • 实现了路径遍历保护
  • 考虑在沙盒环境中运行以供生产使用

贡献

  1. 克隆该仓库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求