返回 MCP 目录
public公开dns本地运行

Embedding Search

一个基于MCP协议的嵌入向量搜索服务器,用于查询Turso数据库中的转录片段和嵌入向量,支持通过问题搜索相关片段。

article

README

🚀 MCP-嵌入搜索

MCP-嵌入搜索是一个模型上下文协议(MCP)服务器。它可以查询包含嵌入和转录片段的Turso数据库,用户能通过提问搜索相关转录片段,无需生成新的嵌入。

🚀 快速开始

MCP-嵌入搜索允许用户通过提问搜索Turso数据库中的相关转录片段。使用前,需按如下步骤进行配置。

✨ 主要特性

  • 🔍 转录片段的向量相似性搜索
  • 📊 基于余弦相似度的相关性评分
  • 📝 完整的转录元数据(剧集标题、时间戳)
  • ⚙️ 可配置的搜索参数(限制、最小分数)
  • 🔄 高效的数据库连接池
  • 🛡️ 全面的错误处理
  • 📈 优化性能以实现快速响应

📦 安装指南

控制台配置

将以下内容添加到您的Cline MCP设置中:

{
    "mcpServers": {
        "mcp-embedding-search": {
            "command": "node",
            "args": ["/path/to/mcp-embedding-search/dist/index.js"],
            "env": {
                "TURSO_URL": "your-turso-database-url",
                "TURSO_AUTH_TOKEN": "your-turso-auth-token"
            }
        }
    }
}

用于Claude Desktop的配置

将以下内容添加到您的Claude Desktop配置中:

{
    "mcpServers": {
        "mcp-embedding-search": {
            "command": "node",
            "args": ["/path/to/mcp-embedding-search/dist/index.js"],
            "env": {
                "TURSO_URL": "your-turso-database-url",
                "TURSO_AUTH_TOKEN": "your-turso-auth-token"
            }
        }
    }
}

💻 使用示例

基础用法

该服务器实现了一个MCP工具search_embeddings,可使用向量相似性搜索相关转录片段。

// 请求示例
{
    "question": "具体查询文本",
    "limit": 10,
    "min_score": 0.6
}

// 响应示例
[
    {
        "episode_title": "剧集标题",
        "segment_text": "转录片段内容...",
        "start_time": 123.45,
        "end_time": 167.89,
        "similarity": 0.85
    }
    // 更多结果...
]

📚 详细文档

API

search_embeddings

使用向量相似性搜索相关转录片段。 参数:

  • question (字符串,必需):查询文本
  • limit (数字,可选):返回的结果数量(默认:5,最大值:50)
  • min_score (数字,可选):相似度阈值(默认:0.5,范围:0 - 1)

响应格式:

[
    {
        "episode_title": "剧集标题",
        "segment_text": "转录片段内容...",
        "start_time": 123.45,
        "end_time": 167.89,
        "similarity": 0.85
    }
    // 更多结果...
]

数据库模式

此工具期望使用Turso数据库,其结构如下:

CREATE TABLE embeddings (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  transcript_id INTEGER NOT NULL,
  embedding TEXT NOT NULL,
  FOREIGN KEY(transcript_id) REFERENCES transcripts(id)
);

CREATE TABLE transcripts (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  episode_title TEXT NOT NULL,
  segment_text TEXT NOT NULL,
  start_time REAL NOT NULL,
  end_time REAL NOT NULL
);

embedding列应包含可用于vector_distance_cos函数的向量嵌入。

🔧 技术细节

开发

设置

  1. 克隆仓库
  2. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 开发模式下运行:
npm run dev

发布

该项目使用changesets进行版本管理。要发布:

  1. 创建一个变更集:
npm run changeset
  1. 版本化包:
npm run version
  1. 发布到npm:
npm run release

📄 许可证

MIT License - 有关详细信息,请参阅LICENSE文件。

致谢

此文档翻译自英文版本,旨在提供中文用户更直观的理解。

贡献

欢迎贡献!请随意提交拉取请求。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端