Skip to main content

Obsidian Vault MCP - 语义搜索和记忆服务

Project description

Obsidian Vault MCP

PyPI Python License

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

obsidian_vault_mcp-1.1.0.tar.gz (123.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

obsidian_vault_mcp-1.1.0-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

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

Hashes for obsidian_vault_mcp-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e02e187884d2a745d5f5ebe03fafde01f6c8b03ba42ce052e9eb88178356af0c
MD5 8ba45e2950aff93915e475da22269ef6
BLAKE2b-256 2bcf6d21244d8634fefdc9716ac2333d9fd47561f34c7296e062bbb9b575fd01

See more details on using hashes here.

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

Hashes for obsidian_vault_mcp-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c53b8dc96c07f7ad7b265c987098cb4e97f045ed66b3056e368a9e5f5aa2e79f
MD5 3d9e81297d4be90d5f829f554a425a1a
BLAKE2b-256 ade08585d5e6c8753cd8e4aa123ae8c7a3f77e1980ed4cd9578d235c48052fcb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page