Skip to main content
Glama
SDillon001

conversation-history-mcp

by SDillon001

Conversation History MCP Server

A local MCP server that indexes and searches your Claude Code conversation history with both keyword and semantic search.

Features

  • Keyword Search - Fast full-text search using SQLite FTS5

  • Semantic Search - Find conceptually similar conversations using local embeddings

  • Session Listing - Browse recent sessions with summaries

  • Context Retrieval - Get full context from any past conversation

  • Fully Private - All data stays local, no external API calls

Related MCP server: flightlog

Installation

Prerequisites

  • Python 3.10+

  • Claude Code CLI

Quick Install

# Clone the repo
git clone https://github.com/SDillon001/conversation-history-mcp.git
cd conversation-history-mcp

# Install dependencies
pip install -r requirements.txt

# Create symlink to Claude's MCP directory
mkdir -p ~/.claude/mcp-servers
ln -s "$(pwd)" ~/.claude/mcp-servers/conversation-history

# Add to Claude Code settings
# See Configuration section below

Configuration

Add to your ~/.claude.json under the mcpServers key:

{
  "mcpServers": {
    "conversation-history": {
      "type": "stdio",
      "command": "python3",
      "args": ["server.py"],
      "cwd": "/path/to/conversation-history-mcp"
    }
  }
}

Replace /path/to/conversation-history-mcp with the actual path to your installation.

Usage

Once configured, the following tools are available in any Claude Code session:

search_sessions

Keyword search across all conversation history.

"Search for conversations about authentication"
→ Claude calls search_sessions(query="authentication")

search_semantic

Semantic search to find conceptually similar conversations.

"Find conversations similar to database optimization"
→ Claude calls search_semantic(query="database optimization")

list_sessions

List recent sessions with summaries.

"What did I work on last week?"
→ Claude calls list_sessions(days=7)

get_session

Get full context from a specific session.

"Show me the full conversation from session abc123"
→ Claude calls get_session(session_id="abc123")

rebuild_index

Force rebuild the search index (usually not needed).

"Rebuild the conversation index"
→ Claude calls rebuild_index()

How It Works

  1. Indexing - On startup, the server scans ~/.claude/projects/ for JSONL session files

  2. FTS5 - Messages are indexed in SQLite with full-text search

  3. Embeddings - Using sentence-transformers/all-MiniLM-L6-v2 (runs locally)

  4. Incremental - Only new sessions are indexed after first run

Data Storage

~/.claude/mcp-servers/conversation-history/
└── data/
    ├── index.db      # SQLite with FTS5 (keyword search)
    └── chroma/       # ChromaDB (semantic search embeddings)

Your conversation history stays in ~/.claude/projects/ - this server only creates a search index.

Privacy

  • No external API calls - Embeddings generated locally

  • No data leaves your machine - Everything stays in ~/.claude/

  • Read-only access - Server only reads session files, never modifies them

Development

# Run server directly for testing
python server.py

# Run tests
pytest tests/

License

MIT

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables semantic and keyword search over Claude Code conversation history stored locally, using hybrid search, local embeddings, and time-decay scoring.
    16
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that indexes Claude Code conversation history into SQLite, enabling full-text search across past sessions for context recovery and cross-agent observability.
    10
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Capture, index, and search your Claude Code conversation history. Provides an MCP server for Claude Code to query its own past conversations.
    3
    1
    MIT