MCP for LLM-driven reviews of past user conversations
Convo History MCP
Render conversation history as beautiful, human-readable terminal output.
An MCP server that fetches conversations directly from PostgreSQL and displays them as elegantly formatted dialogues. Built for the Model Context Protocol.
Why Convo History MCP?
Ever stared at walls of JSON trying to debug a conversation? Yeah, us too.
Convo History MCP fetches conversation data straight from your database and renders it as clean, readable terminal output with proper alignment, text wrapping, and visual separation between user and assistant messages.
================================================================================
CONVERSATION: 26b2889f-1c8b-446e-ad85-917b378cfd80
================================================================================
USER:
------------------------------------------------------------
What's the weather like in San Francisco?
--------------------------------------------------------------------------------
ASSISTANT:
--------------------------------------------------------------------------------
Based on current conditions, San Francisco is experiencing mild
temperatures around 65°F with partly cloudy skies. Perfect weather
for a walk along the Embarcadero!
================================================================================
END OF CONVERSATION
================================================================================
Quick Start
Add to your ~/.claude.json:
{
"mcpServers": {
"convo-history": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "DATABASE_URL",
"ghcr.io/rreinold/convo-history-mcp:latest"
],
"env": {
"DATABASE_URL": "postgres://user:pass@host:5432/dbname"
}
}
}
}
That's it. Claude Code will now have access to your conversation history.
Environment Variables
| Variable | Description | Required |
|----------|-------------|----------|
| DATABASE_URL | PostgreSQL connection string | Yes |
Database Schema
The server expects the following tables:
CREATE TABLE conversations (
id UUID PRIMARY KEY,
chat_session_id VARCHAR UNIQUE,
created_at TIMESTAMP
);
CREATE TABLE conversation_messages (
id UUID PRIMARY KEY,
conversation_id UUID REFERENCES conversations(id),
mia_input JSONB,
mia_response JSONB
);
Message Format:
{
"mia_input": {"method": "chat", "message": "Hello!"},
"mia_response": {"answer": "Hi there! How can I help?"}
}
Supported Message Types:
chat- Standard text messagesclick- User interactions (rendered as[clicked: option_1])output_list- Option menus with emojis and descriptionsrecommendation- Summaries with cost estimates
Features
| Feature | Description | |---------|-------------| | Direct DB Access | Fetches conversations via psql, no intermediate files | | Smart Text Wrapping | Preserves paragraphs, wraps to 60 chars | | Visual Alignment | User messages right-aligned, assistant left-aligned | | Rich Content | Supports options, recommendations, costs | | MCP Native | Built for Model Context Protocol |
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.