Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Chatback

FreeNot checked

A local-only MCP server for Cursor that indexes agent transcripts and surfaces unfinished or on-hold chats, providing tools to search, review, and pick up where

GitHubEmbed

About

A local-only MCP server for Cursor that indexes agent transcripts and surfaces unfinished or on-hold chats, providing tools to search, review, and pick up where you left off.

README

Find unfinished and on-hold Cursor agent chats — then pick them up again.

Local-only MCP server for the Cursor community. Indexes your agent transcripts under ~/.cursor/projects, scores open loops (aborted, errored, interrupted, open todos, hold language), and exposes tools so the agent can show you a Chatback inbox.

No cloud. No upload. MIT licensed.

Why this exists

Generic chat search helps you find old threads. chatback helps you finish them — ranked by what looks unfinished or explicitly on hold.

Install (30 seconds)

Cursor Marketplace / plugin

Once listed, install Chatback from Marketplace. Until then, add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "chatback": {
      "command": "npx",
      "args": ["-y", "github:princemuichkine/chatback"]
    }
  }
}

Restart Cursor (or Developer: Reload Window).

Local development

git clone https://github.com/princemuichkine/chatback.git
cd chatback
npm install && npm run build

Point MCP at your build:

{
  "mcpServers": {
    "chatback": {
      "command": "node",
      "args": ["/absolute/path/to/chatback/dist/index.js"]
    }
  }
}

Or symlink as a Cursor plugin:

ln -s "$(pwd)" ~/.cursor/plugins/local/chatback

MCP tools

Tool Purpose
list_open_loops Ranked inbox of unfinished / on-hold chats
search_chats Keyword search across indexed transcripts
get_chat Full transcript body by chat id
recent_chats Recently updated chats
mark_loop Mark hold, done, or ignore (local only)
reindex Rescan transcript folders

Resource: chatback://inbox — markdown summary of top open loops.

CLI (debug without MCP)

npx -y github:princemuichkine/chatback --help
npx -y github:princemuichkine/chatback --print-inbox 10

Open-loop signals

  • Last agent paragraph — cleaned user-facing closing (monologue and [REDACTED] stripped); inbox shows up to ~480 chars
  • Agent invitation closings on that paragraph (want me to, if you want, say the word, when you're ready, …) — not generic “follow-up migration” notes
  • turn_ended with aborted or error
  • Last message is from the user (interrupted mid-turn)
  • Open TodoWrite items with non-empty content
  • Strong hold phrases in user text (on hold, come back later, close this chat, …)
  • Your local hold mark via mark_loop

Recent chats rank higher; threads older than ~30 days are gently demoted.

Marks are stored in ~/.cursor/chatback/marks.json. The search index lives at ~/.cursor/chatback/index.db (schema v3; atomic writes; per-file index errors are collected, not thrown).

Privacy

Reads only Cursor agent transcript files on your machine. Never sends data off-device.

Publish checklist

License

MIT — see LICENSE.

from github.com/princemuichkine/chatback

Installing Chatback

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/princemuichkine/chatback

FAQ

Is Chatback MCP free?

Yes, Chatback MCP is free — one-click install via Unyly at no cost.

Does Chatback need an API key?

No, Chatback runs without API keys or environment variables.

Is Chatback hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Chatback in Claude Desktop, Claude Code or Cursor?

Open Chatback on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Chatback with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs