tv-recommender-mcp-server
Version:
MCP server for TV show recommendations
46 lines (45 loc) • 1.76 kB
JavaScript
;
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;
}
}