Labsco
steiner385 logo

Qdrant MCP Server

β˜… 2

from steiner385

Semantic code search using the Qdrant vector database and OpenAI embeddings.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredAdvanced setup

Qdrant MCP Server

A Model Context Protocol (MCP) server that provides semantic code search capabilities using Qdrant vector database and OpenAI embeddings.

Features

  • πŸ” Semantic Code Search - Find code by meaning, not just keywords
  • πŸš€ Fast Indexing - Efficient incremental indexing of large codebases
  • πŸ€– MCP Integration - Works seamlessly with Claude and other MCP clients
  • πŸ“Š Background Monitoring - Automatic reindexing of changed files
  • 🎯 Smart Filtering - Respects .gitignore and custom patterns
  • πŸ’Ύ Persistent Storage - Embeddings stored in Qdrant for fast retrieval

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Claude/MCP    │────▢│  MCP Server      │────▢│     Qdrant      β”‚
β”‚     Client      β”‚     β”‚  (Python)        β”‚     β”‚   Vector DB     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚                           β–²
                               β–Ό                           β”‚
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”‚
                        β”‚  OpenAI API      β”‚              β”‚
                        β”‚  (Embeddings)    β”‚β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Performance Optimization

Batch Processing

# Process files in larger batches (reduces API calls)
qdrant-indexer /path/to/code --batch-size 50

# Limit concurrent requests
qdrant-indexer /path/to/code --max-concurrent 5

Incremental Indexing

# Only index changed files since last run
qdrant-indexer /path/to/code --incremental

# Force reindex of all files
qdrant-indexer /path/to/code --force

Cost Estimation

# Estimate indexing costs before running
qdrant-indexer /path/to/code --dry-run

# Output:
# Files to index: 1,234
# Estimated tokens: 2,456,789
# Estimated cost: $0.43

Monitoring

Web UI (Coming Soon)

# Start monitoring dashboard
qdrant-mcp --web-ui --port 8080

Logs

# View indexer logs
tail -f ~/.qdrant-mcp/logs/indexer.log

# View search queries
tail -f ~/.qdrant-mcp/logs/queries.log

Metrics

  • Files indexed
  • Tokens processed
  • Search queries per minute
  • Average response time
  • Cache hit rate

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Development Setup

# Clone the repository
git clone https://github.com/kindash/qdrant-mcp-server
cd qdrant-mcp-server

# Install dependencies
npm install
pip install -e .

# Run tests
npm test
pytest

# Run linting
npm run lint
flake8 src/

License

MIT License - see LICENSE for details.

Acknowledgments

Support