Skip to main content
Glama

tv-recommender-mcp-server

story-2-9-trailers.md2.81 kB
# Epic-2 - Story-2.9 查询剧集预告片与视频 (Query Show Trailers and Videos) **As a** 用户 (User) **I want** 获取指定剧集的预告片或其他相关视频链接 (to get trailers or other related video links for a specific TV show) **so that** 我可以快速预览剧集内容,判断是否感兴趣 (I can quickly preview the show's content and decide if I'm interested) ## Status 已完成 (Completed) ## Context - 当前应用只提供文本和静态图片信息。 - 此功能利用TMDB的 `/tv/{series_id}/videos` API端点。 - 提供更直观的剧集预览方式。 ## Estimation Story Points: 1 ## Tasks 1. - [x] 定义新的MCP工具 `get_show_videos` 1. - [x] 设计工具输入参数: `{ "show_title": string }` (剧集名称) 2. - [x] 设计工具输出格式: 包含视频列表(名称, 类型如Trailer/Teaser, 站点如YouTube, 视频key)。 2. - [x] 实现TMDB API调用逻辑 1. - [x] 添加函数:根据剧集名称搜索获取剧集ID (`search/tv`) (可复用已有逻辑)。 2. - [x] 添加函数:根据剧集ID获取视频列表 (`/tv/{series_id}/videos`)。 3. - [x] 组合上述函数,处理未找到剧集或无视频的情况。 3. - [x] 编写单元测试 1. - [x] 测试剧集ID查找。 2. - [x] 测试获取视频列表。 3. - [x] 测试错误处理。 ## Constraints - 视频可能托管在外部平台(如YouTube, Vimeo),需要根据站点和key构建完整URL。 - 可能没有所有剧集的视频,或者没有中文视频。 ## Data Models / Schema - **Input:** ```json { "show_title": "string" } ``` - **Output (Example):** ```json { "show_id": 1399, "videos": [ { "name": "Official Trailer", "key": "dQw4w9WgXcQ", "site": "YouTube", "type": "Trailer", "official": true, "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" // 构建好的URL } // ... more videos ] } ``` ## Structure - 新增工具实现文件: `src/tools/videosTool.ts` - 更新服务层: `src/services/tmdbClient.ts` (添加新的 `getTvShowVideos` 方法) - 更新服务器入口: `src/server.ts` (注册新工具) ## Diagrams (暂无) ## Dev Notes - 需要根据 `site` 字段构建不同平台的视频URL。 - 优先返回 `type` 为 `Trailer` 且 `official` 为 `true` 的视频。 ## Chat Command Log - 功能已完成实现,已添加 `getTvShowVideos` 方法到 `tmdbClient.ts`,新增 `videosTool.ts` 工具文件,并注册 `get_show_videos` 工具。 - 实现的功能支持通过剧集名称获取相关预告片和视频信息,将视频按照官方性质和类型(预告片/预览)排序,并提供了根据不同平台(如YouTube、Vimeo)自动生成的完整视频URL。

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/terryso/tv-recommender-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server