视频查询服务

一个基于自然语言查询的视频搜索服务,通过AI分析视频内容并提供相关视频片段。

  • by aryankeluskar
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 aryankeluskar/poke-video-mcp

使用说明

视频查询MCP服务器

一个MCP(模型上下文协议)服务器,它使用自然语言查询提供视频搜索功能。该服务器通过与Flashback视频处理API对接,来搜索您的个人视频收藏。

特点/特性

  • 🔍(放大镜图标,通常表示搜索或查看细节) 自然语言搜索使用日常语言查询视频(例如,“做演讲的人”,“狗在公园里跑”)
  • 🤖 机器人 人工智能生成的描述返回视频内容的详细描述,包括视觉分析和音频转录
  • 🎬 电影/视频(符号,常用于表示与电影或视频相关的内容) 视频片段获取相关30秒视频片段的直接链接
  • ⚡(闪电符号,无特定中文含义,可保持原样或根据上下文意译为“闪电”等) 快速且安全带有一小时过期时间的预签名URL,用于安全访问
  • 📊 表格/数据图表 相关性评分结果按与您查询的语义相似度排序

设置

先决条件

  • 您的Flashback账户用户ID
  • 访问Flashback视频处理系统

配置

当将此MCP服务器连接到Poke或其他MCP客户端时,您需要提供:

  • 用户ID您的唯一Flashback帐户标识符(例如。, 4087fce3-3d86-4047-b35f-4004b4c19192)

发展

  1. 运行服务器:

    uv run dev
    
  2. 交互式测试:

    uv run playground
    

使用示例

查询视频:

query_videos("person talking", max_results=5)

获取设置帮助:

get_setup_instructions()

它是如何工作的

  1. 视频处理上传到Flashback的视频会自动:

    • 分成约30秒的片段
    • 使用AI分析视觉内容
    • 为音频内容进行转录
    • 存储在一个可搜索的向量数据库中
  2. 搜索过程当你搜索时:

    • 您的查询被转换为嵌入表示
    • 系统找到匹配的视频片段
    • 返回相关片段的描述和URL
  3. 结果每个结果包括:

    • 视频内容的人工智能生成描述
    • 相关性得分(0-1,得分越高 = 相关性越强)
    • 直接观看视频片段的URL
    • URL的过期时间

API 参考

工具

query_videos(query: str, max_results: int = 10) -> str

基于自然语言查询搜索视频片段。

参数:

  • query你所寻找内容的自然语言描述
  • max_results返回结果的最大数量(1-15)

返回值: 包含视频描述和URL的格式化文本

get_setup_instructions() -> str

获取视频查询系统的详细设置说明。

返回值: 完整的安装与使用指南

资源

  • api://video-processing底层视频处理API的相关信息

示例

# Search for specific content
query_videos("meeting discussion about deadlines")
query_videos("someone cooking in kitchen")
query_videos("red car driving")

# Limit results
query_videos("presentation", max_results=3)

故障排除

  • 未找到结果检查视频是否已上传到您的Flashback账户
  • **“无可用描述”**较旧的视频可能需要重新处理以获取完整描述
  • 过期的URL出于安全考虑,视频URL在1小时后失效 - 如需最新结果,请重新请求

技术细节

  • 后端FastAPI服务已部署在Modal上
  • 向量数据库用于语义搜索的Pinecone
  • 人工智能模型用于视觉分析的人类中心主义Claude模型,用于转录的OpenAI Whisper模型
  • 存储用于视频文件的Google云存储

部署

准备好部署了吗?将代码推送到GitHub,然后部署到Smithery:

  1. 在(某处)创建一个新仓库 github.com/new(中文可理解为“GitHub新项目页面”或“GitHub新建页面”)

  2. 初始化 Git 并推送到 GitHub:

    git add .
    git commit -m "Video Query MCP Server 🎬"
    git remote add origin https://github.com/YOUR_USERNAME/YOUR_REPO.git
    git push -u origin main
    
  3. 将您的服务器部署到Smithery上 smithery.ai/new 翻译为中文是:“smithery.ai的新页面”或“smithery.ai的新增内容”(具体翻译可能根据上下文有所调整,这里提供了一种较为通用的表述)。不过,直接保留“smithery.ai/new”作为网址或路径的表述也是合理的,因为网址通常不直接翻译