AI Agent 接入 Zvec (一):MCP 篇

在 AI 编程助手(如 Claude Code、Qoder)的日常工作流中,开发者经常需要与向量数据库交互------创建集合、写入数据、执行语义搜索。但这些操作通常需要切换到终端手动执行代码,打断了与 AI 的对话节奏。

Zvec MCP Server 通过 MCP(Model Context Protocol) 协议,将 Zvec 的全部能力以标准化工具的形式暴露给 AI 助手。配置完成后,AI 可以在对话中直接调用向量数据库操作------无需你离开编辑器,无需手写任何代码。

快速配置

Qoder(推荐)

使用 Qoder CLI(一键配置):

ini 复制代码
# OpenAI
qodercli mcp add zvec-mcp uvx zvec-mcp-server \
  -e OPENAI_API_KEY=sk-xxx \
  -e OPENAI_BASE_URL=https://api.openai.com/v1 \
  -e OPENAI_EMBEDDING_MODEL=text-embedding-3-small

# 或 DashScope
qodercli mcp add zvec-mcp uvx zvec-mcp-server \
  -e OPENAI_API_KEY=sk-xxx \
  -e OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 \
  -e OPENAI_EMBEDDING_MODEL=text-embedding-v4

手动配置~/.qoder/mcp.json):

json 复制代码
{
  "mcpServers": {
    "zvec-mcp": {
      "command": "uvx",
      "args": ["zvec-mcp-server"],
      "env": {
        "OPENAI_API_KEY": "sk-xxx",
        "OPENAI_BASE_URL": "https://api.openai.com/v1",
        "OPENAI_EMBEDDING_MODEL": "text-embedding-3-small"
      }
    }
  }
}

Claude Code

ini 复制代码
claude mcp add zvec-mcp uvx zvec-mcp-server \
  -e OPENAI_API_KEY=sk-xxx \
  -e OPENAI_BASE_URL=https://api.openai.com/v1 \
  -e OPENAI_EMBEDDING_MODEL=text-embedding-3-small

Claude Desktop

配置文件:~/Library/Application Support/Claude/claude_desktop_config.json

json 复制代码
{
  "mcpServers": {
    "zvec-mcp": {
      "command": "uvx",
      "args": ["zvec-mcp-server"],
      "env": {
        "OPENAI_API_KEY": "sk-xxx"
      }
    }
  }
}

本地开发配置

如需本地开发(使用项目源码):

json 复制代码
{
  "mcpServers": {
    "zvec-mcp": {
      "command": "uv",
      "args": ["run", "python", "-m", "zvec_mcp"],
      "cwd": "/path/to/zvec-mcp-server",
      "env": {
        "OPENAI_API_KEY": "sk-xxx"
      }
    }
  }
}

环境变量说明:

  • OPENAI_API_KEY(必需):API 密钥
  • OPENAI_BASE_URL(可选):自定义端点,如 DashScope
  • OPENAI_EMBEDDING_MODEL(可选):默认 text-embedding-3-small

验证连接

配置完成后,输入以下命令验证:

复制代码
列出当前可用的 MCP 工具

应返回 17 个 zvec-mcp 工具。如未显示,检查配置并重启客户端。

快速开始(日志故障排查场景)

Part 1 --- 创建日志知识库

bash 复制代码
创建一个名为 log_knowledge 的向量集合,存储在 ./data/log_kb 目录下,
用于存储系统日志相关的故障排查知识。

Part 2 --- 写入数据库故障日志知识

ini 复制代码
向 log_knowledge 写入以下故障案例:
- "ERROR: Connection pool exhausted. Max connections (100) reached. Unable to acquire connection from pool within 30s timeout. Consider increasing max pool size or check for connection leaks."
- "WARN: Slow query detected (execution time: 15.3s). Query: SELECT * FROM large_table WHERE unindexed_column = 'value'. Consider adding index on unindexed_column."

Part 3 --- 写入应用层故障日志知识

erlang 复制代码
向 log_knowledge 写入以下故障案例:
- "ERROR: OutOfMemoryError: Java heap space. Heap dump triggered. Analysis shows 85% memory consumed by cached user sessions. Recommendation: review session timeout settings and implement LRU cache eviction."
- "WARN: Circuit breaker 'payment-service' opened after 50 consecutive failures. Fallback strategy activated. Root cause: payment-service timeout (5s) insufficient under high load."

Part 4 --- 写入基础设施故障日志知识

erlang 复制代码
向 log_knowledge 写入以下故障案例:
- "ERROR: Disk full (99% usage) on /var/log. Log rotation failed due to permission denied on /etc/logrotate.d/app. Syslog daemon stopped accepting new messages."
- "CRITICAL: SSL certificate expired on 2024-01-15. HTTPS connections rejected. Renewal automation failed due to DNS challenge timeout."

语义搜索示例

根据错误现象搜索解决方案:

arduino 复制代码
在 log_knowledge 中搜索 "数据库连接超时"

按故障级别过滤:

arduino 复制代码
在 log_knowledge 中搜索 "内存问题"

按类别精确定位:

arduino 复制代码
在 log_knowledge 中搜索 "证书相关错误"

多条件组合查询:

arduino 复制代码
在 log_knowledge 中搜索 "服务不可用",返回 json 格式

工具概览

类别 工具 说明
集合管理 create_and_open_collection / open_collection / get_collection_info / destroy_collection 创建/打开/删除集合
文档操作 insert_documents / upsert_documents / update_documents / delete_documents / fetch_documents CRUD 操作
向量查询 vector_query / multi_vector_query 单向量/多向量搜索
索引管理 create_index / drop_index / optimize_collection 索引管理
AI Embedding generate_dense_embedding / embedding_write / embedding_search 文本嵌入与搜索

故障排查

问题 解决方案
工具不显示 检查配置文件路径,重启客户端
Embedding 报错 确认 OPENAI_API_KEY 和环境变量设置
集合不存在 先用 open_collection 打开集合
维度不匹配 检查 get_collection_info 中的维度定义
搜索无结果 确认有数据、已建索引、filter 条件合理
相关推荐
kfaino19 小时前
码农的AI翻身(五)你好,我叫 Transformer
后端·aigc
九酒1 天前
AI Agent 开发踩坑记:口播功能非得用 APP 原生实现吗?
前端·人工智能·agent
蝎子莱莱爱打怪1 天前
DSpark 讲透:DeepSeek 不换模型,硬把 V4 提速 85%,是怎么做到的?
人工智能·面试·程序员
巫山老妖1 天前
置身AI内
人工智能
Oneslide1 天前
机械革命 单系统纯净重装Ubuntu(全盘覆盖,清空原有Windows)
后端
GetcharZp1 天前
告别OOM!用Go+libvips实现30000×50000超大图片的流式瓦片服务
后端·go
IT_陈寒1 天前
JavaScript项目实战经验分享
前端·人工智能·后端
用户47949283569151 天前
6w star,GitHub 趋势第一的 Ponytail,这个agent插件到底在火什么
前端·后端
vanuan1 天前
两个AI智能体第一次对话-A2A双Agent协作实战
人工智能
神奇小汤圆1 天前
2026一线大厂Java八股文精选(附答案,高质量整理)
后端