Back to Directory/Developer Tools

io.github.Advertflair/threadmap-mcp

Conversation drift visualization for Claude. Color-coded inflection points and one-click forking.

Developer ToolsJavaScriptv1.0.0

πŸ—ΊοΈ ThreadMap MCP for Claude

Conversation drift visualization and forking for Claude.

Stop losing your original intent. See exactly where your conversation drifted. Fork from any point and pick up with clean context.


See it in action

Color dots on every message β€” live drift tracking:

ThreadMap drift dots demo

Timeline panel with fork buttons at every inflection point:

ThreadMap timeline panel


Two ways to use ThreadMap

MCP ServerChrome Extension
Works inClaude Code (terminal)claude.ai (browser)
Installclaude mcp add threadmap npx threadmap-mcpLoad unpacked from chrome-extension/ folder
What you get7 tools β€” track, timeline, fork, branchColor dots on every message, timeline panel, one-click fork
Best forDevelopers building with Claude CodeAnyone using claude.ai daily

Both are in this repo. Use one or both.


Chrome Extension β€” Visual dots in claude.ai

The Chrome extension injects ThreadMap directly into the claude.ai interface. No config. Just install and open Claude.

Install (2 minutes)

1. Clone or download this repo
2. Open Chrome β†’ chrome://extensions
3. Enable Developer mode (top right toggle)
4. Click Load unpacked β†’ select the chrome-extension folder
5. Open any Claude conversation β€” ThreadMap activates automatically

What you see

  • Color dot next to every message showing drift % from your original intent
  • Sticky bar at the top with live drift status and message count
  • β†Ί rescan β€” loads all messages from long previous conversations
  • timeline β€” full conversation map, click any row to jump to that message
  • β‘‚ fork β€” opens a new Claude chat with full context pre-loaded in the input

How forking works

  1. Click β‘‚ fork in the timeline or next to any message bubble
  2. A new claude.ai tab opens automatically
  3. The full context (origin intent + all messages up to that point) is pasted into the input
  4. Review and hit Send β€” Claude picks up from the clean version

Chrome extension files

chrome-extension/
β”œβ”€β”€ manifest.json     β€” Extension config (Manifest v3)
β”œβ”€β”€ content.js        β€” Core drift engine + DOM injection
β”œβ”€β”€ threadmap.css     β€” All injected styles
β”œβ”€β”€ popup.html        β€” Extension popup with color legend
β”œβ”€β”€ icon16.png        β€” Icons
β”œβ”€β”€ icon48.png
└── icon128.png

Heads up: The extension uses Developer mode (load unpacked). A Chrome Web Store version is on the roadmap.


MCP Server β€” Claude Code integration

The MCP server adds 7 tools to Claude Code for programmatic drift tracking.

Install

claude mcp add threadmap npx threadmap-mcp

Or manually add to ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "threadmap": {
      "command": "npx",
      "args": ["threadmap-mcp"]
    }
  }
}

Quick start

threadmap_track(sessionId="myproject", role="user", content="build me a login system with JWT auth")
β†’ πŸ”΅ Blue β€” Drift: 0% β€” Origin intent set

threadmap_track(sessionId="myproject", role="user", content="the refresh token keeps expiring after 30 seconds")
β†’ 🟠 Orange β€” Drift: 63% β€” ⚑ INFLECTION POINT detected

threadmap_timeline(sessionId="myproject")
β†’ Full color-coded map of all messages with fork instructions

threadmap_fork(sessionId="myproject", messageIndex=6, branchName="jwt-debug")
β†’ 🌿 Branch created β€” clean context from messages 1–7

All 7 tools

ToolWhat it does
threadmap_trackTrack a message, get drift score + color
threadmap_timelineFull color-coded conversation map
threadmap_forkFork from any message index
threadmap_branch_contextClean context packet for any branch
threadmap_statusQuick current drift check
threadmap_resetArchive thread, start fresh
threadmap_legendShow color reference guide

Color system

ColorDriftMeaning
πŸ”΅ Blue0–15%On track β€” core intent
🟒 Green16–35%Productive expansion
🟑 Yellow36–55%Adjacent drift
🟠 Orange56–72%Inflection point β€” meaningful pivot
πŸ”΄ Red73–88%Full context break
🟣 Purple89–95%Meta β€” talking about the conversation
βšͺ White96–100%Resolution

Orange and Red = fork candidates. The conversation has left your original intent behind.


Real-world use cases

Claude Code β€” architecture integrity Track every message while building. Orange = scope creep. Fork before the drift gets worse. Architecture decisions from the first 10 messages stay clean.

Long previous conversations Click β†Ί rescan in the Chrome extension. ThreadMap scrolls to the top, loads all messages, scans every one, then returns you to the bottom β€” all dots appear.

Team handoffs Use threadmap_branch_context to extract a clean summary of what was decided. Paste it into a new session β€” no scrolling through 200 messages.


Why open source?

Non-linear conversation navigation is the missing primitive for AI-native work. Right now Claude conversations are books with no table of contents, no chapters, no bookmarks.

ThreadMap is the table of contents. If this becomes the standard, it travels across Claude, GPT, Gemini, anything. Nobody owns it. Everybody benefits.


Roadmap

  • Local embedding model (MiniLM) for richer semantic scoring
  • Chrome extension on Chrome Web Store (no developer mode required)
  • Cross-session persistence (SQLite mode)
  • Visual timeline export (SVG/HTML)
  • GPT / Gemini compatibility

Contributing

MIT licensed. See CONTRIBUTING.md.

git clone https://github.com/Advertflair/threadmap-mcp
cd threadmap-mcp
npm install
npm run build

PRs welcome especially for: better drift scoring, Chrome extension improvements, and other AI platform support.


License

MIT β€” see LICENSE


Built by Advertflair. Open source. Ship it.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y threadmap-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-advertflair-threadmap-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "threadmap-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

threadmap-mcpnpm

Compatible MCP Clients

io.github.Advertflair/threadmap-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More