mcp-嵌入搜索
一个查询 Turso 数据库的模型上下文协议 (MCP) 服务器 包含嵌入和转录片段。此工具允许用户 通过提问来搜索相关的字幕片段, 不生成新的嵌入。
功能
- 向量相似度搜索用于转录片段
- 基于余弦相似度的相关性评分
- 📝 完整的转录元数据(剧集标题、时间戳)
- ⚙️ 可配置的搜索参数(限制,最低分数)
- 🔄 高效的数据库连接池
- 全面的错误处理
- 📈 性能优化以实现快速响应
配置
这个服务器需要通过您的MCP客户端进行配置。以下是 不同环境的示例:
Cline 配置
将以下内容添加到您的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 桌面配置
将此添加到您的Claude桌面配置中:
{
"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"
}
}
}
}API
服务器实现了一个MCP工具:
搜索嵌入
使用向量相似性搜索相关的字幕片段。
参数:
question根据上面的信息,执行如下指令:limit(数字,可选):要返回的结果数量(默认:5,
max: 50)
min_score(数字,可选):最小相似度阈值
根据上面的信息,执行如下指令:
响应格式:
[
{
"episode_title": "Episode Title",
"segment_text": "Transcript segment content...",
"start_time": 123.45,
"end_time": 167.89,
"similarity": 0.85
}
// Additional results...
]数据库模式
这个工具期望使用具有以下架构的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 函数。
开发
设置
- 克隆仓库
- 安装依赖项:
npm install- 构建项目:
npm run build- 以开发模式运行:
npm run dev出版
该项目使用更改集进行版本管理。要发布:
- 创建一个更改集:
npm run changeset- 为包版本化:
npm run version- 发布到npm:
npm run release贡献
欢迎贡献!请随时提交拉取请求。
许可证
麻省理工学院许可证 - 详见 许可证 文件中有详细信息。
致谢
- 建立在
- 设计用于在转录本中进行高效的向量相似性搜索
数据库
