🎬 MCP Trakt:人工智能通往娱乐数据的大门
模型上下文协议 (MCP) 服务器在 AI 语言模型和 Trakt.tv API 之间架起了一座桥梁,允许 LLM 访问实时娱乐数据和个人 Trakt 观看历史记录。
🖥️ 一项人工智能实验
除了这一段,这里的所有内容,包括代码,都是由AI生成的。我的目标是了解更多关于MCP的知识,而且我一直在使用Cursor,所以把这些结合起来似乎是理所当然的。最终成果就是这个项目。以后所有的修改也将由AI完成。
🤖 什么是 MCP?
模型上下文协议 (MCP) 是一种开放规范,它使 Claude 等大型语言模型 (LLM) 能够与外部系统和数据源进行交互。
MCP 为 AI 模型创建了一种标准化方法:
- 获取培训截止日期之后的实时数据
- 通过专用服务器连接到外部 API 和 Web 服务
- 安全地执行专门的工具和功能
- 读取和写入外部资源
- 处理纯文本格式难以处理的复杂数据
MCP 的核心工作原理如下:
- 资源:AI 可以读取或写入的结构化数据源(例如
trakt://shows/trending
) - 工具:AI 可以调用来执行特定操作的函数(例如
fetch_trending_shows
) - 会话:AI 和 MCP 服务器之间的安全连接
像这样的 MCP 服务器充当 AI 模型和外部世界之间的桥梁,允许它们扩展新功能而无需重新训练。
📺 什么是 Trakt?
Trakt.tv是一个自动追踪用户观看的电视节目和电影的平台。该服务提供:
- 全面跟踪多个流媒体服务的观看习惯
- 社交功能可与朋友分享和讨论您正在观看的内容
- 根据您的观看历史进行个性化推荐
- 开发人员可以使用广泛的 API 来构建应用程序
Trakt 已成为娱乐追踪的标准,其特点如下:
- 超过 1400 万用户追踪他们的观看习惯
- 数百万部电影和电视节目的数据,包括详细的元数据
- 与流行的媒体播放器和流媒体服务集成
该 MCP 服务器利用 Trakt 丰富的 API 生态系统,将实时娱乐数据直接带入您与 Claude 等 AI 助手的对话中。
🚀 游标开发体验
整个项目使用Cursor (一款为人工智能时代打造的代码编辑器)开发,所有代码均由 Claude 3.7 Sonnet 生成。这种方法演示了:
- AI辅助开发如何显著加速构建专用MCP服务器
- 现代人工智能编写功能性、结构良好的代码的能力
- 人类意图与人工智能实现之间的协作工作流程
✨ 特点
🌎 公共轨迹数据
- 观看热门和热门的节目和电影
- 发现最受欢迎、播放次数最多和观看次数最多的内容
- 从 Trakt 的全球社区获取实时数据
- 带有标题、年份和受欢迎程度指标的格式化回复
👤 个人数据
- 查看您观看过的节目:获取您亲自观看过的节目的完整列表
- 查看您上次观看每部剧集的确切日期
- 追踪你观看每个节目的次数
- 签到您正在观看的节目并将其标记为已观看
- 按节目 ID(更精确)或节目标题(更方便)
- 将签到分享到 Twitter、Mastodon 或 Tumblr
- 在您的签到中添加自定义消息
- 以人类可读的格式查看您观看该剧集的时间
- 搜索节目以查找其详细信息和 ID
- 通过设备代码流使用 Trakt 进行安全身份验证
- 个人数据直接从您的 Trakt 帐户获取
🔄 一般功能
- 通过 MCP 资源公开 Trakt API 数据
- 提供获取实时娱乐信息的工具
- 使人工智能模型能够提供个性化的娱乐推荐
- 简单的身份验证和注销过程
📺 当前热门节目
自 2025 年 4 月起,您可以访问以下热门节目:
- 《白莲花》(2021)——7,870 名观众
- 《夜魔侠:重生》(2025)——6738名观众
- 《遣散》(2022)——4507名观众
🎥 当前热门电影
目前最热门的电影:
- 《黑包》(2025)——1,491 名观众
- 《一个工作的人》(2025)——1226名观众
- 《米奇17号》(2025年)——764名观众
🔌可用资源
显示资源
资源 | 描述 | 示例数据 |
---|---|---|
trakt://shows/trending | 过去 24 小时内观看次数最多的节目 | 节目名称、年份、观看人数 |
trakt://shows/popular | 根据收视率最受欢迎的节目 | 节目名称、年份、热门分数 |
trakt://shows/favorited | 最受喜爱的节目 | 显示标题、年份、收藏数 |
trakt://shows/played | 播放次数最多的节目 | 节目名称、年份、播放次数 |
trakt://shows/watched | 独立用户观看次数最多的节目 | 节目名称、年份、观看人数 |
电影资源
资源 | 描述 | 示例数据 |
---|---|---|
trakt://movies/trending | 过去 24 小时内观看次数最多的电影 | 电影名称、年份、观看人数 |
trakt://movies/popular | 根据评分最受欢迎的电影 | 电影名称、年份、评分 |
trakt://movies/favorited | 最喜爱的电影 | 电影名称、年份、收藏数 |
trakt://movies/played | 播放次数最多的电影 | 电影名称、年份、播放次数 |
trakt://movies/watched | 独立用户观看次数最多的电影 | 电影名称、年份、观看人数 |
用户资源
资源 | 描述 | 示例数据 |
---|---|---|
trakt://user/auth/status | 当前身份验证状态 | 身份验证状态、令牌到期 |
trakt://user/watched/shows | 经过身份验证的用户观看的节目 | 节目名称、年份、上次观看日期、播放次数 |
trakt://user/watched/movies | 经过身份验证的用户观看的电影 | 电影名称、年份、上次观看日期、播放次数 |
🛠️ 可用工具
显示工具
电影工具
身份验证和用户工具
签到工具
🔐 身份验证
服务器使用 Trakt 的设备认证流程:
- 当你请求用户特定数据时,服务器将根据需要自动启动身份验证
- 您将收到一个代码和一个可以在浏览器上访问的 URL
- 在 Trakt 网站上输入代码并授权应用程序后,通知 Claude 您已完成授权
- Claude 将检查身份验证状态,然后获取您的个人数据
- 您的身份验证令牌将被安全存储,以供将来的请求使用
您可以随时使用clear_auth
工具注销。
🚀 设置
- 克隆此存储库Copy
- 安装依赖项Copy
- 设置您的环境然后编辑Copy
.env
以添加您的 Trakt API 凭证:Copy - 运行服务器Copy
🧪 开发与测试
使用 MCP Inspector 进行测试
在 Claude Desktop 中安装
📝 与 Claude 一起使用
安装完成后,您可以向 Claude 询问以下问题:
- “现在什么节目最流行?”
- “你能推荐一些本周热门的电影吗?”
- “本月收视率最高的节目是什么?”
- “显示我看过的节目”(需要身份验证)
- “我看的最后一部电视剧是什么?”(需要身份验证)
- “显示我看过的电影”(需要身份验证)
- “我看的最后一部电影是什么?”(需要身份验证)
- “搜索类似《绝命毒师》的电视剧”
- “帮我看看《绝命毒师》第二季第五集” (使用标题)
- “请关注节目 ID 1388 第 1 季第 3 集并在 Twitter 上分享”(使用 ID)
Claude 将使用此 MCP 服务器为您提供来自 Trakt 的实时数据。
👤 个人数据访问
通过身份验证,您可以访问:
- 您观看过的节目和电影的完整历史记录
- 每部节目和电影的最后观看日期
- 您观看每个节目和电影的次数
- 签到您正在观看的节目并跟踪您的进度
- 个人收视统计
- 在社交媒体平台上分享您的观看活动
所有数据均直接从您的 Trakt 帐户实时获取。
🔮 未来发展
- 扩展用户身份验证以访问更多个人数据
- 为即将播出的剧集添加日历事件
- 支持 scrobbling(跟踪您正在观看的内容)
- 根据观看历史实施推荐
- 扩展搜索范围,除节目外还包含电影
- 增加对更多社交媒体平台的支持以供分享
📄 许可证
This server cannot be installed
模型上下文协议 (MCP) 服务器在 AI 语言模型和 Trakt.tv API 之间架起了一座桥梁,允许 LLM 访问实时娱乐数据和个人 Trakt 观看历史记录。