DeadVault
Local-first version control with AI attribution watermarking and MCP server support
Ask AI about DeadVault
Powered by Claude · Grounded in docs
I know everything about DeadVault. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
DeadVault
Snapshot-based version history for any folder. No Git required on the watched folder.
Watches project folders in the background, creates snapshots on file change, and stores them in a hidden internal Git repo. Includes an MCP server so AI tools can create versions, query diffs, and roll back with full attribution metadata.
Components
| Component | What it does |
|---|---|
DeadVault.UI | Desktop app. Add projects, browse timeline, restore versions. |
DeadVault.Agent | Background watcher. Auto-snapshots on file change. |
DeadVault.McpServer | MCP stdio server. Exposes tools to AI clients. |
DeadVault.Core | Snapshot, diff, restore, attribution logic. |
DeadVault.Store | JSON persistence layer. |
Features
- Auto-snapshot on file change (configurable debounce)
- Manual snapshot with version bump (patch / minor / major / dev / custom)
- One-click restore with automatic pre-restore backup
- Diff view per commit with per-file line counts
- Attribution tracking: human vs AI per snapshot and per file
dvwm1-watermark written to.deadvault.attribution.jsonper changed text file- Query snapshots by author kind (
human,ai,mixed) - MCP server with full tool surface for AI clients
Requirements
- Windows
- .NET 9 SDK
Build and run
# build everything
.\scripts\build.ps1
# run the desktop UI
dotnet run --project src\DeadVault.UI\DeadVault.UI.csproj
# run the background watcher separately
dotnet run --project src\DeadVault.Agent\DeadVault.Agent.csproj
# run the MCP server
dotnet run --project src\DeadVault.McpServer\DeadVault.McpServer.csproj
Quick start
- Open DeadVault, click Add Project, pick a folder.
- Edit files in the folder. DeadVault snapshots automatically.
- Click Create Version to tag a snapshot manually.
- Open Timeline to diff, restore, or export.
MCP setup (Claude Desktop)
Add to claude_desktop_config.json:
{
"mcpServers": {
"deadvault": {
"command": "C:\\path\\to\\DeadVault\\artifacts\\publish\\DeadVault.McpServer\\DeadVault.McpServer.exe"
}
}
}
Or using dotnet run (slower startup, no build required):
{
"mcpServers": {
"deadvault": {
"command": "dotnet",
"args": [
"run",
"--project",
"C:\\path\\to\\DeadVault\\src\\DeadVault.McpServer\\DeadVault.McpServer.csproj"
]
}
}
}
MCP tools
| Tool | Read-only | Description |
|---|---|---|
list_projects | yes | List all registered projects |
register_project | no | Register a folder and start watching it |
list_versions | yes | List snapshots for a project |
get_diff | yes | Get full diff and attribution for a commit |
query_changes | yes | Filter snapshots by author kind |
rollback | no | Restore project to a prior snapshot |
create_version | no | Create a tagged snapshot with bump kind and attribution |
Attribution metadata on create_version
authorKind "ai" | "human" | "mixed"
model model name string (e.g. "claude-opus-4-5")
modelFamily "claude" | "gpt" | "gemini" | "cursor" | etc.
clientName MCP client identifier
DeadVault writes these into the Git commit trailer and the attribution manifest. Query later with query_changes(author: "ai").
Attribution
Snapshots default to human when created from the UI. MCP clients should pass explicit author metadata. Changed text files get a SHA256 watermark stored in .deadvault.attribution.json.
Publish a release
.\scripts\publish-release.ps1
Outputs to artifacts\publish\DeadVault.UI, DeadVault.Agent, and DeadVault.McpServer.
Verify
dotnet build DeadVault.sln -m:1 -p:BuildInParallel=false
dotnet test DeadVault.sln -m:1 -p:BuildInParallel=false
Roadmap
v1.1
- VS Code extension with timeline sidebar
- CLI:
dvault snapshot,dvault diff,dvault restore - Cursor integration
v1.2
- Per-line human/AI attribution in diff view
v1.3
- Linux and macOS support
- Web dashboard
v2.0
- Multi-user shared server
- GitHub/GitLab sync
License
MIT. See LICENSE.
