Cursor Chat History Vectorizer & Dockerized Search MCP
@markelaugust74
API service to search vectorized Cursor IDE chat history using LanceDB and Ollama
概览
What is Cursor Chat History Vectorizer & Dockerized Search MCP?
This server extracts user prompts from Cursor IDE’s local SQLite databases, generates embeddings via a local Ollama instance (using nomic-embed-text), stores them in a LanceDB vector database, and provides a Dockerized FastAPI API for vector similarity search. It is designed for developers who want to make their Cursor chat history searchable for Retrieval Augmented Generation (RAG) or LLM-based analysis.
How to use Cursor Chat History Vectorizer & Dockerized Search MCP?
Two main steps: (1) Run python cursor_history_extractor.py on your host machine to create or update the LanceDB database at ./cursor_chat_history.lancedb. (2) Build the Docker image with docker build -t cursor-chat-search-api . and run the container with docker run -p 8001:8001 -v /absolute/path/to/cursor_chat_history.lancedb:/data/cursor_chat_history.lancedb -e OLLAMA_HOST="http://host.docker.internal:11434" cursor-chat-search-api. The search API will be accessible at http://localhost:8001.
Key features of Cursor Chat History Vectorizer & Dockerized Search MCP
- Extracts user prompts from Cursor’s
state.vscdbfiles - Generates embeddings using local Ollama (nomic-embed-text)
- Stores vectors and metadata in LanceDB database
- Provides Dockerized FastAPI search server
- Supports vector similarity search via
POST /search_chat_history - Includes health check endpoint (
GET /health)
Use cases of Cursor Chat History Vectorizer & Dockerized Search MCP
- Search past Cursor conversations to quickly recall previous solutions
- Feed relevant chat history into LLMs for context-aware code assistance
- Analyze coding patterns by querying vectorized user prompts
FAQ from Cursor Chat History Vectorizer & Dockerized Search MCP
What dependencies are required to run the extraction script?
Python 3.7+, a running Ollama instance with the nomic-embed-text:latest model pulled, and the Python packages ollama, lancedb, pyarrow, pandas, and python-dotenv (installed via pip install -r requirements.txt). Docker Desktop or Docker Engine is needed for the API container.
Where is the vector database stored?
The extraction script creates the database at ./cursor_chat_history.lancedb on the host machine. Inside the Docker container it is expected at /data/cursor_chat_history.lancedb (mounted via the -v flag).
Does this tool extract AI model responses?
No. Currently only user prompts from the aiService.prompts key are extracted and stored. AI responses and other conversation details are not included.