ChatCrystal logo

ChatCrystal

by ZengLiangYi

Imports local coding chats into searchable notes, tag graphs, Markdown, and reusable MCP memory.

Install ChatCrystal

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "zengliangyi-chatcrystal": {
      "command": "npx",
      "args": [
        "-y",
        "chatcrystal"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

ZengLiangYi/ChatCrystal turns coding conversations from Claude Code, Cursor, Codex CLI, Trae, and GitHub Copilot into a local knowledge base. It imports conversations, generates structured notes, supports semantic search with embeddings, and exposes MCP access for recalling and writing reusable experience. Run it as an MCP stdio server with `npx -y chatcrystal mcp`, or use the desktop, CLI, web, or Docker deployment when you need broader access.

Use cases

  • Import coding conversations from local AI tools
  • Search previous debugging discussions semantically
  • Build a tag graph of recurring development topics
  • Give agents reusable project experience through MCP
  • Export organized conversation knowledge to Markdown

Key features

  • Local conversation import
  • Structured note generation
  • Embedding-based semantic search
  • Relation-aware result expansion
  • Tag knowledge graph
  • MCP recall and write-back

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

22/22 checks healthy over the last 79d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev · chatcrystal (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars61Stargazers on the source repository.
npm downloads860Package downloads in the last 30 days.
Last commit3d agoMost recent push to the default branch.
Directory activity5 viewsConfig copies, upvotes, and views on AllMCPs.

How ChatCrystal works

What ZengLiangYi/ChatCrystal does

ZengLiangYi/ChatCrystal is a local-first personal knowledge management system for developers who work through problems with AI coding tools. It collects conversations from Claude Code, Cursor, Codex CLI, Trae, and GitHub Copilot, then organizes them into notes containing titles, summaries, conclusions, code snippets, and tags.

The resulting knowledge base supports semantic retrieval, relation-aware expansion of search results, a tag graph based on normalized tag co-occurrence, and Markdown export. Agents can use the MCP interface to recall prior experience and write new reusable knowledge back into the system. Local storage keeps the application and its data on the machine or self-hosted deployment, while configured LLM and embedding providers handle generation and retrieval-related processing.

How it works

ChatCrystal scans local data directories for supported AI coding conversations and imports the records into its knowledge base. Imported conversations can be distilled into structured notes, either individually or in batches through the CLI. Embeddings enable semantic search, while tags and their relationships provide another way to navigate related knowledge.

The MCP entry point runs over standard input and output:

Terminal
npx -y chatcrystal mcp

The same installation provides a CLI for checking status, importing conversations, searching, browsing notes, summarizing, viewing configuration, and controlling the background service. The web interface is available at http://localhost:3721 when the server is started with crystal serve -d.

Setup and configuration

Node.js 24 or newer is required. The npm-based setup can be started with:

Terminal
npm install -g chatcrystal
crystal serve -d
crystal import

Open http://localhost:3721 after starting the service. For MCP use, start crystal mcp, or use the npx command without a global installation.

An LLM provider is required for summarization, and an embedding provider is required for semantic search. These are configured separately in ChatCrystal settings. The project includes first-class OrcaRouter support for LLM generation; its OpenAI-compatible base URL is built in, so configuration uses an API key and a selected available model.

The desktop release targets Windows. Docker Compose is also available for self-hosting, storing application data in the chatcrystal-data volume mounted at /data.

Tools and capabilities

  • Import conversations from Claude Code, Cursor, Codex CLI, Trae, and GitHub Copilot.
  • Convert conversations into structured notes with summaries, conclusions, snippets, and tags.
  • Search the knowledge base semantically with embeddings.
  • Expand search results using related knowledge relationships.
  • Explore a tag knowledge graph based on tag co-occurrence.
  • Export knowledge as Markdown.
  • Let MCP-compatible agents recall and write reusable development experience.
  • Inspect server status and database statistics through the CLI.

Limitations and notes

Semantic search depends on a configured embedding provider, while summarization requires an LLM provider. A language model used for generation cannot be assumed to provide embeddings. The standard Docker deployment binds to all host interfaces by default; public access should use an HTTPS reverse proxy, and deployments exposed to multiple devices require an API token setup.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about ChatCrystal

ZengLiangYi/ChatCrystal is an MCP server that connects to ChatCrystal's local knowledge base for coding conversations. Its main tools support semantic recall, note and experience write-back, and access to imported conversation knowledge. It runs over MCP stdio and works with a locally configured LLM and embedding provider.

Run `npx -y chatcrystal mcp` to start the MCP server without a global installation. Node.js 24 or newer is required. You can also install the package globally with `npm install -g chatcrystal`, then start it with `crystal mcp`.

ChatCrystal can import conversations from Claude Code, Cursor, Codex CLI, Trae, and GitHub Copilot. It scans local tool data directories and turns imported conversations into structured notes and searchable knowledge.

ChatCrystal needs an embedding provider for semantic search and an LLM provider for summarization. The two providers are configured separately. OrcaRouter has built-in support for LLM generation through its OpenAI-compatible API.

Yes. ChatCrystal supports npm-based CLI and web operation, an MCP stdio process, and Docker Compose deployment. The CLI can start the service, import conversations, search notes, summarize content, and manage the background server.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewChatCrystal AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/zengliangyi-chatcrystal?style=directory)](https://allmcps.com/mcp/zengliangyi-chatcrystal)
HTML Embed
<a href="https://allmcps.com/mcp/zengliangyi-chatcrystal"><img src="https://allmcps.com/api/badge/zengliangyi-chatcrystal?style=directory" alt="ChatCrystal on AllMCPs" /></a>