vault-sync-mcp
Provides bidirectional sync between a personal Obsidian vault and a shared team vault, with tools for pushing, pulling, and checking sync status.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vault-sync-mcpShow vault sync status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Show pending changes, stale files, and last sync time |
| Push eligible files from personal vault to team vault |
| Pull changes from team vault back to personal vault |
| Check if a specific file is eligible for sync |
Both push and pull default to dry_run: true — you always preview before executing.
Related MCP server: evc-team-relay-mcp
Install
Open Claude Code, paste:
/plugin marketplace add adelaidasofia/vault-sync-mcp
/plugin install vault-sync-mcp@vault-sync-mcpThen 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)"
pip install fastmcp python-frontmatter pyyaml xxhashClone:
git clone https://github.com/adelaidasofia/vault-sync-mcp.git cd vault-sync-mcpEdit
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.pyRestart 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 |
| from config.yaml | Personal vault root path |
| 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.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-quality-maintenanceEnables Claude to read, write, search, and manage Obsidian vault notes with Git-backed sync support for multi-device access and extensible AI workflows.Last updated2,001
- AlicenseAqualityAmaintenanceRead, search, and write Obsidian vault notes via Team Relay collaborative server. Supports shared folders, real-time sync, and AI agent access.Last updated83MIT
- Alicense-qualityAmaintenanceSyncs Obsidian notes into a temporal knowledge graph and exposes 23 MCP tools for AI assistants to read, search, and write to your vault, enabling persistent memory across conversations.Last updated60MIT
- Flicense-qualityBmaintenanceEnables secure synchronization of ChatGPT, Claude, and Obsidian via Supabase as the source of truth, with OAuth protection and proposal-based AI changes.Last updated
Related MCP Connectors
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Search your Obsidian vault to quickly find notes by title or keyword, summarize related content, a…
The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adelaidasofia/vault-sync-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server