Skip to content

Remove built-in chat command in favor of MCP server#18

Merged
wesm merged 1 commit into
mainfrom
underbaked-chat
Feb 2, 2026
Merged

Remove built-in chat command in favor of MCP server#18
wesm merged 1 commit into
mainfrom
underbaked-chat

Conversation

@wesm

@wesm wesm commented Feb 2, 2026

Copy link
Copy Markdown
Member

Why

The built-in msgvault chat command implemented RAG (retrieval-augmented generation) over a local Ollama instance. While it worked, it was underbaked and took on responsibilities that don't belong in an archival tool: LLM client management, prompt engineering, streaming output, and retrieval orchestration.

Meanwhile, the MCP server (msgvault mcp) already exposes the full archive — search, aggregates, message detail, metadata — as a standard protocol that any AI client can use. This is a better architecture:

  • Claude Desktop connects directly via MCP
  • OpenWebUI and other local LLM frontends support MCP tool use, so Ollama/llama.cpp users get the same integration without msgvault owning the LLM layer
  • Any future MCP-capable agent gets archive access for free

Maintaining a bespoke chat implementation alongside MCP means duplicated effort for a worse result. Removing it lets us focus on making the MCP server excellent.

What changed

  • Deleted internal/chat/ package (RAG session, Ollama client, prompts, tests)
  • Deleted cmd/msgvault/cmd/chat.go CLI command
  • Removed ChatConfig from config and [chat] section defaults
  • Removed github.com/ollama/ollama dependency (~914 lines removed)
  • Updated README and quickstart docs

Test plan

  • make build passes
  • make test passes
  • make lint passes
  • msgvault --help no longer shows chat command

🤖 Generated with Claude Code

The built-in chat command (RAG over Ollama) took on too much
responsibility: LLM integration, prompt engineering, streaming,
and retrieval logic. The MCP server already exposes the full
search/query/read interface, so any MCP-capable client (Claude
Desktop, OpenWebUI, etc.) can do this better.

Removes:
- internal/chat/ package (chat.go, llm.go, prompt.go, tests)
- cmd chat.go CLI command
- ChatConfig from config
- ollama dependency from go.mod

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@wesm wesm merged commit 3d5b74b into main Feb 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant