MCP Directory

Milvus MCP Server

Official

Connect LLMs to the Milvus vector database for vector, text, and hybrid search plus collection management.

Unverified
stdio (local)
API key
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

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

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • Python 3.10 or higher
  • A running Milvus instance (local or remote)
  • uv installed (recommended for running the server)

About Milvus MCP Server

MCP Server for Milvus provides access to Milvus vector database functionality from LLM applications that support the Model Context Protocol. It offers search and query operations (vector, text, hybrid, text-similarity, and filter-based queries), collection management (list, create, load, release, get info), and data operations (insert, delete). The server runs directly with uv and supports stdio, SSE, and Streamable HTTP transports, connecting to a local or remote Milvus instance via a URI and optional token.

Tools & capabilities (12)

milvus_text_search

Search for documents using full text search. Parameters: collection_name, query_text, limit (default 5), output_fields, drop_ratio (proportion of low-frequency terms to ignore, 0.0-1.0, default 0.2).

milvus_vector_search

Perform vector similarity search on a collection. Parameters: collection_name, vector, vector_field (default 'vector'), limit (default 5), output_fields, filter_expr, metric_type (COSINE, L2, IP; default COSINE), radius, range_filter.

milvus_hybrid_search

Perform hybrid (text + vector) search on a collection. Parameters: collection_name, query_text, text_field, vector, vector_field, limit (default 5), output_fields, filter_expr, sparse_radius, sparse_range_filter, dense_radius, dense_range_filter.

milvus_text_similarity_search

Perform text similarity search on a collection (Milvus 2.6.0+ only; requires an embedding function set on the Milvus server). Parameters: collection_name, query_text, anns_field, limit (default 5), output_fields, metric_type (default COSINE), filter_expr, radius, range_filter.

milvus_query

Query a collection using filter expressions. Parameters: collection_name, filter_expr (e.g. 'age > 20'), output_fields, limit (default 10).

milvus_list_collections

List all collections in the database.

milvus_create_collection

Create a new collection with quick setup or a customized schema. Parameters include collection_name, auto_id (default True), dimension (default 768), primary_field_name (default 'id'), vector_field_name (default 'vector'), metric_type (default COSINE), field_schema, index_params, and other_kwargs.

milvus_load_collection

Load a collection into memory for search and query. Parameters: collection_name, replica_number (default 1).

milvus_release_collection

Release a collection from memory. Parameters: collection_name.

milvus_get_collection_info

List detailed information such as schema, properties, collection ID, and other metadata of a specific collection. Parameters: collection_name.

milvus_insert_data

Insert data into a collection. Parameters: collection_name, data (dictionary mapping field names to lists of values).

milvus_delete_entities

Delete entities from a collection based on a filter expression. Parameters: collection_name, filter_expr.

What this server can do

Milvus MCP Server provides tools for these capabilities — tap one to see every MCP server that does the same:

When to use it

  • Powering retrieval-augmented generation (RAG) by letting an LLM search a Milvus vector store
  • Running vector, full-text, or hybrid similarity search over collections from a chat or IDE assistant
  • Managing Milvus collections (create, load, release, inspect) conversationally
  • Inserting and deleting records in Milvus through natural-language requests

Security notes

Authentication to Milvus is optional and configured via the MILVUS_TOKEN environment variable. If your Milvus instance requires auth, set MILVUS_TOKEN; ensure the configured account has only the permissions needed for the operations you intend to perform. Connection URIs and tokens are passed via CLI args or a local .env file in src/mcp_server_milvus/.

Milvus MCP Server FAQ

Which transports does the server support?

Three: stdio (default), SSE (HTTP Server-Sent Events), and Streamable HTTP (recommended for production, with an optional stateless mode). The transport is selected with CLI flags such as --sse or --streamable-http.

How do I authenticate to Milvus?

Authentication is optional. Set the MILVUS_TOKEN environment variable if your Milvus instance requires it. The Milvus URI is set with --milvus-uri or the MILVUS_URI variable, and the database with MILVUS_DB (defaults to 'default').

Do I need to install the package?

No. The recommended approach is to clone the repo and run the server directly with uv (e.g. uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530); both Claude Desktop and Cursor are configured to launch it this way.

What takes priority, the .env file or command-line arguments?

The .env file in src/mcp_server_milvus/ has higher priority than command-line arguments.

Alternatives to Milvus MCP Server

Compare all alternatives →

Google's official MCP server with prebuilt BigQuery tools, querying datasets via Application Default Credentials.

Verified
stdio (local)
OAuth
Go
10 tools
Updated 15 days agoRepo

Read/write Postgres access plus index tuning, EXPLAIN plans, and database health analysis for AI agents.

Verified
stdio (local)
API key
Python
9 tools
Updated 3 months agoRepo

Official Supabase server: manage tables, run SQL, branches, configs and edge functions from your AI client.

Verified
HTTP (remote)
OAuth
TypeScript
12 tools
Updated 1 month agoRepo