Obsidian-in-a-Vat
Servidor MCP de cofre de conhecimento nativo de IA: capture pensamentos, promova automaticamente para notas estruturadas e construa um grafo de conhecimento com clusterização Louvain, tudo a partir do Claude Desktop.
Documentação
vault-mcp
Um servidor MCP de conhecimento pessoal para o Claude Desktop — capture pensamentos, conecte ideias e reflita sobre como seu pensamento está mudando, tudo por meio de conversa natural.
Demonstração
Um vault é mais do que uma pasta de notas — é um espelho de como você pensa. vault_reflect transforma esse espelho em algo que você pode observar.
| Snapshot · como sua mente está hoje | Drift · como ela mudou ao longo do ano |
|---|---|
![]() | ![]() |
| Bolhas de tags + volume mensal de capturas | Fluxo empilhado de velocidade de tags ao longo do tempo |
📺 Assista à demonstração completa (60s)
https://github.com/user-attachments/assets/0ef205a4-0ffc-4a24-a92a-b4acf66377fe
Por que isso existe
A maioria das ferramentas de anotações para no armazenamento. vault-mcp é construído em torno de uma visão de três camadas:
- L1 · Capture — salvamento sem atrito a partir de qualquer conversa, com marcação automática e geração de slugs.
- L2 · Connect — promova capturas brutas em notas estruturadas com wikilinks automáticos, construa um grafo de conhecimento, encontre órfãos e pontes.
- L3 · Reflect — visualize sua paisagem de conhecimento, revele deriva de interesses e descubra pontos cegos ao longo do tempo.
O objetivo não é substituir o Obsidian. É dar ao Claude as mãos e os olhos para trabalhar dentro do seu vault.
Fluxo de trabalho
flowchart LR
Chat(["💬 Chat with Claude"]) -->|vault_capture| Cap[("📥 captures/")]
Cap -->|vault_promote| Notes[("📝 notes/")]
Notes -->|vault_analyze| Graph["🕸️ knowledge graph"]
Notes -->|vault_topic| Topics[("🗺️ topics/ · MOC")]
Cap -.->|vault_reflect| Mirror["🪞 snapshot · drift · blindspots"]
Notes -.->|vault_reflect| Mirror
Graph -.->|vault_reflect| Mirror
classDef store fill:#eef2ff,stroke:#4c8bf5,color:#1e3a8a
classDef view fill:#f0fdf4,stroke:#16a34a,color:#14532d
classDef chat fill:#fef3c7,stroke:#d97706,color:#7c2d12
class Cap,Notes,Topics store
class Graph,Mirror view
class Chat chat
Cada ferramenta desempenha um papel distinto: vault_capture captura pensamentos brutos, vault_promote os refina em notas, vault_analyze e vault_topic os entrelaçam, e vault_reflect permite que você dê um passo atrás e veja o panorama completo.
Início rápido (uvx — Recomendado)
A forma mais leve de executar o vault-mcp. Sem Docker, sem venv manual — apenas uv e uma mudança de configuração.
Passo 1. Instale o uv (se ainda não tiver):
curl -LsSf https://astral.sh/uv/install.sh | sh
Passo 2. Adicione à configuração do Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"vault": {
"command": "uvx",
"args": ["obsidian-in-a-vat-mcp"],
"env": {
"VAULT_LOCAL_PATH": "/Users/yourname/my-vault"
}
}
}
}
Substitua /Users/yourname/my-vault pelo caminho absoluto do seu diretório de vault local.
Passo 3. Feche e reabra completamente o Claude Desktop. As ferramentas vault aparecerão automaticamente.
Ainda não tem um vault? Basta apontar
VAULT_LOCAL_PATHpara um diretório vazio. No primeiro uso, peça ao Claude para "inicializar meu vault" — ele criará toda a estrutura de diretórios automaticamente.Já tem um vault do Obsidian? Aponte
VAULT_LOCAL_PATHpara seu vault existente e peça ao Claude para "inicializar meu vault". Ele escaneará suas notas, classificará (capturas vs. notas) e migrará tudo para o formato vault-mcp. Os originais são arquivados com segurança em_archive/.
Configuração alternativa — Docker
{
"mcpServers": {
"vault": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/yourname/my-vault:/vault",
"ghcr.io/oliverxuzy-ai/obsidian-in-a-vat:latest"
]
}
}
}
Requer Docker Desktop em execução em segundo plano.
Atualize para a versão mais recente: docker pull ghcr.io/oliverxuzy-ai/obsidian-in-a-vat:latest
Configuração de desenvolvimento local
Para executar a partir de um checkout local (as alterações entram em vigor após reiniciar o Claude Desktop):
{
"mcpServers": {
"vault": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/obsidian-in-a-vat",
"vault-mcp"
],
"env": {
"VAULT_LOCAL_PATH": "/Users/yourname/my-vault"
}
}
}
}
Volte para a versão publicada alterando command para "uvx" e args para ["obsidian-in-a-vat-mcp"].
Ferramentas
As ferramentas são agrupadas pelas três camadas da visão.
📥 Capturar & Ler
| Ferramenta | Ações | Descrição |
|---|---|---|
vault_init | setup, migrate | Inicialização do vault com um clique: cria vaults vazios a partir de modelo ou migra notas Obsidian existentes com classificação no servidor, conversão de todos e arquivamento automático |
vault_read | search, get, list_captures | Pesquisar no vault, ler arquivos, listar capturas por status |
vault_capture | save, delete | Capturar insights refinados com marcação automática ou excluir capturas |
🔗 Conectar
| Ferramenta | Ações | Descrição |
|---|---|---|
vault_promote | promote | Promover capturas em notas estruturadas com wikilinks automáticos |
vault_analyze | rebuild_graph, clusters, connections, orphans | Grafo de conhecimento: construir grafo, agrupamento Louvain, conexões de N graus, detecção de órfãos |
vault_topic | prepare, create, update | Ciclo de vida de tópicos: reunir materiais (divulgação progressiva), criar/atualizar tópicos no estilo MOC |
🪞 Refletir
| Ferramenta | Ações | Descrição |
|---|---|---|
vault_reflect | snapshot, drift, blindspots | Visualização cognitiva: panorama do conhecimento, deriva de interesses ao longo do tempo, detecção de pontos cegos e pontes |
Extração automática de tags
As tags são extraídas do texto de captura usando três fontes, em ordem de prioridade:
tags.yaml— Tags personalizadas e mapeamentos de sinônimos na raiz do vault- Notas existentes — Tags coletadas do frontmatter dos arquivos existentes do vault
- Domínios padrão — Fallback:
ai,llm,productivity,writing,coding,design,business,learning,health,finance,philosophy,psychology
Exemplo de tags.yaml na raiz do seu vault:
tags:
ai: [artificial intelligence, machine learning, ML, deep learning]
coding: [programming, software, development, code]
design: [UX, UI, user experience]
Desenvolvimento
# Run all tests
uv run pytest tests/ -v
# Build image locally
docker build -t vault-mcp .
# Test the container starts (Ctrl+C to stop)
echo '{}' | docker run -i --rm -v $(pwd)/example_vault:/vault vault-mcp
# Syntax check
python -m py_compile src/vault_mcp/server.py
# Interactive MCP Inspector
mcp dev src/vault_mcp/server.py
中文
个人知识库 MCP 服务器,适配 Claude Desktop —— 捕获想法、连接笔记、反思自己思维的变化,全部通过自然对话完成。
一图看懂
vault 不只是一个文件夹,而是你思维的一面镜子。vault_reflect 把这面镜子变成了你可以"看"的东西。
| Snapshot · 当下你的思维长什么样 | Drift · 这一年它如何变化 |
|---|---|
![]() | ![]() |
| 标签气泡 + 月度 capture 柱状图 | 堆叠式 tag velocity 流图 |
设计哲学
大多数笔记工具止步于"存储"。vault-mcp 围绕三层愿景设计:
- L1 · Capture — 任何对话中无摩擦地保存想法,自动打标签、生成 slug。
- L2 · Connect — 把原始 capture 提升为结构化笔记,自动插入 wikilinks,构建知识图谱,发现孤岛和桥接。
- L3 · Reflect — 可视化你的知识全景,呈现兴趣漂移,长期暴露盲区。
目标不是替代 Obsidian,而是让 Claude 拥有在你 vault 里"动手"和"看见"的能力。
工作流
flowchart LR
Chat(["💬 与 Claude 对话"]) -->|vault_capture| Cap[("📥 captures/")]
Cap -->|vault_promote| Notes[("📝 notes/")]
Notes -->|vault_analyze| Graph["🕸️ 知识图谱"]
Notes -->|vault_topic| Topics[("🗺️ topics/ · MOC")]
Cap -.->|vault_reflect| Mirror["🪞 snapshot · drift · blindspots"]
Notes -.->|vault_reflect| Mirror
Graph -.->|vault_reflect| Mirror
classDef store fill:#eef2ff,stroke:#4c8bf5,color:#1e3a8a
classDef view fill:#f0fdf4,stroke:#16a34a,color:#14532d
classDef chat fill:#fef3c7,stroke:#d97706,color:#7c2d12
class Cap,Notes,Topics store
class Graph,Mirror view
class Chat chat
每个工具有清晰的分工:vault_capture 接住原始想法,vault_promote 把它们提炼成笔记,vault_analyze 和 vault_topic 把笔记编织起来,vault_reflect 让你后退一步看到全貌。
快速开始(uvx — 推荐)
最轻量的运行方式。不需要 Docker,不需要手动创建虚拟环境 — 只需安装 uv 即可。
第一步. 安装 uv(如果还没有):
curl -LsSf https://astral.sh/uv/install.sh | sh
第二步. 添加到 Claude Desktop 配置文件(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"vault": {
"command": "uvx",
"args": ["obsidian-in-a-vat-mcp"],
"env": {
"VAULT_LOCAL_PATH": "/Users/yourname/my-vault"
}
}
}
}
将 /Users/yourname/my-vault 替换为你本地 vault 目录的绝对路径。
第三步. 完全退出并重新打开 Claude Desktop,vault 工具会自动出现。
还没有 vault? 将
VAULT_LOCAL_PATH指向一个空目录即可。首次使用时让 Claude "初始化我的 vault" — 它会自动创建完整的目录结构。已有 Obsidian vault? 将
VAULT_LOCAL_PATH指向你现有的 vault 目录,让 Claude "初始化我的 vault"。它会扫描你的笔记,自动分类(capture vs. note),并批量迁移为 vault-mcp 格式。原始文件安全归档到_archive/。
备选安装方式 — Docker
{
"mcpServers": {
"vault": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/yourname/my-vault:/vault",
"ghcr.io/oliverxuzy-ai/obsidian-in-a-vat:latest"
]
}
}
}
需要 Docker Desktop 在后台运行。
更新到最新版:docker pull ghcr.io/oliverxuzy-ai/obsidian-in-a-vat:latest
本地开发
从本地代码运行(修改代码后重启 Claude Desktop 即可生效):
{
"mcpServers": {
"vault": {
"command": "uv",
"args": [
"run",
"--directory",
"/绝对路径/obsidian-in-a-vat",
"vault-mcp"
],
"env": {
"VAULT_LOCAL_PATH": "/Users/yourname/my-vault"
}
}
}
}
切回已发布版本:将 command 改为 "uvx",args 改为 ["obsidian-in-a-vat-mcp"]。
工具
按三层愿景分组。
📥 Capture & Read · 捕获与读取
| 工具 | Actions | 说明 |
|---|---|---|
vault_init | setup, migrate | 一键初始化:空 vault 自动创建模板结构;已有 Obsidian vault 自动扫描分类、todo 转换、批量迁移,原始文件归档到 _archive/ |
vault_read | search, get, list_captures | 搜索 vault、读取文件、按状态列出 captures |
vault_capture | save, delete | 捕获精炼洞察并自动打标签,或删除 capture |
🔗 Connect · 连接
| 工具 | Actions | 说明 |
|---|---|---|
vault_promote | promote | 将 captures 提升为结构化笔记,自动插入 wikilinks |
vault_analyze | rebuild_graph, clusters, connections, orphans | 知识图谱:构建图谱、Louvain 聚类、N 度关联查询、孤岛检测 |
vault_topic | prepare, create, update | Topic 生命周期:收集原材料(渐进式披露)、创建/更新 MOC 结构笔记 |
🪞 Reflect · 反思
| 工具 | Actions | 说明 |
|---|---|---|
vault_reflect | snapshot, drift, blindspots | 认知可视化:知识全景快照、兴趣漂移分析、盲区与桥接发现 |
自动标签提取
标签从 capture 文本中提取,使用三个来源(按优先级排序):
tags.yaml— vault 根目录的自定义标签和同义词映射- 已有笔记 — 收集已有 vault 文件 frontmatter 中的标签进行匹配
- 默认领域 — 兜底列表:
ai,llm,productivity,writing,coding,design,business,learning,health,finance,philosophy,psychology
tags.yaml 示例(放在 vault 根目录):
tags:
ai: [artificial intelligence, machine learning, ML, deep learning]
coding: [programming, software, development, code]
design: [UX, UI, user experience]
开发
# 运行所有测试
uv run pytest tests/ -v
# 本地构建镜像
docker build -t vault-mcp .
# 测试容器启动(Ctrl+C 停止)
echo '{}' | docker run -i --rm -v $(pwd)/example_vault:/vault vault-mcp
# 语法检查
python -m py_compile src/vault_mcp/server.py
# 使用 MCP Inspector 交互测试
mcp dev src/vault_mcp/server.py



