对话历史渲染工具

一个从PostgreSQL获取对话数据并将其渲染为美观、易读终端输出的MCP服务器,专为Model Context Protocol设计。

  • by rreinold
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 rreinold/convo-history-mcp

使用说明

Convo历史MCP

将对话历史呈现为美观、人类可读的终端输出。

一个MCP服务器,直接从PostgreSQL获取对话,并将其显示为格式优雅的对话。为 模型上下文协议.

为什么选择Convo历史MCP?

你曾经盯着JSON的墙壁试图调试对话吗?是的,我们也是。

Convo History MCP直接从您的数据库中获取对话数据,并将其呈现为干净、可读的终端输出,具有适当的对齐、文本包装以及用户和助手消息之间的视觉分离。

================================================================================
                     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
================================================================================

快速开始

claude mcp add --transport stdio convo-history --scope local \
  -e 'DATABASE_URL=${DATABASE_URL}' \
  -- docker run -i --rm -e DATABASE_URL ghcr.io/rreinold/convo-history-mcp:latest

或添加到您的 ~/.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"
      }
    }
  }
}

就是这样。Claude Code现在可以访问您的对话历史记录。

环境变量

变量 描述 必填
DATABASE_URL PostgreSQL连接字符串 是

数据库模式

服务器需要以下表:

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),
    user_input JSONB,
    assistant_response JSONB
);

消息格式:

{
  "user_input": {"method": "chat", "message": "Hello!"},
  "assistant_response": {"answer": "Hi there! How can I help?"}
}

支持的消息类型:

  • chat -标准短信
  • click -用户交互(呈现为 [clicked: option_1])
  • output_list -带有表情符号和描述的选项菜单
  • recommendation -成本估算摘要

特性

特性 描述
直接数据库访问 通过psql获取对话,无中间文件
智能文本包装 保留段落,包装为60个字符
视觉对准 用户消息右对齐,助手左对齐
丰富的内容 支持选项、建议和成本
MCP本地 为模型上下文协议构建

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。