Indexes your local Claude conversation history from ~/.claude/ and lets you search it three ways: SQLite FTS5 with BM25 ranking, macOS Spotlight via mdfind, and optional semantic vector search through Ollama embeddings. Exposes tools to search conversations by keyword or meaning, list recent chats filtered by project, retrieve full session content, and rebuild the index. Includes helper tools to install and configure Ollama if you want the vector search layer. The indexer runs incrementally and caches filesystem paths it discovers. Reach for this when you need to recall what you discussed in previous Claude sessions without manually digging through chat folders.
An MCP (Model Context Protocol) server for searching and browsing your Claude conversation history stored in ~/.claude/. Works with both Claude Code and Cowork conversations.
mdfindDownload cowork-history.mcpb from the latest release and double-click to install.
uvx cowork-history
pip install cowork-history
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"cowork-history": {
"command": "uvx",
"args": ["cowork-history"],
"env": {
"OLLAMA_URL": "http://localhost:11434",
"EMBEDDING_MODEL": "nomic-embed-text"
}
}
}
}
Once installed, Claude can search your conversation history:
"What did we discuss about authentication last week?"
"Find the conversation where we debugged the payment webhook"
"Show me my conversations in the my-project folder"
| Tool | Description |
|---|---|
cowork_history_search | Search conversations using hybrid search (FTS + Spotlight + vector) |
cowork_history_list | List recent conversations, optionally filtered by project |
cowork_history_get | Get full content of a specific conversation by session ID |
cowork_history_projects | List all projects with conversation history |
cowork_history_stats | Get statistics and search capability status |
cowork_history_reindex | Rebuild index and optionally generate embeddings |
| Tool | Description |
|---|---|
history_system_check | Check system requirements for Ollama |
history_setup_ollama | Install Ollama via Homebrew (macOS) |
history_setup_ollama_direct | Install Ollama via direct download (no Homebrew) |
history_ollama_status | Check Ollama status and embedding model availability |
The cowork_history_search tool supports multiple search modes:
| Mode | Description |
|---|---|
auto (default) | Uses all available methods, best results |
fts | Full-text search only (fastest) |
spotlight | macOS Spotlight only |
vector | Semantic similarity only (requires Ollama) |
hybrid | Explicit combination with ranking |
"authentication bug" → finds conversations with both words
"how to deploy" → semantic search finds related discussions
"\"exact phrase\"" → exact phrase matching
project:"my-app" "database" → filter by project
Vector search provides semantic similarity matching (finding related concepts even without exact keywords). It requires Ollama with an embedding model.
Ask Claude to set it up for you:
"Set up Ollama for vector search"
Or manually:
# Install Ollama (macOS)
brew install ollama
# Start Ollama service
brew services start ollama
# Pull the embedding model
ollama pull nomic-embed-text
Then generate embeddings:
"Rebuild the history index with embeddings"
The server maintains a SQLite database at ~/.claude/.history-index/conversations.db with:
The index updates automatically when you search (if >5 minutes old) or you can force a rebuild with cowork_history_reindex.
| Variable | Default | Description |
|---|---|---|
OLLAMA_URL | http://localhost:11434 | Ollama server URL |
EMBEDDING_MODEL | nomic-embed-text | Ollama embedding model |
~/.claude/ directory existsollama --versioncurl http://localhost:11434/api/tagsollama listollama pull nomic-embed-textmode: "fts" for exact phrase matchingcowork_history_stats to see which search backends are active# Clone the repository
git clone https://github.com/egoughnour/cowork-history
cd cowork-history
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest tests/
# Run the server directly
python -m src.cowork_history_server
npx @modelcontextprotocol/inspector uvx cowork-history
MIT License - see LICENSE file for details.
OLLAMA_URLURL for Ollama server (default: http://localhost:11434)
EMBEDDING_MODELOllama embedding model (default: nomic-embed-text)
com.mcparmory/google-search
io.github.pipeworx-io/brave-search
marcopesani/mcp-server-serper
brave/brave-search-mcp-server
com.mcparmory/google-search-console
acamolese/google-search-console-mcp