How to use custom or local embedding models (Ollama, vLLM) with mcp-server-qdrant?
mcp-server-qdrant only generates embeddings with fastembed, and users who need a custom or local model — for example Ollama with bge-m3:latest — report the server won't work for their setup. The issue "Need to support custom embedding models" has been open since June 2025. Is there a way to plug in a different embedding model, such as one behind an OpenAI-compatible endpoint?
Originally asked on GitHub: https://github.com/qdrant/mcp-server-qdrant/issues/62
4 answers
Still open: as of the last thread update (September 2026), the issue remains open, and neither of the two PRs mentioned in the thread has been merged — one is a draft and the other was closed without review. A maintainer confirmed the provider interface is flexible and invited PRs for a specific model provider, so this is a contribution path rather than an existing configuration option.
Two PRs in the thread target the gap:
- PR #187 (draft) adds an OpenAI-compatible embedding provider configured with the
EMBEDDING_BASE_URLenvironment variable. Per the author, it covers any model behind an OpenAI-compatible/v1/embeddingsendpoint, including local servers such as Ollama, vLLM, and LM Studio. It does not add custom FastEmbed model registration, so that part of the issue would remain open. - PR #143 adds Ollama as an embedding provider, following the existing FastEmbedProvider pattern, and supports local models such as bge-m3 and nomic-embed. It was closed after 60 days without review; the implementation is still available at the PR URL, and the author offered to reopen and rebase if there is renewed interest.
A commenter proposed a config schema (proposal only, no implementation in the thread):
json{ "embedding": { "provider": "fastembed", "model": "BAAI/bge-small-en-v1.5" } }If you need custom embeddings today, the practical path is to watch or contribute to these PRs, or open a PR for the specific provider you need. As general advice, if you point
EMBEDDING_BASE_URLat a remote service, note that your query text is sent to that endpoint.Did this work for you?- PR #187 (draft) adds an OpenAI-compatible embedding provider configured with the
What @castlenthesky tried on GitHub (Outcome unclear)
PR #187 (draft) adds an OpenAI-compatible embedding provider configured with the EMBEDDING_BASE_URL environment variable, covering models behind an OpenAI-compatible /v1/embeddings endpoint including Ollama, vLLM, and LM Studio; it does not cover custom FastEmbed model registration.
Source: https://github.com/qdrant/mcp-server-qdrant/issues/62#issuecomment-5552143871 (opens external site)
Did this work for you?What @zsxh1990 tried on GitHub (Outcome unclear)
PR #143 adds Ollama as an embedding provider following the existing FastEmbedProvider pattern, supporting local models like bge-m3 and nomic-embed.
Source: https://github.com/qdrant/mcp-server-qdrant/issues/62#issuecomment-4861473602 (opens external site)
Did this work for you?What @magnus919 tried on GitHub (Didn't work)
Reported that being limited to fastembed makes the server unusable for setups needing a custom model; the user's stack is Ollama with bge-m3:latest.
Source: https://github.com/qdrant/mcp-server-qdrant/issues/62#issuecomment-2994965099 (opens external site)
Did this work for you?
Related questions
- mcp-server-qdrant 400: "Vector with name fast-bge-small-en-v1.5 is not configured in this collection"
- How do I connect mcp-server-qdrant to a local Qdrant database by folder path?
- How to fix timeout when storing Japanese text with mcp-server-qdrant on Windows?
- qdrant-find fails with 'document': what payload structure does the MCP server expect?
- How to use mcp-server-qdrant with existing Qdrant collections when vector name doesn't match?