项目简介
本项目是一个基于Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 客户端(如Cursor)提供美剧相关的上下文信息和功能。它通过调用TMDb (The Movie Database) API获取最新的剧集数据,并将这些数据以结构化的方式提供给LLM,增强LLM在处理美剧相关查询时的能力。服务器通过标准输入/输出 (Stdio) 与客户端通信。
主要功能点
- 按类型推荐剧集: 根据用户指定的电视剧类型(如喜剧、科幻、悬疑等)获取推荐列表。
- 相似剧集推荐: 查找与用户提供的剧集名称相似的其他剧集。
- 剧集详情查询: 获取指定剧集的详细信息,包括年份、评分、类型、简介、主演、季数和状态等。
- 通过MCP协议通信: 使用标准的MCP JSON-RPC协议与兼容的LLM客户端交互。
- 利用TMDb API: 数据来源于业界领先的电影和电视数据库TMDb。
安装步骤
- 安装Node.js: 确保您的系统中已安装Node.js运行环境。
- 获取TMDb API密钥: 访问 TMDb 网站注册账号并申请API密钥。您需要一个v3 API密钥。
- 安装服务器:
- 使用 npm 全局安装 (推荐):
npm install -g tv-recommender-mcp-server - 或者克隆仓库并手动安装依赖:
git clone https://github.com/terryso/tv-recommender-mcp-server.git cd tv-recommender-mcp-server npm install npm run build
- 使用 npm 全局安装 (推荐):
- 配置API密钥: 在运行服务器前,必须设置 'TMDB_API_KEY' 环境变量,将其值设为您申请到的TMDb API密钥。
- 如果您使用全局安装或npx方式运行,可以在启动命令前设置环境变量:
export TMDB_API_KEY=您的API密钥 # 然后运行服务器 - 如果您从仓库克隆并手动运行,可以在项目根目录创建 '.env' 文件,内容为 'TMDB_API_KEY=您的API密钥'。
- 如果您使用全局安装或npx方式运行,可以在启动命令前设置环境变量:
服务器配置 (供MCP客户端使用)
要将此MCP服务器与兼容的LLM客户端连接,您需要在客户端的配置文件中(例如Cursor的'.cursor/mcp.json'文件)指定如何启动此服务器。典型的配置方式是告诉客户端执行一个命令来启动服务器进程,并使用Stdio进行通信。
客户端配置文件中需要包含一个服务器条目,指定一个唯一的名称(例如'TVRecommender')以及启动该服务器所需的命令和参数。此外,TMDb API密钥需要传递给服务器进程,这通常通过环境变量实现。
- 服务器名称: 'TVRecommender' (客户端配置文件中自定义的标识符)
- 启动命令 (command): 启动服务器的可执行命令。如果您通过npm全局安装,通常是'npx'。如果您从仓库手动运行,可能是'npm'或服务器构建后的可执行文件路径。
- 命令参数 (args): 传递给启动命令的参数。
- 对于 'npx' 方式:参数列表应包含 'tv-recommender-mcp-server'。
- 传递 'TMDB_API_KEY' 环境变量:这通常在 'command' 和 'args' 之前通过客户端的环境变量配置方式实现,或者在 'args' 列表中包含 '环境变量名=值' 的形式(例如 'TMDB_API_KEY=您的API密钥')。具体的配置方法取决于您的MCP客户端。
基本使用方法
一旦服务器在您的MCP客户端中配置并成功启动,您就可以在与LLM的对话中使用服务器提供的工具。通常通过客户端提供的工具调用界面(例如输入'/'命令)来选择并调用本服务器提供的工具。
服务器提供的工具名称和用途如下:
- get_recommendations_by_genre: 按类型获取推荐剧集。您需要提供剧集类型(如"喜剧", "科幻")。
- get_similar_shows: 获取相似剧集。您需要提供一个已知剧集的名称(如"怪奇物语")。
- get_show_details: 获取剧集详情。您需要提供一个剧集的名称(如"权力的游戏")。
示例交互(在支持工具调用的客户端中): 用户: '/TVRecommender get_recommendations_by_genre {"genre": "科幻"}' LLM/客户端调用服务器的'get_recommendations_by_genre'工具,服务器返回科幻类剧集推荐列表。 用户: '请告诉我剧集《绝命毒师》的详情。' LLM/客户端可能会自动识别意图并调用'/TVRecommender get_show_details {"show_title": "绝命毒师"}'工具。
信息
分类
网页与API