Milvus

Provides access to Milvus vector database operations via MCP, including text/vector searches and collection management.
  • python

7

GitHub Stars

python

Language

4 months ago

First Indexed

3 weeks ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "stephen37-mcp-server-milvus": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-server-milvus/src/mcp_server_milvus",
        "run",
        "server.py",
        "--milvus-uri",
        "http://localhost:19530"
      ],
      "env": {
        "MILVUS_DB": "default",
        "MILVUS_URI": "http://localhost:19530",
        "MILVUS_TOKEN": "YOUR_TOKEN"
      }
    }
  }
}

MCP (Model Context Protocol) lets your LLM-powered applications connect to external data sources and tools in a standardized way. This MCP server exposes Milvus vector database functionality so your LLM workflows can run vector search, text search, and collection management directly against Milvus from any MCP-enabled client.

How to use

You connect an MCP client to this Milvus MCP server to run search and data-management operations against Milvus. Start the server locally, point your client at the Milvus MCP endpoint, and then invoke tools such as text search, vector search, and collection management from your LLM workflow. Tools execute on behalf of your queries and return structured results you can feed back into your prompts.

How to install

Prerequisites before running the server:

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

Run the server directly using the MCP runner. The following command starts the Milvus MCP server and connects to Milvus at the specified URI.

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

Additional configuration and usage notes

You can configure the MCP client tools in clients like Claude Desktop or Cursor by providing an MCP server entry that points to the local uv command running the Milvus server. The examples below show how to wire up the server in client configurations.

{
  "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"
      ]
    }
  }
}

Verifying the integration

After wiring the server into your MCP client, verify that Milvus-related tools appear and respond. Open the MCP settings or tool list in your client and ensure tools like milvus-text-search, milvus-vector-search, milvus-hybrid-search, milvus-create-collection, milvus-list-collections, and others are available and functioning.

Example run with Claude Desktop and Cursor

Claude Desktop example shows how to reference the Milvus MCP server in its config with the uv command and the Milvus URI.

{
  "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"
      ]
    }
  }
}

Troubleshooting

If you encounter connection issues, verify that Milvus is reachable at the specified URI and that the MCP server is running. Check for firewall rules, correct URI formatting, and that the uv runner is installed and accessible in your environment.

Available tools

milvus-text-search

Search documents using full-text search on a Milvus collection with options for limit and fields to return.

milvus-vector-search

Perform a vector similarity search on a Milvus collection, with configurable vector field, limit, metrics, and optional filter.

milvus-hybrid-search

Combine vector similarity with attribute filtering to retrieve results that meet both vector and metadata criteria.

milvus-multi-vector-search

Run vector searches using multiple query vectors against a single collection with per-query limits.

milvus-query

Query a collection using filter expressions and return selected output fields.

milvus-count

Count entities in a collection with an optional filter.

milvus-list-collections

List all collections in the Milvus database.

milvus-collection-info

Get detailed information about a specific collection.

milvus-get-collection-stats

Retrieve statistics for a collection.

milvus-create-collection

Create a new collection with a defined schema and optional index parameters.

milvus-load-collection

Load a collection into memory for faster search and query.

milvus-release-collection

Release a collection from memory.

milvus-get-query-segment-info

Get information about query segments for a collection.

milvus-get-collection-loading-progress

Get the loading progress of a collection.

milvus-insert-data

Insert data into a Milvus collection.

milvus-bulk-insert

Insert data in batches for improved performance.

milvus-upsert-data

Upsert data into a collection, inserting or updating existing entities.

milvus-delete-entities

Delete entities from a collection using a filter expression.

milvus-create-dynamic-field

Add a dynamic field to an existing collection.

milvus-create-index

Create an index on a vector field with configurable type and metric.

milvus-get-index-info

Get information about indexes in a collection.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational