UNPKG

tv-recommender-mcp-server

Version:

MCP server for TV show recommendations

46 lines (45 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getWatchProviders = getWatchProviders; const tmdbClient_1 = require("../services/tmdbClient"); /** * 获取指定剧集的观看渠道信息 * @param params 包含剧集名称和可选国家/地区代码的参数对象 * @returns 观看渠道信息 */ async function getWatchProviders(params) { const { show_title, country_code = 'US' } = params; try { // 通过剧集名称查找剧集ID const searchResults = await tmdbClient_1.tmdbClient.searchTvShowByTitle(show_title); // 如果没有找到任何结果,抛出错误 if (!searchResults.results || searchResults.results.length === 0) { throw new Error(`未找到名为"${show_title}"的剧集`); } // 使用第一个搜索结果 const tvId = searchResults.results[0].id; // 获取观看渠道信息 const watchProvidersData = await tmdbClient_1.tmdbClient.getTvShowWatchProviders(tvId, country_code); // 判断是否有观看渠道信息 if (!watchProvidersData.results || Object.keys(watchProvidersData.results).length === 0) { return { country: country_code, streaming: [], rent: [], buy: [] }; } const providersInfo = watchProvidersData.results; return { country: country_code, link: providersInfo.link, streaming: providersInfo.flatrate || [], rent: providersInfo.rent || [], buy: providersInfo.buy || [] }; } catch (error) { // console.error('获取观看渠道失败:', error); throw error; } }