项目简介
这是一个基于 Model Context Protocol (MCP) 构建的服务器应用。它的核心功能是连接到指定的 Turso 数据库,该数据库存储了带有内嵌向量(embeddings)的文本片段(例如播客文字稿)。该服务器对外暴露一个标准的 MCP 工具,允许 MCP 客户端(如大型语言模型应用)通过自然语言查询进行向量相似度搜索,从而找到与查询最相关的文本片段,而无需客户端自己生成内嵌向量。
主要功能点
- 向量相似度搜索: 根据用户提出的问题,生成内嵌向量,并在数据库中查找与其最相似的文本片段。
- 相关性评分: 对搜索结果提供相似度评分,帮助用户或LLM判断结果的相关程度。
- 完整的片段信息: 返回匹配文本片段的详细信息,包括所属的节目标题、文本内容以及开始和结束时间戳。
- 可配置的搜索参数: 支持设置返回结果的数量上限和最低相似度阈值。
- 集成外部Embedding服务: 利用 Voyage AI 等外部服务生成查询文本的内嵌向量。
- 标准MCP工具: 提供一个名为 'search_embeddings' 的工具,方便LLM通过标准方式调用。
安装步骤
- 克隆此 GitHub 仓库到您的本地或服务器环境。
- 确保您的系统安装了 Node.js 和 npm(或者 yarn/pnpm)。
- 在仓库根目录打开终端,安装项目依赖:
npm install - 构建项目:
构建成功后,可执行文件通常位于 'dist/index.js'。npm run build
服务器配置
此 MCP 服务器需要通过您的 MCP 客户端进行配置,以便客户端知道如何启动和连接它。配置通常以 JSON 格式指定,您需要在客户端的 MCP 服务器配置中添加以下信息:
- 服务器名称 ('server name'): 例如 'mcp-embedding-search'。
- 启动命令 ('command'): 通常是 'node'。
- 启动参数 ('args'): 指向构建后的主脚本路径,例如 '["/path/to/mcp-embedding-search/dist/index.js"]'。请替换 '/path/to/mcp-embedding-search/' 为您实际存放项目的路径。
- 环境变量 ('env'): 需要设置连接 Turso 数据库和调用 Embedding 服务所需的秘钥和地址:
- 'TURSO_URL': 您的 Turso 数据库连接 URL。
- 'TURSO_AUTH_TOKEN': 您的 Turso 数据库认证 Token。
- 'VOYAGE_API_KEY': 用于生成 Embedding 的 Voyage AI API 秘钥。
请根据您使用的 MCP 客户端(如 Cline, Claude Desktop 等)的文档,将上述信息填入其 MCP 服务器配置界面或文件中。客户端启动时会根据这些配置启动并连接到此服务器。
基本使用方法
一旦 MCP 客户端成功配置并连接到此服务器,LLM 就可以发现并调用服务器提供的 'search_embeddings' 工具。
LLM 调用此工具时,需要提供以下参数:
- 'question' (必需,字符串): 用户或LLM提出的用于搜索的查询文本。
- 'limit' (可选,数字): 希望返回的最大结果数量,默认为 5,最大为 50。
- 'min_score' (可选,数字): 搜索结果的最低相似度分数阈值,默认为 0.5,范围在 0 到 1 之间。
服务器接收到调用请求后,会执行以下步骤:
- 使用 'question' 参数调用 Voyage AI API 生成内嵌向量。
- 使用生成的向量在 Turso 数据库中执行相似度搜索。
- 根据 'limit' 和 'min_score' 参数过滤结果。
- 将找到的相关文本片段信息(节目标题、文本、时间戳、相似度)返回给 MCP 客户端,通常以 JSON 格式的字符串形式包含在工具调用的响应中。
LLM 客户端解析这些结果后,就可以利用这些上下文信息来回答用户的问题或执行其他任务。
信息
分类
AI与计算