MCP向量同步服务

MCP向量同步服务是一个基于事件的自动化多租户搜索向量同步服务,与Supabase集成。它通过接收Supabase的实时通知,使用OpenAI生成向量嵌入,并更新项目向量表,以保持高效的向量搜索。该服务实现了MCP(模型上下文协议)来暴露同步工具和资源。

  • by qtoexdj
  • 更新于
在 GitHub 查看 qtoexdj/mcp_vector_sync

使用说明

基本能力

产品定位

MCP向量同步服务是一个基于事件的自动化多租户搜索向量同步服务,与Supabase集成,用于高效维护向量搜索数据。

核心功能

  • 基于100%事件的系统(直接从Supabase接收webhooks)
  • 使用OpenAI生成向量嵌入
  • 即时处理项目变更
  • 自动重试机制,采用指数退避策略
  • 审计日志记录,用于调试和监控
  • 多租户同步,数据完全隔离
  • 暴露MCP工具用于控制和监控
  • 健康检查服务器用于监控
  • 使用Docker容器化,便于部署
  • 兼容Railway生产部署

适用场景

  • 需要实时同步向量搜索数据的多租户应用
  • 使用Supabase作为后端数据库的项目
  • 需要高效向量搜索的应用

使用教程

使用依赖

  • Node.js >= 18
  • Supabase,包含proyectos和proyecto_vector表
  • OpenAI API Key
  • Docker(用于部署)

安装教程

  1. 安装依赖:
npm install
  1. 配置环境变量(在项目根目录创建.env文件)
  2. 开发模式运行:
npm run dev

Docker部署

# 构建镜像
docker build -t mcp-vector-sync .

# 运行容器
docker run -p 3000:3000 --env-file .env mcp-vector-sync

或使用Docker Compose:

docker-compose up

Railway部署

  1. 创建GitHub仓库并上传代码
  2. 在Railway创建新项目,选择GitHub仓库
  3. Railway会自动检测Dockerfile
  4. 在"Variables"部分配置环境变量
  5. 部署服务

调试方式

  • 检查OpenAI API Key是否正确
  • 确认Supabase URL和service key正确
  • 查看webhook_logs表诊断webhook问题
  • 设置LOG_LEVEL=debug获取详细日志
  • 监控健康检查端点:/health