Most database servers stop at read. This one creates collections, loads and releases them from memory, inserts data and deletes by filter, so a whole retrieval experiment fits in one conversation. Text similarity search is the exception worth noting: it needs Milvus 2.6.0 or above with an embedding function configured on the server.
The Milvus project's own MCP server. It talks to a running Milvus instance, local or remote, and exposes both the search surface and enough collection management to build and load one.
- Full-text search over a collection, with a drop-ratio for ignoring low-frequency terms
- Vector similarity search with a choice of metric, output fields, filter expression and range bounds
- Hybrid search combining a text query and a vector in one call, with separate sparse and dense range controls
- Filter-expression queries against a collection, without any vector at all
- Collection management: list, create with a quick setup or a full field schema, load into memory, release, and read the schema and metadata back
- Inserting rows and deleting entities by filter expression
Python 3.10 or higher, uv, and a running Milvus instance you can reach. The server is launched with uv run against server.py and a --milvus-uri, or configured through MILVUS_URI, MILVUS_TOKEN and MILVUS_DB in a .env - which takes priority over the command line. Transport is stdio by default; --sse or --streamable-http with --port 8000 serves it over HTTP instead.
One command — npx -y mcp-remote http://your_sse_host:port/sse
