Vault Sync Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Vault Sync Mcp (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
Aggregate score unchanged between these scans.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- mycelium-badges:start -->
<p> <a href="https://github.com/adelaidasofia/vault-sync-mcp/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/adelaidasofia/vault-sync-mcp?color=blue"></a> <a href="https://github.com/adelaidasofia/vault-sync-mcp/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/adelaidasofia/vault-sync-mcp?color=eab308"></a> <a href="https://github.com/adelaidasofia/vault-sync-mcp/commits/main"><img alt="Last commit" src="https://img.shields.io/github/last-commit/adelaidasofia/vault-sync-mcp"></a> <a href="https://github.com/adelaidasofia/vault-sync-mcp/issues"><img alt="Open issues" src="https://img.shields.io/github/issues/adelaidasofia/vault-sync-mcp"></a> <a href="https://pypi.org/project/adelaidasofia-vault-sync-mcp/"><img alt="PyPI version" src="https://img.shields.io/pypi/v/adelaidasofia-vault-sync-mcp?color=blue&label=pypi"></a> <a href="https://pypi.org/project/adelaidasofia-vault-sync-mcp/"><img alt="PyPI downloads" src="https://img.shields.io/pypi/dm/adelaidasofia-vault-sync-mcp?color=blue&label=downloads"></a> <a href="https://myceliumai.co"><img alt="Built by Mycelium AI" src="https://img.shields.io/badge/built_by-Mycelium_AI-15B89A"></a> </p>
<!-- mycelium-badges:end -->
A FastMCP server for bidirectional sync between a personal Obsidian vault and a shared team vault. Designed for teams where one person (the vault owner) maintains the source of truth and shares selected content with collaborators via a shared folder (Google Drive, Dropbox, etc.).
| Tool | What it does |
|---|---|
vault_sync_status | Show pending changes, stale files, and last sync time |
vault_sync_push | Push eligible files from personal vault to team vault |
vault_sync_pull | Pull changes from team vault back to personal vault |
vault_scope_check | Check if a specific file is eligible for sync |
Both push and pull default to dry_run: true — you always preview before executing.
Open Claude Code, paste:
/plugin marketplace add adelaidasofia/vault-sync-mcp /plugin install vault-sync-mcp@vault-sync-mcp
Then edit config.yaml to set your vault paths and sync rules:
personal_vault: ~/vault/
team_vault: ~/team-vault/Restart Claude Code. Then ask:
"Show me vault sync status" "Push changes to team vault (dry run first)"
<details><summary>Legacy install</summary>
pip install fastmcp python-frontmatter pyyaml xxhash git clone https://github.com/adelaidasofia/vault-sync-mcp.git
cd vault-sync-mcpconfig.yaml to set your vault paths and sync rules: personal_vault: ~/vault/
team_vault: ~/team-vault/ claude mcp add vault-sync -s user -- python3 /path/to/vault-sync-mcp/server.py"Show me vault sync status" "Push changes to team vault (dry run first)"
</details>
Everything lives in 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 — changes flow both wayspersonal_to_team — personal is source of truth, team gets updatesteam_to_personal — team is source of truth, personal gets updates (useful for shared docs)Add sync: false to any file's frontmatter to exclude it from all sync operations.
| Variable | Default | Description |
|---|---|---|
VAULT_SYNC_PERSONAL | from config.yaml | Personal vault root path |
VAULT_SYNC_TEAM | from config.yaml | Team vault root path |
os.walk(followlinks=True) instead of Path.rglob() to correctly handle macOS symlinks (Google Drive, iCloud shortcuts)[[folder/Note]] becomes [[Note]])Same author, same architecture pattern (FastMCP, draft+confirm on writes where applicable, vault auto-export, MIT):
This plugin sends a single anonymous install signal to myceliumai.co the first time it loads in a Claude Code session on a given machine.
What is sent:
slack-mcp)0.1.0)What is NOT sent:
Why: Helps the maintainer know which plugins people actually install, so attention goes to the ones that get used.
Opt out: Set the environment variable MYCELIUM_NO_PING=1 before launching Claude Code. The hook will skip the network call entirely. Already-pinged installs leave a sentinel at ~/.mycelium/onboarded-<plugin> — delete it if you want to reset state.
MIT
Built by Mycelium AI. Full install or team version at diazroa.com.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.