返回市场
MCP嵌入式搜索服务器

MCP嵌入式搜索服务器

作者:spences102 星标更新:2025-11-14

项目介绍

mcp-embedding-search

一个模型上下文协议(MCP)服务器,用于查询包含嵌入向量和转录片段的Turso数据库。此工具允许用户通过提问来搜索相关的转录片段,而无需生成新的嵌入向量。

功能

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

配置

此服务器需要通过您的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 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"
			}
		}
	}
}

API

该服务器实现了以下MCP工具:

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. 创建一个changeset:
npm run changeset
  1. 版本化包:
npm run version
  1. 发布到npm:
npm run release

贡献

欢迎贡献!请随时提交Pull Request。

许可证

MIT许可证 - 详情见LICENSE文件。

致谢

  • 基于模型上下文协议
  • 设计用于高效地在转录数据库中进行向量相似性搜索 </中文翻译>