Provides access to Apache Solr indexes, allowing hybrid search capabilities that combine keyword search precision with vector search semantic understanding across document collections.
Uses Ollama with nomic-embed-text to generate vector embeddings for documents, enabling semantic search capabilities in Solr collections.
Solr MCP
A Python package for accessing Apache Solr indexes via Model Context Protocol (MCP). This integration allows AI assistants like Claude to perform powerful search queries against your Solr indexes, combining both keyword and vector search capabilities.
Features
MCP Server: Implements the Model Context Protocol for integration with AI assistants
Hybrid Search: Combines keyword search precision with vector search semantic understanding
Vector Embeddings: Generates embeddings for documents using Ollama with nomic-embed-text
Unified Collections: Store both document content and vector embeddings in the same collection
Docker Integration: Easy setup with Docker and docker-compose
Optimized Vector Search: Efficiently handles combined vector and SQL queries by pushing down SQL filters to the vector search stage, ensuring optimal performance even with large result sets and pagination
Related MCP server: WebSearch-MCP
Architecture
Vector Search Optimization
The system employs an important optimization for combined vector and SQL queries. When executing a query that includes both vector similarity search and SQL filters:
SQL filters (WHERE clauses) are pushed down to the vector search stage
This ensures that vector similarity calculations are only performed on documents that will match the final SQL criteria
Significantly improves performance for queries with:
Selective WHERE clauses
Pagination (LIMIT/OFFSET)
Large result sets
This optimization reduces computational overhead and network transfer by minimizing the number of vector similarity calculations needed.
Quick Start
Clone this repository
Start SolrCloud with Docker:
docker-compose up -dInstall dependencies:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install poetry poetry installProcess and index the sample document:
python scripts/process_markdown.py data/bitcoin-whitepaper.md --output data/processed/bitcoin_sections.json python scripts/create_unified_collection.py unified python scripts/unified_index.py data/processed/bitcoin_sections.json --collection unifiedRun the MCP server:
poetry run python -m solr_mcp.server
For more detailed setup and usage instructions, see the QUICKSTART.md guide.
Requirements
Python 3.10 or higher
Docker and Docker Compose
SolrCloud 9.x
Ollama (for embedding generation)
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.