mcpField
M
Mcp Milvus

Mcp Milvus

Local
github.com/tailabsDatabases1Updated 67w ago

About Mcp Milvus

Mcp Milvus is a Go MCP server for operating Milvus vector databases. It provides database, collection, index, data, and connection tools, with session connection pooling and middleware support.

Key features

  1. 01Database and collection lifecycle operations
  2. 02Create and remove indexes
  3. 03Insert, upsert, delete, and query data
  4. 04Similarity and hybrid vector search
  5. 05Session-based connection pooling
  6. 06Logging and authentication middleware

Use cases

  1. 01Manage Milvus databases and collections
  2. 02Run vector and hybrid searches
  3. 03Insert or update vector database records

MCP support

The server exposes Milvus connection and database-operation tools to MCP clients. It supports communication through the SSE interface.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP Milvus

A Model Context Protocol (MCP) server for Milvus vector database, providing comprehensive vector database operations.

🚀 Features

  • Complete Milvus Operations: Full lifecycle management of databases, collections, and indexes
  • High-Performance Vector Search: Support for similarity search, hybrid search, and more retrieval methods
  • Intelligent Session Management: Efficient connection pooling based on Ristretto cache
  • Engineering Architecture: Modular design for easy extension and maintenance
  • Middleware Support: Built-in logging, authentication, and other middleware
  • Docker Support: Complete containerized deployment solution
  • Type Safety: Go's strong type system ensures API safety

📋 Supported Tools

Database Management
  • milvus_create_database - Create database
  • milvus_list_databases - List all databases
  • milvus_use_database - Switch database
Collection Management
  • milvus_create_collection - Create collection
  • milvus_drop_collection - Drop collection
  • milvus_list_collections - List collections
  • milvus_get_collection_info - Get collection information
  • milvus_rename_collection - Rename collection
  • milvus_load_collection - Load collection into memory
  • milvus_release_collection - Release collection from memory
Index Management
  • milvus_create_index - Create index
  • milvus_drop_index - Drop index
Data Operations
  • milvus_insert_data - Insert data
  • milvus_upsert - Insert or update data
  • milvus_delete_entities - Delete entities
  • milvus_query - Conditional query
  • milvus_vector_search - Vector similarity search
Connection Management
  • milvus_connector - Establish Milvus connection

🛠️ Installation and Usage

Prerequisites
  • Go 1.24 or higher
  • Running Milvus instance
Install from Source
git clone https://github.com/tailabs/mcp-milvus.git
cd mcp-milvus
make deps
make build

Or using Go directly:

git clone https://github.com/tailabs/mcp-milvus.git
cd mcp-milvus
go mod download
go build -o mcp-milvus ./cmd/mcp-milvus
Docker Deployment
# Build image
docker build -t mcp-milvus .

# Run container
docker run -p 8080:8080 mcp-milvus
Usage
  1. Start the server
# Using Makefile
make run

# Or directly
./build/mcp-milvus
  1. Connect to Milvus Use the milvus_connector tool to establish connection:
{
  "address": "localhost:19530",
  "token": "username:password",
  "db_name": "default"
}
  1. Perform operations After connection is established, you can use other tools for database operations.

🏗️ Project Structure

mcp-milvus/
├── cmd/mcp-milvus/          # Main application entry
├── internal/
│   ├── middleware/          # Middleware (logging, auth, etc.)
│   ├── registry/            # Tool registry
│   ├── schema/              # Schema builder
│   ├── session/             # Session management
│   └── tools/               # Milvus tool implementations
├── Dockerfile               # Docker build file
├── go.mod                   # Go module definition
└── README.md               # Project documentation

🔧 Configuration

Environment Variables
  • LOG_LEVEL: Log level (debug/info/warn/error), default: info
  • PORT: Service port, default: 8080
Connection Configuration

Supports the following connection parameters:

  • address: Milvus service address
  • token: Authentication token (format: username:password)
  • db_name: Database name

🤝 Contributing

We welcome all forms of contributions! Please see CONTRIBUTING.md for details.

Development Workflow
  1. Fork this repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Set up development environment (make deps && make tools)
  4. Make your changes and test (make test && make lint)
  5. Commit your changes (git commit -m 'Add some AmazingFeature')
  6. Push to the branch (git push origin feature/AmazingFeature)
  7. Open a Pull Request
Available Make Commands

Run make help to see all available commands:

make help          # Show all available commands
make build         # Build binary
make test          # Run tests
make lint          # Run linter
make fmt           # Format code
make run           # Build and run
make dev           # Run with live reload
make docker        # Build Docker image
make build-all     # Build for all platforms
make release       # Prepare release
make clean         # Clean build artifacts

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🔗 Related Links

📞 Support

If you encounter any issues or have questions:

  1. Check Issues to see if similar issues exist
  2. Create a new Issue describing your problem
  3. Join discussions in Discussions

🙏 Acknowledgments

  • Milvus - Excellent vector database
  • MCP Go - Go implementation of MCP
  • All contributors and users

⭐ If this project helps you, please give it a Star!

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.