对话可视化工具

一个轻量级的MCP服务器,用于将Claude Code对话压缩成Navigate Chat兼容的可视化格式。

  • by Asar007
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Asar007/claude-code-compact-mcp

使用说明

克劳德代码压缩MCP

MCP(模型上下文协议)服务器,有助于将Claude Code对话压缩为与Navigate Chat兼容的可视化。

概述

此轻量级MCP服务器提供以下实用工具:

  • 解析 来自Claude Code CLI、Claude Desktop或Claude Web的对话
  • 出口 将JSON可视化为本地文件
  • 推动 导航聊天的可视化API

支持的格式:

  • 克劳德代码CLI(.jsonl 成绩单)
  • 克劳德桌面/网络(复制/粘贴 Human:/Assistant: 格式)

关键设计: Claude Code直接使用包含的 skill.md 提示。不需要外部LLM API调用。

安装

通过npm(推荐)

npm install -g claude-code-compact-mcp

或者直接使用npx运行:

npx claude-code-compact-mcp

来源

git clone https://github.com/Asar007/claude-code-compact-mcp.git
cd claude-code-compact-mcp
npm install
npm run build

快速开始

1.添加到克劳德桌面

将此添加到您的Claude Desktop配置中:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "claude-code-compact": {
      "command": "npx",
      "args": ["-y", "claude-code-compact-mcp"]
    }
  }
}

1b。添加到Claude Code CLI

将此添加到您的Claude Code MCP设置中:

  • macOS/Linux: ~/.claude.json
  • 窗户: %USERPROFILE%\.claude.json
{
  "mcpServers": {
    "claude-code-compact": {
      "command": "npx",
      "args": ["-y", "claude-code-compact-mcp"]
    }
  }
}

2.(可选)配置导航聊天API

仅当您想将可视化推送到Navigate Chat时才需要:

{
  "mcpServers": {
    "claude-code-compact": {
      "command": "npx",
      "args": ["claude-code-compact-mcp"],
      "env": {
        "NAVIGATE_CHAT_API_URL": "http://localhost:8000",
        "NAVIGATE_CHAT_EMAIL": "your-email",
        "NAVIGATE_CHAT_PASSWORD": "your-password"
      }
    }
  }
}

3.使用它

在克劳德桌面中:

/compact

或

/compact type:sequence

Claude将自动阅读整个对话并创建可视化。

在Claude Code CLI中:

compact this conversation

可视化类型:

  • mindmap (默认)-分层主题细分
  • sequence -工艺流程图
  • knowledge_graph -实体关系
  • timeline -按时间顺序排列的事件

该工具自动检测格式并提取关键信息。可视化效果保存到 ~/.claude-code-compact/visualizations/.

工具

工具 说明
compact_conversation 解析JSONL转录→ 提取主题、关键点、实体、动作
export_json 将可视化JSON保存到 ~/.claude-code-compact/visualizations/
push_to_navigate 推送可视化导航聊天API

紧凑型通信

从任何克劳德对话中提取结构化信息。

// Input - JSONL file (Claude Code CLI)
{ source: "path/to/transcript.jsonl" }

// Input - Plain text (Claude Desktop/Web)
{
  source: "Human: How do I create a React component?\n\nAssistant: Here's how to create a React component...",
  isFilePath: false
}

// Output
{
  topic: "Main discussion topic",
  keyPoints: ["point1", "point2"],
  entities: ["file.ts", "ComponentName"],
  actions: ["created X", "fixed Y"],
  messageCount: 42
}

export_json

将可视化保存到本地文件。

// Input
{
  visualization: { /* mindmap/sequence/graph/timeline JSON */ },
  type: "mindmap"
}

// Output
{
  filePath: "/home/user/.claude-code-compact/visualizations/mindmap_topic_2024-01-15.json",
  filename: "mindmap_topic_2024-01-15.json"
}

push_tonavigation

将可视化推送到导航聊天。

// Input
{ visualization: { /* JSON */ } }

// Output
{
  threadId: "abc-123",
  threadUrl: "http://navigatechat.com/chat/abc-123",
  success: true
}

可视化类型

这 skill.md 文件包含生成以下内容的完整说明:

思维导图

带根的分层主题探索→ 分类→ 叶子。

序列图

显示参与者之间互动的流程。

知识图谱

实体关系的三级树结构。

时间线

带有日期和描述的按时间顺序排列的事件。

项目结构

claude-code-compact-mcp/
├── src/
│   ├── index.ts                 # Entry point
│   ├── server.ts                # MCP server setup
│   ├── tools/
│   │   ├── compact-conversation.ts
│   │   ├── export-json.ts
│   │   └── push-to-navigate.ts
│   ├── services/
│   │   ├── conversation-extractor.ts
│   │   ├── file-service.ts
│   │   └── navigate-api-client.ts
│   ├── schemas/                 # Zod validation
│   └── types/
├── skill.md                     # LLM prompt for generating visualizations
├── package.json
└── tsconfig.json

发展

# Install dependencies
npm install

# Development mode (with hot reload)
npm run dev

# Build for production
npm run build

# Type check
npm run typecheck

运作原理

  1. 用户要求Claude Code“压缩此对话”
  2. 克劳德代码读取 skill.md 了解JSON格式
  3. Claude Code分析对话并生成适当的可视化JSON
  4. 克劳德代码调用 export_json 在本地保存
  5. 可选呼叫 push_to_navigate 上传到导航聊天
┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   Claude Code   │────▶│   skill.md      │────▶│  Generate JSON  │
│   (User asks)   │     │   (Instructions)│     │  (No API call)  │
└─────────────────┘     └─────────────────┘     └────────┬────────┘
                                                         │
                        ┌────────────────────────────────┼────────────────────────────────┐
                        ▼                                ▼                                ▼
               ┌─────────────────┐              ┌─────────────────┐              ┌─────────────────┐
               │  export_json    │              │ push_to_navigate│              │  Return to user │
               │  (Save file)    │              │  (Upload API)   │              │  (Display JSON) │
               └─────────────────┘              └─────────────────┘              └─────────────────┘

需求

  • Node.js 18+
  • 支持MCP的Claude代码

许可证

麻省理工学院

相关