Skip to content

Conversation

@robelkin
Copy link

@robelkin robelkin commented Feb 5, 2026

One of the things that I'm using msgVault for is a local cache of my Gmail to use with agents like Claude Code. This then allows me to operate on Gmail via their API but knowing the things that I'm going to look for in advance and avoiding gmails terrible search and non-existant mcp.

This might be different to the use case that this is actually built for which seems to be primarily archiving. So, like my other PR, I am very understanding if this functionality is outside of the scope of what you want to build here. However, whenever I want to create draft emails to a thread, I had to go to Gmail to try and look up the conversation ID and the thread ID.

So, I just built it into msgVault and into the MCP. Probably it could do with some work on the TUI side of things. Happy to go and take a look at that if you think that this is a useful feature. But my primary use case was the MCP, so I built it for that. Apologies if that's a little bit rude.

Also apologies that there's now a new table and therefore a little bit extra bloat to things.

  • Add SourceConversationID field to MessageSummary and MessageDetail models
  • Update DuckDB engine to join with conversations parquet and include thread ID
  • Update SQLite engine to join with conversations table in ListMessages, Search, and getMessageByQuery
  • Export conversations table to Parquet in build-cache command
  • Update test fixtures to include conversations data

The MCP tools (list_messages, get_message, search_messages) now return source_conversation_id which maps to Gmail's thread ID, enabling clients to group messages by conversation.

- Add SourceConversationID field to MessageSummary and MessageDetail models
- Update DuckDB engine to join with conversations parquet and include thread ID
- Update SQLite engine to join with conversations table in ListMessages,
  Search, and getMessageByQuery
- Export conversations table to Parquet in build-cache command
- Update test fixtures to include conversations data

The MCP tools (list_messages, get_message, search_messages) now return
source_conversation_id which maps to Gmail's thread ID, enabling clients
to group messages by conversation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants