Open source. Runs on your hardware.

Keep and search
your message history.

Save email, chats, meetings, calendars, and contacts on your own computer or server. Search across accounts, look up a person's history, and work from a browser, terminal, or AI assistant.

People and communications flow into one msgvault archive, accessible through the TUI, Web UI, and MCP for AI assistants.
macOS / Linux curl -fsSL https://msgvault.io/install.sh | bash
Homebrew brew install msgvault
Windows irm https://msgvault.io/install.ps1 | iex

Installers fetch the latest release and verify its SHA-256 checksum. Also on conda-forge, or build from source.

See what changed in 0.21.0 and read the upgrade notes.

01 / Record

Bring your accounts together.

Bring history from several providers into one searchable archive. Sync connected accounts or import local exports. Keep original message data and downloaded attachments alongside the records you browse.

Mail, chat, meetings, calendar, contacts, and offline imports converging into one msgvault archive of SQLite, attachments, and Parquet
  1. MailGmail, IMAP, and Microsoft 365 sync; MBOX, Maildir, Apple Mail, PST, and EML imports.
  2. ChatSlack, Teams, Discord, and chats available through Beeper Desktop; WhatsApp, iMessage, Google Voice, Messenger, and SMS imports.
  3. MeetingsGranola, Circleback, Notion AI Meeting Notes, and Muesli in the same searchable record.
  4. CalendarGoogle Calendar events, organizers, and attendees, read-only.
  5. ContactsImport contacts from a CardDAV address book and choose which saved profiles to sync back.

02 / People

Keep contact details and message history together.

Connect the addresses, handles, and phone numbers that belong to one person. Keep information found in the archive separate from the profile details you choose to save.

Identity evidence

Link addresses to the same person.

msgvault groups identities using explicit links in the archive. Matching display names alone do not merge two people.

Saved profiles

Save names, notes, and contact details.

Save a profile to keep names, notes, and contact details when linked identities change. Review profile history, merge duplicates, and reverse supported merges.

Profile history

See where a profile fact came from.

Maintain organizations, employment, relationships, and custom fields. Inspect the evidence behind a fact and pin a correction so automated updates keep your choice.

Activity

See when you were last in contact.

See when you exchanged messages or shared events and meetings. Activity calendars and relationship scores help you find frequent contacts and people you have not heard from recently.

03 / Browser

Browse your archive.

Use the grouped sidebar to browse messages, files, and people. Press / to search from any page. Save the current view from Everything or Files, or share its URL with someone who has access to your archive. Use Back and Forward to return to earlier views.

msgvault Relationships workspace showing ranked people, a relationship activity calendar, and a message timeline over public research data
The Relationships workspace over the public Enron research corpus. Select the image to inspect it at full size.

Directory and Operations

The Directory workspace

Maintain profiles, review identities and merges, publish contacts through CardDAV, and catch up with a saved conversation brief in Directory. Check syncs and background jobs in Operations. Update provider credentials in Settings, which shows changes that take effect after a restart. Explore the workspaces.

04 / Search

Search messages and attachments.

Keyword search reads your archive offline. Optional search by meaning sends message and query text to the embedding service you configure, which can run locally. Document, image, and profile processing have separate settings and consent steps.

The msgvault archive feeding an FTS5 keyword index, vector embeddings, and Docbank document extraction, fused by hybrid retrieval for the CLI, Web UI, TUI, and MCP agents

Hybrid search

Find messages by words or meaning.

Search with familiar filters such as sender, subject, and date. Use semantic search to find related meanings, or hybrid search to combine words and meaning. Ranking details explain each result.

Search models

Choose where search models run.

An embedding service turns text into numbers used to compare meaning. Choose a supported local or hosted service and select which accounts to index.

Attachments

Search inside attachments.

Find text inside supported attachments or search images by their content. The embedded Docbank engine manages this processing. Review provider access and approve uploads before sending attachment content.

Agents

Connect an assistant to your archive.

An MCP server exposes search, people, files, and analytics tools to Claude Desktop and other agents; bundled agent skills install into Claude Code and Codex. Allowing an agent to edit profiles requires explicit flags.

05 / Interfaces

Use the browser, terminal, or an assistant.

One background service, the daemon, coordinates archive access and scheduled work. Use the browser, terminal, scripts, or an assistant to work with the same archive.

  • CLIScriptable sync, search, and repair.
  • WebSearch, browse, and manage contacts.
  • TUIExplore message counts and storage with the keyboard.
  • HTTPAn authenticated, versioned API.
  • MCPArchive tools for AI assistants.
  • SkillsWorkflows for Claude Code and Codex.
CLI, Web UI, TUI, HTTP API, MCP server, and agent skills sharing one msgvault archive

06 / Deletion and backups

Review mail before deleting provider copies.

Back up your archive and check the messages you intend to remove before deleting from a provider. Review the selection, then run a separate command to move mail to Trash or permanently delete it.

Verify

Check the archive before deleting.

For Gmail, verification compares message counts and checks a sample of stored messages. It does not prove every message or attachment was captured. Review the items you plan to delete and keep a backup.

Stage

Review the messages you selected.

Create a deletion manifest: a saved list of messages to review. You can create it from the CLI, Web UI, TUI, or MCP. Staging does not remove provider messages; execution is a separate CLI command.

Execute

Delete provider copies.

Execution is a separate CLI step with explicit client consent. Gmail and IMAP default to moving messages to Trash; Microsoft Graph mail uses Deleted Items. Permanent deletion requires explicit opt-in. Archived messages and attachments remain available; msgvault records that they were deleted from their source.

Restore

Back up your archive.

Back up SQLite archives with snapshots of the database and attachments. New snapshots leave earlier ones intact, and you can verify them before restoring. Restoring does not require the original providers. PostgreSQL databases need separate backups.

07 / Your mail tools

Keep a record beyond the provider.

Use msgvault alongside your mail client and provider exports. Keep searching your saved history after messages leave the provider.

Mail client

Handle day-to-day mail.

Use a mail client to read, compose, and send mail. msgvault can prepare managed IMAP drafts and Gmail reply drafts for review there; it does not send mail.

Export archive

Import a provider's export.

An export gives you a snapshot in a provider's format. Import supported exports into msgvault to browse and search them alongside other sources.

msgvault

Search your saved history.

Keep captured history available after it leaves the provider. Sync supported accounts, connect identities, search across sources, and use your own tools.

08 / Start

Set up your first archive.

Read the guide for an overview, or go straight to setup. The docs cover commands, configuration, and how msgvault stores your data.

Expanded documentation capture