AI Integrations
Opensolr plugs natively into the frameworks and agent ecosystems people use to build RAG and AI search in 2026. Underneath every integration it is the same platform: a managed, vector-enabled Apache Solr 9 index, server-side GPU embeddings (multilingual E5, 1024 dimensions), and the {!hybrid} query parser that fuses BM25 and kNN scores per document. You never run an embedding model, and you never send us vectors — just text.
Writes in every integration go through the Data Ingestion API — the same pipeline the Drupal and WordPress connectors use. Ingestion is asynchronous: documents are queued, enriched server-side (embeddings, sentiment, language, derived fields), and become searchable within about a minute; progress is visible in Control Panel → Data Ingestion — a per-job status board with detailed document counts (queued / processing / completed / failed) — and via the ingest_status API. Every integration also offers a lexical-only mode (pure keyword search, zero AI quota) that works on any Opensolr index, including non-vector ones.
All integrations authenticate with the same two values: your account email and your API key (Account → API in the control panel). Vector-enabled indexes are created in the us (Chicago), de (Germany) or fi (Finland) regions — the live list is available programmatically, and additional dedicated regions can be deployed on request (paid add-on).
There is a public demo account. Every integration below works against it immediately, with no signup: email mcp@opensolr.com, API key 420b8b23e7b12dc8ab838932145a5065. The index mcp_demo_d1__dense is preloaded with 300 news articles, and you can create your own indexes on the account and ingest into them.
Anything you create there is deleted after 3 days, automatically and without warning. The account is shared with everyone reading this page — your index is visible to them and they can add documents to it, as you can to theirs. Nothing here can be deleted or reconfigured through this key, but never put anything real or client-owned in it. The limits are per index and deliberately small: 200 MB of bandwidth and 50 MB of disk. Bandwidth is the one you will hit first; it covers a demo and a proof of concept, not an application. For an index that is private and stays put, get your own key — free 15-day trial, no card.
LangChain (Python)
Opensolr is a native LangChain vector store, listed in the official LangChain integrations directory with its own provider card.
pip install langchain-opensolr
You get OpensolrVectorStore (add_texts, similarity_search with hybrid=True, metadata filters, auto index provisioning via create_if_missing=True) and OpensolrEmbeddings. vs.as_retriever() drops straight into any chain, agent, or RAG tutorial.
Links: product page · PyPI · GitHub · FAQ
MCP — AI Agents (Claude, Cursor, and any MCP client)
The official Opensolr MCP server gives any Model Context Protocol agent your search as native tools: hybrid retrieval, document indexing with automatic embeddings, grounded RAG answers, index management, and ingestion job status — 9 tools in total. It is published in the official MCP Registry under our domain-verified com.opensolr namespace.
{
"mcpServers": {
"opensolr": {
"command": "uvx",
"args": ["opensolr-mcp"],
"env": {
"OPENSOLR_EMAIL": "you@example.com",
"OPENSOLR_API_KEY": "YOUR_OPENSOLR_API_KEY"
}
}
}
}
The agent gains the powers of the API key you give it. Use a dedicated Opensolr account (or at least a non-critical one) for agent configurations, exactly as you would with any automation credential.
Links: product page · MCP Registry · PyPI · GitHub · FAQ
LlamaIndex (Python)
Native LlamaIndex integration under the standard namespaces llama_index.vector_stores.opensolr and llama_index.embeddings.opensolr.
pip install llama-index-opensolr
OpensolrVectorStore supports VectorStoreQueryMode.HYBRID with a tunable alpha (semantic↔lexical balance) and maps standard MetadataFilters (EQ, NE, IN, NIN, ranges) to Solr filters. Your VectorStoreIndex, retriever, and query engine work unchanged.
Links: product page · PyPI · GitHub · FAQ
Haystack (Python)
An Opensolr DocumentStore plus a hybrid retriever for Haystack pipelines — with zero embedder components. A typical Haystack pipeline needs one embedder for documents and another for queries; with Opensolr both are unnecessary, because everything embeds server-side.
pip install opensolr-haystack
OpensolrDocumentStore implements the full protocol (DuplicatePolicy, standard filter dicts, Secret-based credentials, serialization for saved pipelines) and OpensolrHybridRetriever exposes hybrid/alpha with per-run overrides.
Links: product page · PyPI · GitHub · FAQ
Laravel Scout (PHP)
An official Laravel Scout engine: set SCOUT_DRIVER=opensolr and every Searchable model gets hybrid semantic search through the standard Model::search() API.
composer require opensolr/laravel-scout-opensolr
Scout's where() / whereIn() map to Solr filters with full operator support, pagination returns real totals, and one Opensolr index serves all your models — documents are scoped per model automatically, so a single plan covers the whole application. The package auto-updates on Packagist with every release.
Links: product page · Packagist · GitHub · FAQ
REST API (any language)
Every capability above is plain HTTPS underneath — usable from any language. The management API lives on opensolr.com, the AI endpoints on api.opensolr.com:
| Endpoint | What it does |
|---|---|
embed / batch_embed | 1024-dim multilingual embeddings for a query or up to 50 documents per call |
embed_and_search | One-shot: embed the query, run the platform's tuned hybrid search, return ranked results. The index's saved Search Tuning applies automatically; per-request overrides: fw_*, lexical_weight, vector_weight, vector_topk, search_mode, quality_boost, min_score, mm |
ai_summary | Streaming AI answer/summary of a provided context — pair with embed_and_search (search first, summarize the top results) for grounded RAG |
image_to_text | Search by image: post a photo, get back the words that describe it (or the text read off a label or receipt), then search with them like any typed query — no image vectors and no schema changes on your side |
vector_regions | Live list of vector-enabled environments |
Links: AI & Vector Search docs · full API reference · Embed API guide · Vector Search Schema Reference (the fields and type suffixes every package writes into)