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 条件合理
相关推荐
java1234_小锋14 小时前
能让你的 AI 编程 Token 降低 60% 以上的开源神器:目前 GitHub 狂揽约 4.2 万星标
人工智能·github·ai编程
sanshanjianke14 小时前
AI辅助网文创作理论研究笔记(十二):L1.5——情节编排层
人工智能·ai写作
kexnjdcncnxjs14 小时前
mysql如何优化小表的查询索引_mysql全表扫描与索引代价对比
jvm·数据库·python
imbackneverdie14 小时前
读研有哪些常用的科研工具
人工智能·ai·aigc·科研绘图·研究生·ai工具·科研工具
qcx2314 小时前
【AI Engineering · Harness 系列】02 确定性外壳 × 非确定性内核——git push 红线的故事
人工智能·git·prompt·agent·engineering·harness
愚公搬代码14 小时前
【愚公系列】《AI漫剧创作一本通》010-角色设定、场景设计与道具设计(提示词直出与参考图生图的区别)
人工智能
qyz_hr14 小时前
一体化HR系统凭什么更好用?从用户口碑看懂红海云的成功逻辑
人工智能
逆境不可逃14 小时前
Claude Skills 完全使用指南:从入门到自定义开发
人工智能·skill·claudecode·skills
一次旅行14 小时前
豆包突然宣布收费,3.45亿用户的好日子到头了?
人工智能
大数据在线14 小时前
千亿企业级存储市场,产品逻辑变了
人工智能·浪潮信息·智能体·ai存储·a9000