- Home
- MCP servers
- Milvus
Milvus
- 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.