FastMCP server for bidirectional sync between personal and team Obsidian vaults
FastMCP server for bidirectional sync between personal and team Obsidian vaults.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
https://github.com/adelaidasofia/vault-sync-mcp/releases/download/v0.1.0/vault-sync-mcp.mcpbVariables d'environnement
PERSONAL_VAULT_PATHobligatoire Absolute path to your personal Obsidian vault rootTEAM_VAULT_PATHobligatoire Absolute path to your team Obsidian vault root
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
vault-sync-mcp
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.).
Tools
| 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.
Install
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)"
Legacy install
pip install fastmcp python-frontmatter pyyaml xxhash
- Clone:
git clone https://github.com/adelaidasofia/vault-sync-mcp.git cd vault-sync-mcp - Edit
config.yamlto set your vault paths and sync rules:personal_vault: ~/vault/ team_vault: ~/team-vault/ - Register with Claude Code:
claude mcp add vault-sync -s user -- python3 /path/to/vault-sync-mcp/server.py Restart Claude Code. Then ask:
"Show me vault sync status" "Push changes to team vault (dry run first)"
Configuration
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]
Sync rule directions
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)
Blocking sync on a file
Add sync: false to any file's frontmatter to exclude it from all sync operations.
Environment variables
| Variable | Default | Description |
|---|---|---|
VAULT_SYNC_PERSONAL | from config.yaml | Personal vault root path |
VAULT_SYNC_TEAM | from config.yaml | Team vault root path |
Notes
- Uses
os.walk(followlinks=True)instead ofPath.rglob()to correctly handle macOS symlinks (Google Drive, iCloud shortcuts) - Wikilinks are automatically rewritten to bare filenames during push (
[[folder/Note]]becomes[[Note]]) - Content hashing via xxhash for fast change detection
- Conflict resolution: newer file wins; conflicts are logged and skipped
Related MCPs
Same author, same architecture pattern (FastMCP, draft+confirm on writes where applicable, vault auto-export, MIT):
- slack-mcp - multi-workspace Slack
- imessage-mcp - macOS iMessage
- whatsapp-mcp - WhatsApp via whatsmeow
- google-workspace-mcp - Gmail / Calendar / Drive / Docs / Sheets
- apollo-mcp - Apollo.io CRM + sequences
- substack-mcp - Substack writing + analytics
- luma-mcp - lu.ma events
- parse-mcp - markitdown / Docling / LlamaParse router
- rescuetime-mcp - RescueTime productivity data
- graph-query-mcp - vault knowledge graph queries
- graph-autotagger-mcp - wikilink suggestions from the graph
- investor-relations-mcp - seed-raise pipeline tracker
Telemetry
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:
- Plugin name (e.g.
slack-mcp) - Plugin version (e.g.
0.1.0)
What is NOT sent:
- No user identifiers, names, emails, tokens, or API keys
- No file paths, message content, or anything from your work
- No IP address is stored after dedup processing
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.
License
MIT
Built by Mycelium AI. Full install or team version at diazroa.com.
Questions fréquentes
Qu'est-ce que FastMCP server for bidirectional sync between personal and team Obsidian vaults ?
FastMCP server for bidirectional sync between personal and team Obsidian vaults.
Comment installer FastMCP server for bidirectional sync between personal and team Obsidian vaults ?
Suivez les étapes d'installation de sa documentation, affichée sur cette page et dans son dépôt.
Faut-il une clé API pour FastMCP server for bidirectional sync between personal and team Obsidian vaults ?
Oui. Il attend PERSONAL_VAULT_PATH, TEAM_VAULT_PATH, à renseigner dans sa configuration.
FastMCP server for bidirectional sync between personal and team Obsidian vaults est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient FastMCP server for bidirectional sync between personal and team Obsidian vaults ?
Il est publié par adelaidasofia. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.