使用说明
黑曜石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路径
- 实现了路径遍历保护
- 考虑在沙盒环境中运行以供生产使用
贡献
- 克隆该仓库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
