mcpField
F
FastMCP server for bidirectional sync between personal and team Obsidian vaults

FastMCP server for bidirectional sync between personal and team Obsidian vaults

本地服务
github.com/adelaidasofia文件与存储03 天前更新

关于 FastMCP server for bidirectional sync between personal and team Obsidian vaults

vault-sync-mcp 是用于同步个人 Obsidian 库与团队共享库的 FastMCP 服务,面向维护个人源库并向协作者共享内容的团队。它支持按路径、规则和文件元数据筛选同步,并在写入前默认提供 dry run 预览。

主要功能

  1. 01双向推送与拉取
  2. 02查看待处理及过期文件
  3. 03按配置规则确定同步方向
  4. 04通过 frontmatter 排除文件
  5. 05执行前默认 dry run 预览

适用场景

  1. 01将个人库中的选定笔记共享到团队库
  2. 02把团队库变更拉回个人库
  3. 03检查文件是否符合同步条件

MCP 相关

它是 FastMCP 服务,向 MCP 客户端提供同步状态、推送、拉取和范围检查工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbvault-sync-mcp.mcpb0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

vault-sync-mcp

许可证 GitHub 星标 最近一次提交 未解决的问题 PyPI 版本 PyPI 下载量 由 Mycelium AI 构建

这是一个 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
  1. 克隆:

    git clone https://github.com/adelaidasofia/vault-sync-mcp.git
    cd vault-sync-mcp
    
  2. 编辑 config.yaml,设置知识库路径和同步规则:

    personal_vault: ~/vault/
    team_vault: ~/team-vault/
    
  3. 在 Claude Code 中注册:

    claude mcp add vault-sync -s user -- python3 /path/to/vault-sync-mcp/server.py
    
  4. 重启 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):

遥测

此插件在某台机器上首次于 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。