Skip to main content
Glama

Trakt

by wwiens

🎬 MCP Trakt:人工智能通往娱乐数据的门户

MCP 牵引车使用 Cursor 构建由 Claude 提供支持

模型上下文协议 (MCP) 服务器在 AI 语言模型和 Trakt.tv API 之间架起了一座桥梁,允许 LLM 访问实时娱乐数据和个人 Trakt 观看历史记录。

🖥️ 一项人工智能实验

除了这一段,这里的所有内容,包括代码,都是由AI生成的。我的目标是了解更多关于MCP的知识,而且我一直在使用Cursor,所以把这些结合起来似乎是理所当然的。最终成果就是这个项目。以后所有的修改也将由AI完成。

🤖 什么是 MCP?

模型上下文协议 (MCP) 是一种开放规范,它使 Claude 等大型语言模型 (LLM) 能够与外部系统和数据源进行交互。

MCP 为 AI 模型创建了一种标准化方法:

  • 获取培训截止日期之后的实时数据
  • 通过专用服务器连接到外部 API 和 Web 服务
  • 安全地执行专门的工具和功能
  • 读取和写入外部资源
  • 处理纯文本格式难以处理的复杂数据

MCP 的核心工作原理如下:

  1. 资源:AI 可以读取或写入的结构化数据源(例如trakt://shows/trending
  2. 工具:AI 可以调用来执行特定操作的函数(例如fetch_trending_shows
  3. 会话: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://comments/movie/:id特定电影的评论评论文本、作者、日期、点赞
trakt://comments/show/:id特定节目的评论评论文本、作者、日期、点赞
trakt://comments/show/:id/season/:season特定季节的评论评论文本、作者、日期、点赞
trakt://comments/show/:id/season/:season/episode/:episode特定剧集的评论评论文本、作者、日期、点赞
trakt://comments/:id具体评论评论文本、作者、日期、点赞
trakt://comments/:id/replies回复特定评论回复文本、作者、日期

🛠️ 可用工具

显示工具

# Get trending shows with optional limit parameter fetch_trending_shows(limit=10) # Get popular shows with optional limit parameter fetch_popular_shows(limit=10) # Get favorited shows with optional limit and period parameters fetch_favorited_shows(limit=10, period="weekly") # Get most played shows with optional limit and period parameters fetch_played_shows(limit=10, period="weekly") # Get most watched shows with optional limit and period parameters fetch_watched_shows(limit=10, period="weekly") # Search for shows by title to get show IDs and details search_shows(query="Breaking Bad", limit=5) # Search for movies by title to get movie IDs and details search_movies(query="The Godfather", limit=5)

电影工具

# Get trending movies with optional limit parameter fetch_trending_movies(limit=10) # Get popular movies with optional limit parameter fetch_popular_movies(limit=10) # Get favorited movies with optional limit and period parameters fetch_favorited_movies(limit=10, period="weekly") # Get most played movies with optional limit and period parameters fetch_played_movies(limit=10, period="weekly") # Get most watched movies with optional limit and period parameters fetch_watched_movies(limit=10, period="weekly")

身份验证和用户工具

# Start the device authorization flow with Trakt start_device_auth() # Check the status of an ongoing authentication check_auth_status() # Clear authentication (logout) clear_auth() # Fetch shows watched by the authenticated user fetch_user_watched_shows(limit=0) # 0 for all shows # Fetch movies watched by the authenticated user fetch_user_watched_movies(limit=0) # 0 for all movies

签到工具

# Method 1: Check in using show ID (recommended when precision is important) # First use search_shows to find the correct show ID search_shows(query="Breaking Bad", limit=5) # Then use the ID for check-in checkin_to_show( season=1, episode=3, show_id="1388", message="Loving this show!" ) # Method 2: Check in using show title (more convenient) checkin_to_show( season=1, episode=1, show_title="Breaking Bad", show_year=2008, # Optional but helps with accuracy message="I'm the one who knocks!", share_twitter=True, share_mastodon=False, share_tumblr=False )

评论工具

# Get comments for a movie (sorted by newest by default) fetch_movie_comments(movie_id="123", limit=10, show_spoilers=False) # Get comments for a show sorted by most likes fetch_show_comments(show_id="456", limit=10, show_spoilers=False, sort="likes") # Get comments for a specific season sorted by highest rating fetch_season_comments(show_id="456", season=1, limit=10, show_spoilers=False, sort="highest") # Get comments for a specific episode sorted by most replies fetch_episode_comments(show_id="456", season=1, episode=3, limit=10, show_spoilers=False, sort="replies") # Get a specific comment fetch_comment(comment_id="789", show_spoilers=False) # Get a comment with its replies sorted by oldest first fetch_comment_replies(comment_id="789", limit=10, show_spoilers=False, sort="oldest")

🔐 身份验证

服务器使用 Trakt 的设备认证流程:

  1. 当你请求用户特定数据时,服务器将根据需要自动启动身份验证
  2. 您将收到一个代码和一个可以在浏览器上访问的 URL
  3. 在 Trakt 网站上输入代码并授权应用程序后,通知 Claude 您已完成授权
  4. Claude 将检查身份验证状态,然后获取您的个人数据
  5. 您的身份验证令牌将被安全存储,以供将来的请求使用

您可以随时使用clear_auth工具注销。

🚀 设置

  1. 克隆此存储库
    git clone https://github.com/yourusername/mcp-trakt.git cd mcp-trakt
  2. 安装依赖项
    pip install -r requirements.txt
  3. 设置您的环境
    cp .env.example .env
    然后编辑.env以添加您的 Trakt API 凭证:
    TRAKT_CLIENT_ID=your_client_id TRAKT_CLIENT_SECRET=your_client_secret
  4. 运行服务器
    python server.py

🧪 开发与测试

使用 MCP Inspector 进行测试

mcp dev server.py

在 Claude Desktop 中安装

mcp install server.py

📝 与 Claude 一起使用

安装完成后,您可以向 Claude 询问以下问题:

  • “现在什么节目最流行?”
  • “你能推荐一些本周热门的电影吗?”
  • “本月收视率最高的节目是什么?”
  • “显示我看过的节目”(需要身份验证)
  • “我看的最后一部电视剧是什么?”(需要身份验证)
  • “显示我看过的电影”(需要身份验证)
  • “我看的最后一部电影是什么?”(需要身份验证)
  • “搜索类似《绝命毒师》的电视剧”
  • “帮我看看《绝命毒师》第二季第五集” (使用标题)
  • “请关注节目 ID 1388 第 1 季第 3 集并在 Twitter 上分享”(使用 ID)
  • “显示《绝命毒师》的评论”
  • “人们对《教父》这部电影有什么评价?”
  • “显示《怪奇物语》第一季的评论”
  • “获取《权力的游戏》第二季第五集的评论”
  • “显示评论 #12345 及其回复”
  • “显示《绝命毒师》的评论,但包含剧透”
  • “搜索类似《教父》的电影”
  • “显示《绝命毒师》最受欢迎的评论”(使用 sort="likes")
  • “获取《教父》电影的最高评分评论”(使用 sort="highest")
  • “显示《怪奇物语》第一季回复最多的评论”(使用 sort="replies")

Claude 将使用此 MCP 服务器为您提供来自 Trakt 的实时数据。

👤 个人数据访问

通过身份验证,您可以访问:

  • 您观看过的节目和电影的完整历史记录
  • 每部电视剧和电影的最后观看日期
  • 您观看每个节目和电影的次数
  • 签到您正在观看的节目并跟踪您的进度
  • 个人收视统计
  • 在社交媒体平台上分享您的观看活动

所有数据均直接从您的 Trakt 帐户实时获取。

🔮 未来发展

  • 扩展用户身份验证以访问更多个人数据
  • 为即将播出的剧集添加日历事件
  • 支持 scrobbling(跟踪您正在观看的内容)
  • 根据观看历史实施推荐
  • 扩展搜索范围,除节目外还包含电影
  • 增加对更多社交媒体平台的支持以供分享

📄 许可证

MIT 许可证


-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

模型上下文协议 (MCP) 服务器在 AI 语言模型和 Trakt.tv API 之间架起了一座桥梁,允许 LLM 访问实时娱乐数据和个人 Trakt 观看历史记录。

  1. 🖥️ 一项人工智能实验
    1. 🤖 什么是 MCP?
      1. 📺 什么是 Trakt?
        1. 🚀 游标开发体验
          1. ✨ 特点
            1. 🌎 公共轨迹数据
            2. 👤 个人数据
            3. 💬 评论和评价
            4. 🔄 一般功能
            5. 📺 当前热门节目
            6. 🎥 当前热门电影
          2. 🔌可用资源
            1. 显示资源
            2. 电影资源
            3. 用户资源
            4. 评论资源
          3. 🛠️ 可用工具
            1. 显示工具
            2. 电影工具
            3. 身份验证和用户工具
            4. 签到工具
            5. 评论工具
          4. 🔐 身份验证
            1. 🚀 设置
              1. 🧪 开发与测试
                1. 使用 MCP Inspector 进行测试
                2. 在 Claude Desktop 中安装
              2. 📝 与 Claude 一起使用
                1. 👤 个人数据访问
                  1. 🔮 未来发展
                    1. 📄 许可证

                      Related MCP Servers

                      • A
                        security
                        A
                        license
                        A
                        quality
                        A Model Context Protocol (MCP) server that exposes the official Notion SDK, allowing AI models to interact with Notion workspaces.
                        Last updated -
                        17
                        77
                        7
                        TypeScript
                        Apache 2.0
                        • Apple
                        • Linux
                      • -
                        security
                        A
                        license
                        -
                        quality
                        A Model Context Protocol (MCP) server that allows AI agents like Claude to interact with the Aligo SMS API to send text messages and retrieve related information.
                        Last updated -
                        JavaScript
                        MIT License
                      • A
                        security
                        A
                        license
                        A
                        quality
                        A Model Context Protocol (MCP) server that enables AI assistants to control and interact with Android devices, allowing for device management, app debugging, system analysis, and UI automation through natural language commands.
                        Last updated -
                        29
                        143
                        Python
                        Apache 2.0
                        • Linux
                        • Apple
                      • A
                        security
                        A
                        license
                        A
                        quality
                        An official Model Context Protocol (MCP) server that enables AI clients to interact with ElevenLabs' Text to Speech and audio processing APIs, allowing for speech generation, voice cloning, audio transcription, and other audio-related tasks.
                        Last updated -
                        19
                        700
                        Python
                        MIT License
                        • Apple

                      View all related MCP servers

                      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/wwiens/trakt_mcpserver'

                      If you have feedback or need assistance with the MCP directory API, please join our Discord server