loading…
Search for a command to run...
loading…
Enables large language models to interact with Milvus vector databases through natural language, supporting semantic search with built-in OpenAI-compatible embe
Enables large language models to interact with Milvus vector databases through natural language, supporting semantic search with built-in OpenAI-compatible embedding services and comprehensive collection management.
本程序是一个为大语言模型设计、遵循 Model Context Protocol (MCP) 协议的 Milvus 向量数据库接入服务。它可以作为大语言模型(如 Antigravity)的外部向量数据库交互工具。
支持 Milvus 2.6 向量数据库,内置 OpenAI 兼容的 Embedding 服务(如通义千问 text-embedding-v4),让大模型可以直接用自然语言进行语义搜索。
drop_collection 和 delete_entities 作为独立工具可在 MCP 客户端单独开关;drop_collection 额外需要 confirmDrop=true 参数做双重保险。npm install --omit=dev 安装依赖。npm install
npm run build
编译产物会存放在 ./dist 目录中。
npm link
执行完毕后,可以在系统任意处使用全局命令 milvus-mcp-server 快速唤起该服务。
使用 JSON 文件配置 Milvus 连接和 Embedding 服务。
{
"connections": [
{
"name": "my-milvus",
"address": "localhost:19530",
"username": "root",
"password": "Milvus",
"database": "default",
"description": "本地开发 Milvus 实例,存储文档和图片的向量索引"
}
],
"embedding": {
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"apiKey": "sk-your-api-key",
"model": "text-embedding-v4",
"dimensions": 1024
}
}
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
name |
string | ✅ | 连接的唯一标识名称 |
address |
string | ✅ | Milvus 服务地址,格式 host:port |
username |
string | ✅ | 用户名 |
password |
string | ✅ | 密码 |
database |
string | ❌ | 数据库名,默认 "default" |
description |
string | ❌ | 连接的业务描述 |
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
baseUrl |
string | ✅ | OpenAI 兼容 API 端点 |
apiKey |
string | ✅ | API Key |
model |
string | ✅ | 模型名称,如 "text-embedding-v4" |
dimensions |
number | ✅ | 输出向量维度。text-embedding-v4 支持:2048, 1536, 1024, 768, 512, 256, 128, 64 |
milvus-mcp-server --config <path-to-config.json>
参数列表:
-c, --config <path>:配置文件路径(必填)。以常规 MCP Client(如 Antigravity)的配置为例:
{
"mcpServers": {
"MilvusMCP": {
"command": "node",
"args": [
"绝对路径/milvus_mcp_server/dist/index.js",
"--config", "绝对路径/milvus-config.json"
]
}
}
}
list_milvus_connectionslist_collectionsconnectionName (String): 目标连接名称。describe_collectionconnectionName (String): 目标连接名称。collectionName (String): Collection 名称。create_collectionconnectionName (String): 目标连接名称。collectionName (String): 新 Collection 名称。description (String, 可选): Collection 描述。fields (Array): 字段定义数组,每项包含 name, dataType, isPrimaryKey?, autoId?, dimension?, maxLength?, description?。drop_collectionconnectionName (String): 目标连接名称。collectionName (String): 要删除的 Collection 名称。confirmDrop (Boolean): 必须设为 true 才能执行删除。安全双重确认机制。insert_vectorsconnectionName (String): 目标连接名称。collectionName (String): 目标 Collection 名称。data (Array): 数据数组。delete_entitiesconnectionName (String): 目标连接名称。collectionName (String): 目标 Collection 名称。filter (String): Milvus 过滤表达式,如 'id in [1, 2, 3]'。vector_searchconnectionName (String): 目标连接名称。collectionName (String): 目标 Collection 名称。text (String, 可选): 搜索文本,与 vector 二选一。vector (Number[], 可选): 原始搜索向量,与 text 二选一。topK (Number, 可选): 返回条数,默认 10。filter (String, 可选): 标量过滤表达式。outputFields (String[], 可选): 要返回的字段列表。query_entitiesconnectionName (String): 目标连接名称。collectionName (String): 目标 Collection 名称。filter (String): Milvus 过滤表达式。outputFields (String[], 可选): 要返回的字段列表。limit (Number, 可选): 最大返回条数,默认 100。hybrid_searchvector_search 的区别在于 filter 为必填参数。connectionName (String): 目标连接名称。collectionName (String): 目标 Collection 名称。text (String, 可选): 搜索文本,与 vector 二选一。vector (Number[], 可选): 原始搜索向量,与 text 二选一。filter (String): 必填,标量过滤表达式。topK (Number, 可选): 返回条数,默认 10。outputFields (String[], 可选): 要返回的字段列表。Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"milvus-mcp-server": {
"command": "npx",
"args": []
}
}
}