关于 FastMCP server for bidirectional sync between personal and team Obsidian vaults
vault-sync-mcp 是用于同步个人 Obsidian 库与团队共享库的 FastMCP 服务,面向维护个人源库并向协作者共享内容的团队。它支持按路径、规则和文件元数据筛选同步,并在写入前默认提供 dry run 预览。
主要功能
- 01双向推送与拉取
- 02查看待处理及过期文件
- 03按配置规则确定同步方向
- 04通过 frontmatter 排除文件
- 05执行前默认 dry run 预览
适用场景
- 01将个人库中的选定笔记共享到团队库
- 02把团队库变更拉回个人库
- 03检查文件是否符合同步条件
MCP 相关
它是 FastMCP 服务,向 MCP 客户端提供同步状态、推送、拉取和范围检查工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
vault-sync-mcp
这是一个 FastMCP 服务,用于在个人 Obsidian 知识库与共享团队知识库之间进行双向同步。它适用于这样的团队:由一人(知识库所有者)维护唯一可信来源,并通过共享文件夹(Google Drive、Dropbox 等)与协作者分享选定内容。
工具
| 工具 | 功能 |
|---|---|
vault_sync_status | 显示待处理的更改、过期文件和上次同步时间 |
vault_sync_push | 将符合条件的文件从个人知识库推送到团队知识库 |
vault_sync_pull | 将团队知识库中的更改拉取回个人知识库 |
vault_scope_check | 检查特定文件是否符合同步条件 |
推送和拉取操作默认都设置为 dry_run: true,执行前始终可以预览。
安装
打开 Claude Code,粘贴:
/plugin marketplace add adelaidasofia/vault-sync-mcp
/plugin install vault-sync-mcp@vault-sync-mcp
然后编辑 config.yaml,设置知识库路径和同步规则:
personal_vault: ~/vault/
team_vault: ~/team-vault/
重启 Claude Code。然后询问:
“显示知识库同步状态” “将更改推送到团队知识库(先试运行)”
旧版安装方式
pip install fastmcp python-frontmatter pyyaml xxhash
-
克隆:
git clone https://github.com/adelaidasofia/vault-sync-mcp.git cd vault-sync-mcp -
编辑
config.yaml,设置知识库路径和同步规则:personal_vault: ~/vault/ team_vault: ~/team-vault/ -
在 Claude Code 中注册:
claude mcp add vault-sync -s user -- python3 /path/to/vault-sync-mcp/server.py -
重启 Claude Code。然后询问:
“显示知识库同步状态” “将更改推送到团队知识库(先试运行)”
配置
所有配置都在 config.yaml 中:
personal_vault: ~/vault/
team_vault: ~/team-vault/
no_sync:
- "Journal/"
- "Personal/"
sync_rules:
- path: "Team/"
direction: bidirectional
- path: "CRM/"
direction: personal_to_team
filter:
frontmatter_field: relationship
frontmatter_values: [client, team, advisor]
同步规则方向
bidirectional— 更改双向流动personal_to_team— 个人知识库为唯一可信来源,团队知识库接收更新team_to_personal— 团队知识库为唯一可信来源,个人知识库接收更新(适用于共享文档)
阻止同步某个文件
在任意文件的 frontmatter 中添加 sync: false,即可将其排除在所有同步操作之外。
环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
VAULT_SYNC_PERSONAL | 来自 config.yaml | 个人知识库根路径 |
VAULT_SYNC_TEAM | 来自 config.yaml | 团队知识库根路径 |
备注
- 使用
os.walk(followlinks=True)而非Path.rglob(),以正确处理 macOS 符号链接(Google Drive、iCloud 快捷方式) - 推送时会自动将 Wiki 链接改写为纯文件名(
[[folder/Note]]会变为[[Note]]) - 使用 xxhash 对内容进行哈希,以快速检测更改
- 冲突解决方式:以较新的文件为准;冲突会记录日志并跳过
相关 MCP
同一作者,采用相同的架构模式(FastMCP、适用时写入前先草拟并确认、自动导出到 vault、MIT):
- slack-mcp - 多工作区 Slack
- imessage-mcp - macOS iMessage
- whatsapp-mcp - 通过 whatsmeow 使用 WhatsApp
- google-workspace-mcp - Gmail / Calendar / Drive / Docs / Sheets
- apollo-mcp - Apollo.io CRM + 序列
- substack-mcp - Substack 写作 + 分析
- luma-mcp - lu.ma 活动
- parse-mcp - markitdown / Docling / LlamaParse 路由器
- rescuetime-mcp - RescueTime 效率数据
- graph-query-mcp - vault 知识图谱查询
- graph-autotagger-mcp - 根据知识图谱提供维基链接建议
- investor-relations-mcp - 种子轮融资流程跟踪器
遥测
此插件在某台机器上首次于 Claude Code 会话中加载时,会向 myceliumai.co 发送一条匿名安装信号。
发送的内容:
- 插件名称(例如
slack-mcp) - 插件版本(例如
0.1.0)
不会发送的内容:
- 不包含用户标识符、姓名、电子邮件、令牌或 API 密钥
- 不包含文件路径、消息内容或任何工作相关信息
- 去重处理后不会存储 IP 地址
原因: 帮助维护者了解用户实际安装了哪些插件,以便将精力投入到有人使用的插件上。
选择退出: 在启动 Claude Code 前设置环境变量 MYCELIUM_NO_PING=1。此钩子将完全跳过网络请求。已发送信号的安装会在 ~/.mycelium/onboarded-<plugin> 留下一个标记文件——如果要重置状态,请将其删除。
许可证
MIT
由 Mycelium AI 构建。完整安装或团队版本请访问 diazroa.com。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。