使用说明
项目简介
Vectra MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它充当 LLM 客户端和 Vectra 知识库之间的桥梁。通过 MCP 协议,该服务器允许 LLM 客户端以标准化的方式访问和操作 Vectra 知识库中的数据。它提供了一系列工具,用于知识库的管理、数据嵌入和查询,使得 LLM 应用能够方便地利用 Vectra 强大的向量搜索和知识图谱能力。
主要功能点
- 知识库管理: 支持创建和列出现有的 Vectra 知识库集合 (collections)。
- 数据嵌入: 允许批量嵌入文本内容和本地文件到 Vectra 知识库中,支持为数据添加元数据。
- 知识查询: 提供强大的混合搜索(向量 + 关键词)功能,并默认启用图搜索增强,可以根据文本内容在指定的知识库集合中进行查询,并支持多种过滤条件。
- 文件管理: 支持将已嵌入的文件添加到集合、列出集合中的文件以及删除文件。
- 底层数据访问: 提供直接访问底层 ArangoDB 数据库节点的功能,方便进行更细粒度的数据操作和调试。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已经安装了 Node.js 和 npm (Node 包管理器)。
- 克隆仓库: 将 'vectra-mcp' 仓库克隆到本地。
git clone https://github.com/dangvu0502/vectra-mcp.git cd vectra-mcp - 安装依赖: 在仓库根目录下运行以下命令安装项目依赖。
npm install - 构建项目: 运行以下命令构建 TypeScript 代码。
npm run build
服务器配置
MCP 客户端需要配置以下信息以连接到 Vectra MCP Server。配置信息为 JSON 格式,通常在客户端的配置文件中设置。
{ "serverName": "vectra-mcp", // MCP 服务器名称,可以自定义 "command": "node", // 启动服务器的命令,这里使用 node 解释器 "args": [ // 启动命令的参数 "build/index.js" // 指向编译后的服务器入口文件 ], "env": { // 环境变量(可选) // "VECTRA_API_URL": "http://your-vectra-api:3000/api" // Vectra API 的 URL,如果 Vectra API 不在本地默认端口,需要在此处配置。 } }
配置说明:
- 'serverName': 为你的 MCP 服务器指定一个名称,这个名称将在客户端中用于标识和选择服务器。
- 'command': 指定运行 MCP 服务器的命令。对于 Node.js 服务器,通常是 'node'。
- 'args': 一个字符串数组,包含传递给 'command' 的参数。这里指向编译后的 'build/index.js' 文件,这是 Vectra MCP Server 的入口点。
- 'env': 一个可选的对象,用于设置环境变量。
- 'VECTRA_API_URL': 重要 这个环境变量用于配置 Vectra 后端 API 的 URL。默认值为 'http://localhost:3000/api'。如果你的 Vectra API 服务运行在不同的地址或端口,请务必修改此环境变量。 你可以通过在客户端配置的 'env' 字段中设置,或者在运行客户端的环境中设置全局环境变量。
重要提示: 确保 Vectra API 服务已经独立运行,并且 'VECTRA_API_URL' 配置正确,Vectra MCP Server 才能正常工作。
基本使用方法
- 启动服务器: 在仓库根目录下,使用配置中定义的命令启动 Vectra MCP Server。通常情况下,在终端运行 'node build/index.js' 即可。服务器默认监听标准输入输出 (stdio)。
- 配置 MCP 客户端: 在你的 MCP 客户端应用中,配置上述 JSON 格式的服务器信息。客户端将根据配置连接到 Vectra MCP Server。
- 调用工具: 通过 MCP 客户端,你可以调用 Vectra MCP Server 提供的各种工具,例如:
- 使用 'create_collection' 创建新的知识库集合。
- 使用 'embed_texts' 或 'embed_files' 将文本或文件内容嵌入到 Vectra 中。
- 使用 'query_collection' 在指定的集合中执行知识查询。
- 使用 'list_collections'、'list_files_in_collection' 等工具管理知识库。
具体工具的调用方法和参数,请参考仓库中 'src/tools.ts' 文件中定义的工具列表和输入参数 Schema,以及 MCP 客户端的文档。
示例使用场景: 一个 LLM 应用需要访问 Vectra 知识库进行文档检索和问答。通过配置 Vectra MCP Server,LLM 客户端可以调用 'query_collection' 工具,向 Vectra 知识库发送查询请求,并将返回的上下文信息用于生成更准确和相关的回复。
信息
分类
数据库与文件