Qdrant DevContainer for File Embeddings
LocalAbout Qdrant DevContainer for File Embeddings
A VS Code development container setup for running Qdrant and indexing text files for vector similarity search. It is intended for developers who want to ingest and search local documents using sentence-transformers.
Key features
- 01Qdrant in a development container
- 02Automatic file indexing
- 03sentence-transformers embeddings
- 04TXT, Markdown, and PDF support
- 05Cosine-similarity search collection
Use cases
- 01Index local text, Markdown, and PDF files
- 02Search ingested documents by vector similarity
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEQdrant DevContainer for File Embeddings
This project provides a development container setup for running Qdrant with file embeddings. It includes everything needed to index and search text documents using vector similarity search.
Prerequisites
- Docker Desktop must be running before starting the devcontainer
- VS Code with the Remote - Containers extension
- Internet connection (for downloading dependencies)
Getting Started
- Ensure Docker Desktop is running on your system
- Open this folder in VS Code
- Click the green "Reopen in Container" button in the bottom right corner
- Or press
F1and type "Dev Containers: Reopen in Container"
- Or press
Project Structure
qdrant_server_devcontainer/ ├── .devcontainer/ │ ├── devcontainer.json │ └── Dockerfile ├── requirements.txt ├── ingest.py └── data/ # Place your text files here
Usage
- Place your text files in the
data/directory - The container will automatically start Qdrant
- After the container is built You should be able to access Qdrant at
http://localhost:6333 - Run the ingestion script manually from within the container:
python ingest.py
Features
- Qdrant vector database running in the background
- Automatic file indexing using sentence-transformers
- Python environment with all necessary dependencies
- VS Code Python extension pre-installed
Technical Details
- Qdrant runs on a dynamically assigned port (check the output panel after container build)
- Uses
all-MiniLM-L6-v2for text embeddings - Creates a collection named "local-docs" with cosine similarity
- Supports text files (.txt), markdown files (.md), and PDF files (.pdf) in the data directory
Troubleshooting
-
If the container fails to start:
- Ensure Docker Desktop is running
- Check that no other process is using the dynamically assigned port
- Verify all dependencies are properly installed
-
If files aren't being indexed:
- Check that files are in the
data/directory - Verify file extensions are supported (currently .txt, .md, .pdf)
- Ensure files are readable by the container
- Check that files are in the
License
MIT License
TODO
- handle giant PDFs efficiently,
- extract text per page using parallel processing,
- embed and push each chunk as it’s ready,
- support GPU embedding if torch.cuda.is_available()?
- add support for epub files
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.