cowork-history
Hybrid search for Cowork history: FTS, Spotlight, and semantic vectors
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"cowork-history": {
"args": [
"cowork-history@4.0.3"
],
"command": "uvx"
},
"https://github.com/egoughnour/cowork-history/releases/download/v4.0.3/cowork-history.mcpb": {
"args": [],
"command": ""
}
}
}
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
tavily_search 14 个参数 需填 1 项
Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.
必填参数:query
tavily_extract 6 个参数 需填 1 项
Extract content from URLs. Returns raw page content in markdown or text format.
必填参数:urls
tavily_crawl 11 个参数 需填 1 项
Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.
必填参数:url
tavily_map 8 个参数 需填 1 项
Map a website's structure. Returns a list of URLs found starting from the base URL.
必填参数:url
tavily_research 2 个参数 需填 1 项
Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.
必填参数:input
服务介绍
Cowork History MCP
<!- - mcp-name: io.github.egoughnour/cowork-history - ->
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.
# Features
- Hybrid Search - Combines multiple search methods for best results:
- SQLite FTS5 - Fast full-text search with BM25 ranking
- macOS Spotlight - Leverages system content indexing via
mdfind - Vector Embeddings - Semantic similarity search (optional, requires Ollama)
- Smart Path Reconstruction - Recovers actual filesystem paths via probing (not heuristic guessing)
- Persistent Index - SQLite database with incremental updates for fast queries
- Ollama Setup Tools - Automated installation and configuration for embeddings
# Installation
# # Option 1: Claude Desktop (One-Click Install)
Download cowork-history.mcpb from the latest release and double-click to install.
# # Option 2: Via uvx (Recommended for CLI)
uvx cowork-history
# # Option 3: Via pip
pip install cowork-history
# # Option 4: Manual Configuration
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"
}
}
}
}
# Quick Start
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"
# Available Tools
# # Search & Browse
| 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 |
# # Ollama Setup (for Vector Search)
| 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 |
# Search Modes
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 |
# # Search Examples
"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
# Enabling Vector Search
Vector search provides semantic similarity matching (finding related concepts even without exact keywords). It requires Ollama with an embedding model.
# # Quick Setup
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"
# How It Works
# # Indexing
The server maintains a SQLite database at ~/.claude/.history-index/conversations.db with:
- FTS5 virtual table for fast full-text search
- Conversation metadata (session ID, project, timestamps, topic)
- Full content for comprehensive search
- Path cache for reconstructed paths
- Embeddings table for vector search (optional)
The index updates automatically when you search (if >5 minutes old) or you can force a rebuild with cowork_history_reindex.
# Environment Variables
| Variable | Default | Description |
|- -- -- -- -- -|- -- -- -- --|- -- -- -- -- -- --|
| OLLAMA_URL | http://localhost:11434 | Ollama server URL |
| EMBEDDING_MODEL | nomic-embed-text | Ollama embedding model |
# Troubleshooting
# # No conversations found
- Make sure
~/.claude/directory exists - Check that you have conversation history (use Claude Code or Cowork first)
- Verify the MCP server is properly configured
# # Vector search not available
- Check Ollama is installed:
ollama - -version - Check Ollama is running:
curl http://localhost:11434/api/tags - Check model is available:
ollama list - Pull embedding model:
ollama pull nomic-embed-text
# # Search not finding expected results
- Try natural language queries (semantic search is more flexible)
- Use
mode: "fts"for exact phrase matching - Check
cowork_history_statsto see which search backends are active
# Development
# # Running locally
# 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
# # Testing with MCP Inspector
npx @modelcontextprotocol/inspector uvx cowork-history
# License
MIT License - see LICENSE file for details.