Skip to main content
Glama
terryso

tv-recommender-mcp-server

get_popular_shows

Retrieve popular TV shows with simple pagination for easy navigation and discovery of trending content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo页码,默认为1

Implementation Reference

  • The core handler function that fetches popular TV shows using tmdbClient.getPopularTvShows, maps and formats the results into ShowsListResponse, and handles errors.
    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)}`);
      }
    }
  • src/server.ts:174-185 (registration)
    Registers the 'get_popular_shows' tool on the MCP server with Zod schema for 'page' parameter and handler that calls getPopularShows.
    server.tool("get_popular_shows",
      { 
        page: z.number().optional().default(1).describe('页码,默认为1')
      },
      async (params) => {
        console.log(`收到获取热门剧集请求,页码: ${params.page || 1}`);
        const results = await getPopularShows(params);
        return {
          content: [{ type: "text", text: JSON.stringify(results) }]
        };
      }
    );
  • TypeScript interface defining the input parameters for the getPopularShows function.
    export interface GetPopularShowsParams {
      /** 页码,默认为1 */
      page?: number;
    }
  • TypeScript interface defining the output response structure for the getPopularShows function.
    export interface ShowsListResponse {
      /** 当前页码 */
      page: number;
      /** 剧集列表 */
      results: ShowInfo[];
      /** 总页数 */
      total_pages?: number;
      /** 总结果数 */
      total_results?: number;
    }
  • Re-exports the getPopularShows function and types from popularTrendingTool.ts for use in other modules like server.ts.
    export {
      getPopularShows,
      getTrendingShows,
      type GetPopularShowsParams,
      type GetTrendingShowsParams,
      type ShowsListResponse,
      type ShowInfo
    } from './popularTrendingTool';
Install Server

Other Tools

Related Tools

Latest Blog Posts

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