---
title: "MCP Server for Milvus: review, setup & limitations · Undominated.ai"
canonical: https://undominated.ai/mcp-servers/milvus/
description: "Zilliz's server for a Milvus vector database: search, query, collection management and row inserts and deletes, over stdio, SSE or Streamable HTTP from a Python checkout."
---

# MCP Server for Milvus: review, setup & limitations · Undominated.ai

> Zilliz's server for a Milvus vector database: search, query, collection management and row inserts and deletes, over stdio, SSE or Streamable HTTP from a Python checkout.

[← Explore all mcp servers](/mcp-servers/)

VECTOR DATABASE / Zilliz

# MCP Server for Milvus

Zilliz's server for a Milvus vector database: search, query, collection management and row inserts and deletes, over stdio, SSE or Streamable HTTP from a Python checkout.

 [See setup guidance ↓](#setup)[Original source ↗](https://github.com/zilliztech/mcp-server-milvus)

SOURCE REVIEW

 Reviewed 2026-10-13
 Evidence 4 linked sources
 Publisher Zilliz
 Licence [Apache-2.0 ↗](https://github.com/zilliztech/mcp-server-milvus/blob/6a2bff91fa629c0e62581be46ae7abba78f3a2c1/LICENSE)
 Revision 6a2bff91fa62
 [Read what was—and wasn’t—checked ↓](#review)

“This repository contains a MCP server that provides access to Milvus vector database functionality.”

 [Zilliz · upstream description ↗](https://github.com/zilliztech/mcp-server-milvus/blob/6a2bff91fa629c0e62581be46ae7abba78f3a2c1/README.md) Our analysis follows below.

01 / THE REASONING

## Why this made the selection.

 - server.py at this commit registers 14 tools, from milvus_text_search, milvus_vector_search and milvus_hybrid_search to milvus_create_collection, milvus_insert_data and milvus_delete_entities, and the README documents the parameters of 12 of them; milvus_list_databases and milvus_use_database are not in it.
- The README documents three running modes (stdio by default, --sse, --streamable-http with an optional --stateless) with a Claude Desktop and a Cursor configuration for each.

### A good fit for

 - Exploring Milvus collections, indexes and vector rows during retrieval debugging.
- Running documented search and row operations against a named Milvus instance.

### Weigh up before choosing

 - milvus_create_collection, milvus_insert_data and milvus_delete_entities change data; point the server only at instances the assistant may touch.
- The README says the .env file has higher priority than command-line arguments. In server.py, MILVUS_URI, MILVUS_TOKEN and MILVUS_DB from the environment override --milvus-uri, --milvus-token and --milvus-db.
- The README runs the server from a clone with uv run; it documents no uvx or PyPI launch. Needs network access to a reachable Milvus instance.
- milvus_text_similarity_search needs Milvus 2.6.0 or later with an embedding function set on the Milvus server, per the README.

02 / THE REVIEW RECORD

## What we actually inspected.

Source review has boundaries. A clear record is more useful than a “safe” badge.

### Material inspected

 - README.md at 6a2bff91fa629c0e62581be46ae7abba78f3a2c1: prerequisites, uv invocation, stdio, SSE and Streamable HTTP modes, .env precedence, tools and environment variables.
- pyproject.toml at the same commit: mcp-server-milvus 0.1.1, Python 3.10 or later, fastmcp, pymilvus, click and python-dotenv, console script mcp-server-milvus.
- src/mcp_server_milvus/server.py at the same commit: tool registrations and configuration precedence.
- LICENSE at the same commit: Apache-2.0.

### Our findings

 - Stdio is the default mode; SSE and Streamable HTTP are explicit flags with a configurable port (default 8000).
- The console script and module path agree, so the packaged and cloned invocations reach the same entrypoint.
- server.py registers 14 tools. The README documents 12; milvus_list_databases and milvus_use_database are registered but not listed in the README.
- Authentication is an optional MILVUS_TOKEN (or --milvus-token); the database defaults to "default".
- configExample is the README's Claude Desktop stdio block at this commit. The previous configExample and the uvx command did not appear in the README; install.command is now the README's uv run line.
- Health on 2026-10-13: repository not archived, default-branch HEAD was this commit, GitHub reports Apache-2.0, pyproject.toml names mcp-server-milvus.

### Not established by this review

 - Server startup, instance connection and query execution were not tested.
- The SSE and Streamable HTTP modes were not started.

The review applies to the material and revision named here. A newer upstream release can change its behavior.

03 / PUT IT TO WORK

## Connect a server deliberately.

[Upstream setup instructions ↗](https://github.com/zilliztech/mcp-server-milvus/blob/6a2bff91fa629c0e62581be46ae7abba78f3a2c1/README.md)

DOCUMENTED COMMAND

 uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530 Copy command ↗

Copying does not execute this command. It may retrieve a newer version than the reviewed source.

 - Clone https://github.com/zilliztech/mcp-server-milvus and run the command from the clone, as the README shows.
- Replace the URI with the target Milvus instance; set MILVUS_TOKEN if it requires authentication.
- Check src/mcp_server_milvus/.env and the client environment, since environment values override the command-line URI.

### Before you start

 - Python 3.10 or later and uv.
- A reachable Milvus instance.

### Documented configuration example

Use the client and authentication context described in the setup guidance. Configuration formats vary between hosts.

 {
 "mcpServers": {
 "milvus": {
 "command": "/PATH/TO/uv",
 "args": [
 "--directory",
 "/path/to/mcp-server-milvus/src/mcp_server_milvus",
 "run",
 "server.py",
 "--milvus-uri",
 "http://localhost:19530"
 ]
 }
 }
} Copy configuration ↗

### Compatibility

Claude Desktop, Cursor and other MCP clients over stdio, SSE or Streamable HTTP · Python 3.10 or later, uv, and a reachable Milvus instance, local or remote

### Implementation

Python

### Transports

stdio · SSE · Streamable HTTP

### Milvus instance connection

 - Authenticates to Milvus with an optional token from MILVUS_TOKEN or --milvus-token.
- Reads collections, schemas and rows, and runs text, vector and hybrid searches on the connected instance.
- Can create collections, load and release them, insert data and delete entities matching a filter.
- In SSE or Streamable HTTP mode server.py binds localhost on --port (default 8000); neither the README nor server.py adds authentication to that listener.

### Cost model

Apache-2.0 server source. Milvus hosting costs are separate; none was reviewed.

04 / FOLLOW THE EVIDENCE

## The source trail.

Our notes are separate from the original resource. Check upstream before adopting a new version.

 - [Milvus MCP server readme ↗](https://github.com/zilliztech/mcp-server-milvus/blob/6a2bff91fa629c0e62581be46ae7abba78f3a2c1/README.md) Checked 2026-10-13 https://github.com/zilliztech/mcp-server-milvus/blob/6a2bff91fa629c0e62581be46ae7abba78f3a2c1/README.md Supports: upstreamDescription, summary, install, configExample, compatibility, transports, tools, limitations
- [Server implementation ↗](https://github.com/zilliztech/mcp-server-milvus/blob/6a2bff91fa629c0e62581be46ae7abba78f3a2c1/src/mcp_server_milvus/server.py) Checked 2026-10-13 https://github.com/zilliztech/mcp-server-milvus/blob/6a2bff91fa629c0e62581be46ae7abba78f3a2c1/src/mcp_server_milvus/server.py Supports: registered tools, configuration precedence, access
- [Package manifest ↗](https://github.com/zilliztech/mcp-server-milvus/blob/6a2bff91fa629c0e62581be46ae7abba78f3a2c1/pyproject.toml) Checked 2026-10-13 https://github.com/zilliztech/mcp-server-milvus/blob/6a2bff91fa629c0e62581be46ae7abba78f3a2c1/pyproject.toml Supports: language, package name, Python version
- [Repository licence ↗](https://github.com/zilliztech/mcp-server-milvus/blob/6a2bff91fa629c0e62581be46ae7abba78f3a2c1/LICENSE) Checked 2026-10-13 https://github.com/zilliztech/mcp-server-milvus/blob/6a2bff91fa629c0e62581be46ae7abba78f3a2c1/LICENSE Supports: license

KEEP COMPARING

## Other approaches to consider.

Related by category or shared topics. These are alternatives to inspect, not a measured quality order.

 [### Claude Context MCP ↗ Indexes a local codebase into Milvus or Zilliz Cloud with a chosen embedding provider, then serves hybrid keyword and vector code search to an MCP client.](/mcp-servers/claude-context/)[### MCP MariaDB Server ↗ Python MCP server from the MariaDB organisation that lists databases and schemas, runs statements through a default read-only gate, and can register vector-store tools when an embedding provider is set.](/mcp-servers/mariadb/)[### Algolia MCP Server ↗ Algolia's managed MCP offerings: Public MCP exposes application-scoped search and recommendations on selected indices for customer-facing agents; Productivity MCP gives user-scoped, read-only exploration and analytics; DevEx MCP serves version-matched API client snippets to coding agents without touching data.](/mcp-servers/algolia/)

 [AI Tools ↗](/tools/)[Skills ↗](/skills/)[Agents ↗](/agents/)[MCP Servers ↗](/mcp-servers/)[Workflows ↗](/workflows/)

## Continue your investigation

 - [Inspect resource evidence](/tools/)
- [Choose a host](/agents/)
- [Inspect reusable workflows](/skills/)
- [Use Undominated data](/api/)
