Skip to main content
Glama

tv-recommender-mcp-server

popularTrendingTool.ts2.97 kB
import { tmdbClient } from '../services/tmdbClient'; /** * 热门剧集查询参数接口 */ export interface GetPopularShowsParams { /** 页码,默认为1 */ page?: number; } /** * 趋势剧集查询参数接口 */ export interface GetTrendingShowsParams { /** 时间窗口,'day'表示日趋势,'week'表示周趋势 */ time_window: 'day' | 'week'; /** 页码,默认为1 */ page?: number; } /** * 剧集信息接口 */ export interface ShowInfo { /** 剧集ID */ id: number; /** 剧集名称 */ name: string; /** 剧集简介 */ overview: string; /** 剧集海报路径 */ poster_path: string | null; /** 剧集评分 */ vote_average: number; /** 首播日期 */ first_air_date?: string; } /** * 剧集列表响应接口 */ export interface ShowsListResponse { /** 当前页码 */ page: number; /** 剧集列表 */ results: ShowInfo[]; /** 总页数 */ total_pages?: number; /** 总结果数 */ total_results?: number; } /** * 获取热门剧集 * @param params 页码参数 * @returns 热门剧集列表 */ export async function getPopularShows(params: GetPopularShowsParams = {}): Promise<ShowsListResponse> { const { page = 1 } = params; try { const response = await tmdbClient.getPopularTvShows(page); // 格式化结果 const result: ShowsListResponse = { page: response.page, results: response.results.map((show: any) => ({ id: show.id, name: show.name, overview: show.overview || '暂无简介', poster_path: show.poster_path, vote_average: show.vote_average || 0, first_air_date: show.first_air_date })), total_pages: response.total_pages, total_results: response.total_results }; return result; } catch (error) { throw new Error(`获取热门剧集失败: ${error instanceof Error ? error.message : String(error)}`); } } /** * 获取趋势剧集 * @param params 包含时间窗口和页码的参数 * @returns 趋势剧集列表 */ export async function getTrendingShows(params: GetTrendingShowsParams): Promise<ShowsListResponse> { const { time_window, page = 1 } = params; try { const response = await tmdbClient.getTrendingTvShows(time_window, page); // 格式化结果 const result: ShowsListResponse = { page: response.page, results: response.results.map((show: any) => ({ id: show.id, name: show.name || show.original_name, overview: show.overview || '暂无简介', poster_path: show.poster_path, vote_average: show.vote_average || 0, first_air_date: show.first_air_date })), total_pages: response.total_pages, total_results: response.total_results }; return result; } catch (error) { throw new Error(`获取${time_window === 'day' ? '日' : '周'}趋势剧集失败: ${error instanceof Error ? error.message : String(error)}`); } }

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