mcpField
M
Mcp Milvus

Mcp Milvus

本地服务
github.com/tailabs数据库167 周前更新

关于 Mcp Milvus

Mcp Milvus 是用于操作 Milvus 向量数据库的 Go MCP 服务端,提供数据库、集合、索引、数据和连接工具,并支持会话连接池及中间件。

主要功能

  1. 01管理数据库和集合生命周期
  2. 02创建和删除索引
  3. 03插入、更新、删除及查询数据
  4. 04相似度和混合向量搜索
  5. 05基于会话的连接池
  6. 06日志和身份验证中间件

适用场景

  1. 01管理 Milvus 数据库和集合
  2. 02执行向量及混合搜索
  3. 03插入或更新向量数据库记录

MCP 相关

该服务端向 MCP 客户端提供 Milvus 连接及数据库操作工具,并支持通过 SSE 接口通信。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Milvus

适用于 Milvus 向量数据库的 Model Context Protocol (MCP) 服务,提供全面的向量数据库操作。

🚀 功能

  • 完整的 Milvus 操作:全面管理数据库、集合和索引的生命周期
  • 高性能向量搜索:支持相似度搜索、混合搜索及更多检索方式
  • 智能会话管理:基于 Ristretto 缓存实现高效连接池
  • 工程化架构:采用模块化设计,便于扩展和维护
  • 中间件支持:内置日志记录、身份验证等中间件
  • Docker 支持:提供完整的容器化部署方案
  • 类型安全:Go 的强类型系统确保 API 安全

📋 支持的工具

数据库管理
  • milvus_create_database - 创建数据库
  • milvus_list_databases - 列出所有数据库
  • milvus_use_database - 切换数据库
集合管理
  • milvus_create_collection - 创建集合
  • milvus_drop_collection - 删除集合
  • milvus_list_collections - 列出集合
  • milvus_get_collection_info - 获取集合信息
  • milvus_rename_collection - 重命名集合
  • milvus_load_collection - 将集合加载到内存
  • milvus_release_collection - 从内存中释放集合
索引管理
  • milvus_create_index - 创建索引
  • milvus_drop_index - 删除索引
数据操作
  • milvus_insert_data - 插入数据
  • milvus_upsert - 插入或更新数据
  • milvus_delete_entities - 删除实体
  • milvus_query - 条件查询
  • milvus_vector_search - 向量相似度搜索
连接管理
  • milvus_connector - 建立 Milvus 连接

🛠️ 安装和使用

前置条件
  • Go 1.24 或更高版本
  • 正在运行的 Milvus 实例
从源代码安装
git clone https://github.com/tailabs/mcp-milvus.git
cd mcp-milvus
make deps
make build

或者直接使用 Go:

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

# Run container
docker run -p 8080:8080 mcp-milvus
使用方法
  1. 启动服务
# Using Makefile
make run

# Or directly
./build/mcp-milvus
  1. 连接到 Milvus 使用 milvus_connector 工具建立连接:
{
  "address": "localhost:19530",
  "token": "username:password",
  "db_name": "default"
}
  1. 执行操作 建立连接后,你可以使用其他工具执行数据库操作。

🏗️ 项目结构

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

🔧 配置

环境变量
  • LOG_LEVEL:日志级别(debug/info/warn/error),默认值:info
  • PORT:服务端口,默认值:8080
连接配置

支持以下连接参数:

  • address:Milvus 服务地址
  • token:身份验证令牌(格式:username:password)
  • db_name:数据库名称

🤝 贡献

欢迎以任何形式参与贡献!详情请参阅 CONTRIBUTING.md。

开发工作流
  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 配置开发环境(make deps && make tools)
  4. 修改代码并运行测试(make test && make lint)
  5. 提交更改(git commit -m 'Add some AmazingFeature')
  6. 推送到分支(git push origin feature/AmazingFeature)
  7. 创建 Pull Request
可用的 Make 命令

运行 make help 查看所有可用命令:

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

📝 许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

🔗 相关链接

📞 支持

如果你遇到问题或有任何疑问:

  1. 查看 Issues,确认是否已有类似问题
  2. 创建新的 Issue 描述你的问题
  3. 在 Discussions 中参与讨论

🙏 致谢

  • Milvus - 优秀的向量数据库
  • MCP Go - MCP 的 Go 实现
  • 所有贡献者和用户

⭐ 如果此项目对你有所帮助,请点个 Star!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。