Obsidian Vault MCP - 语义搜索和记忆服务
Project description
Obsidian Vault MCP
Obsidian 知识库的 MCP 服务,提供语义搜索和知识图谱分析能力。
特性
- 混合搜索:BM25 关键词 + 向量语义 + RRF 融合 + PageRank 加权
- 轻量高效:mmap 索引加载,内存占用 ~300MB
- 后台索引:启动不阻塞,增量更新
- 零配置:开箱即用
安装
uv tool install obsidian-vault-mcp --python 3.12
工具列表
| 工具 | 说明 |
|---|---|
vault_search |
搜索笔记,支持 bm25/semantic/hybrid 三种模式 |
vault_read |
读取笔记完整内容 |
vault_list |
列出笔记,支持目录过滤和最近修改筛选 |
vault_links |
获取笔记的反向链接和出链关系 |
vault_tags |
获取标签统计或按标签查找笔记 |
vault_related |
查找语义相似的相关笔记 |
工具详情
vault_search - 搜索笔记
query: 搜索关键词或问题mode: 搜索模式(bm25=关键词匹配,semantic=语义理解,hybrid=混合,默认 hybrid)limit: 返回数量(1-50,默认 10)
vault_read - 读取笔记
path: 笔记路径,如folder/note.md
vault_list - 列出笔记
folder: 目录过滤,如projects/recent_days: 只返回最近 N 天修改的笔记limit: 返回数量(1-200,默认 50)
vault_links - 链接关系
path: 笔记路径- 返回:backlinks(反向链接)和 outgoing(出链)
vault_tags - 标签查询
tag: 标签名(可选),不传则返回所有标签统计
vault_related - 相关笔记
path: 笔记路径limit: 返回数量(1-30,默认 10)
使用
Vault 路径配置
优先级:--vault 参数 > OBSIDIAN_VAULT_PATH 环境变量 > 当前目录
# 命令行参数
obsidian-vault-mcp --vault /path/to/vault
# 环境变量
export OBSIDIAN_VAULT_PATH=/path/to/vault
obsidian-vault-mcp
Claude Code 配置
命令行添加:
claude mcp add obsidian-vault \
-e OBSIDIAN_VAULT_PATH=/path/to/vault \
-- obsidian-vault-mcp
项目 .mcp.json(放在 vault 目录下):
{
"mcpServers": {
"obsidian-vault": {
"type": "stdio",
"command": "obsidian-vault-mcp",
"env": {
"OBSIDIAN_VAULT_PATH": "${PWD}"
}
}
}
}
索引机制
- 启动时后台初始化(不阻塞主线程)
- BM25 索引使用 mmap 加载,内存高效
- 向量索引使用 LanceDB 持久化
- PageRank 图谱缓存到磁盘
- 每 10 分钟检查文件变动,增量更新
配置
在 vault 目录下创建 .obsidian/vault-mcp.json:
{
"embedding_model": "BAAI/bge-small-zh-v1.5",
"index_interval": 600
}
embedding_model: 向量模型(默认 bge-small-zh-v1.5)index_interval: 索引更新间隔秒数(默认 600)
开发
git clone https://github.com/chyax98/obsidian-mcp.git
cd obsidian-mcp
uv sync
uv run obsidian-vault-mcp --vault /path/to/vault
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file obsidian_vault_mcp-1.1.0.tar.gz.
File metadata
- Download URL: obsidian_vault_mcp-1.1.0.tar.gz
- Upload date:
- Size: 123.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e02e187884d2a745d5f5ebe03fafde01f6c8b03ba42ce052e9eb88178356af0c
|
|
| MD5 |
8ba45e2950aff93915e475da22269ef6
|
|
| BLAKE2b-256 |
2bcf6d21244d8634fefdc9716ac2333d9fd47561f34c7296e062bbb9b575fd01
|
File details
Details for the file obsidian_vault_mcp-1.1.0-py3-none-any.whl.
File metadata
- Download URL: obsidian_vault_mcp-1.1.0-py3-none-any.whl
- Upload date:
- Size: 19.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c53b8dc96c07f7ad7b265c987098cb4e97f045ed66b3056e368a9e5f5aa2e79f
|
|
| MD5 |
3d9e81297d4be90d5f829f554a425a1a
|
|
| BLAKE2b-256 |
ade08585d5e6c8753cd8e4aa123ae8c7a3f77e1980ed4cd9578d235c48052fcb
|