Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

YouTube Discovery

БесплатноНе проверен

Enables discovering YouTube videos across multiple languages with personalized recommendations, feedback, and explanation of results, using YouTube Data API v3.

GitHubEmbed

Описание

Enables discovering YouTube videos across multiple languages with personalized recommendations, feedback, and explanation of results, using YouTube Data API v3.

README

一个本地运行、可直接连接 Codex 的 YouTube 发现服务。它不替你操作 YouTube 账号,而是用公开 YouTube Data API 建立一套可解释、可反馈、 跨语言且尽量不被大频道垄断的推荐结果。

版本:0.1.1

能做什么

  • 同时搜索中文、英语、德语、法语、日语、韩语、俄语和越南语。
  • 让 Codex 先把主题改写成当地用户真正会输入的搜索词。
  • 优先按照视频的默认音轨语言重新归类,字幕语言不决定所属语言栏。
  • 合并各语言搜索中的重复视频。
  • 综合相关度、新鲜度、公开互动质量、中小创作者曝光和本地反馈排序。
  • 限制同一个频道占据推荐列表的数量,并降低高度相似视频的排名。
  • 可按频道 ID 或频道名称关键词过滤媒体及其多语言、备用频道。
  • 在本机保存“多推荐、少推荐、隐藏、看过、收藏倾向”。
  • 对每条推荐给出理由。

隐私与权限

  • YouTube 侧只读;不会点赞、订阅、评论、创建播放列表或修改账号。
  • API Key 不在源码或压缩包中。
  • configure.mjs 会隐藏输入并把 Key 保存为 ~/.youtube-discovery-mcp/credentials.json,权限为 0600
  • 偏好、反馈、缓存和上次推荐同样只保存在该本地目录。
  • 也可以不用凭据文件,改为通过 YOUTUBE_API_KEY 环境变量传入。

系统要求

  • Node.js 20 或更新版本。
  • 已启用 YouTube Data API v3 的 API Key。
  • API Key 建议设置 API restrictions,只允许 YouTube Data API v3。

项目没有第三方运行时依赖,不需要 npm install

第一步:保存并验证 API Key

在终端进入本目录后运行:

node configure.mjs

粘贴 Key 时终端只显示星号。程序会通过 YouTube 官方 API 验证 Key,验证 成功后才会保存。

第二步:连接 Codex

Codex 桌面应用

  1. 打开 Settings → MCP servers → Add server
  2. 名称填写 youtube_discovery
  3. 类型选择 STDIO
  4. Command 填写 node
  5. Arguments 填写本目录中 server.mjs 的绝对路径。
  6. 保存,然后按界面提示重启 Codex。

Codex CLI

将下面的路径替换为真实绝对路径:

codex mcp add youtube_discovery -- node "/ABSOLUTE/PATH/youtube-discovery-mcp/server.mjs"

然后运行:

codex mcp list

也可以参考 config.example.toml 手动配置 ~/.codex/config.toml

推荐的使用方式

连接后可以直接告诉 Codex:

用 YouTube Discovery 搜索“固态电池商业化”,覆盖中文、英语、日语、 德语和韩语。不要 Shorts,每个频道最多一个,优先半年内的视频。

或者:

这些结果里第 2 个和第 5 个我不感兴趣,第 7 个以后多推荐。记录反馈, 然后再给我一版更分散的结果。

Codex 会先生成每种语言的本地搜索表达,再调用 MCP。不要反复执行完全 相同的搜索;服务会缓存六小时,但 YouTube 的搜索配额仍然有限。

MCP 工具

工具 用途
youtube_discovery_health 检查服务、数据目录和 API Key
youtube_discover_videos 跨语言搜索、纠偏、去重和推荐
youtube_get_video_details 批量读取公开视频详情
youtube_get_discovery_profile 读取本地偏好
youtube_update_discovery_profile 更新本地偏好
youtube_record_feedback 记录多/少推荐、隐藏、看过等反馈
youtube_list_feedback 查看本地反馈
youtube_explain_recommendation 解释上一次推荐中的某条视频

推荐偏好

默认偏好:

{
  "interests": [],
  "preferredLanguages": ["zh", "en", "ja"],
  "preferredChannels": [],
  "blockedChannels": [],
  "blockedChannelKeywords": [],
  "minMinutes": 3,
  "maxMinutes": 120,
  "maxPerChannel": 1,
  "freshnessDays": 365,
  "excludeShorts": true
}

可以让 Codex 用自然语言修改,无需手动编辑 JSON。

blockedChannels 用于精确屏蔽频道 ID;blockedChannelKeywords 会匹配 频道名称,适合同一媒体存在多个语言频道或备用频道的情况。它只检查频道 名称,不会因为普通视频在标题或正文中讨论某个词就误伤。

已知限制

  1. YouTube 没有官方 MCP;本项目直接连接 YouTube Data API v3。
  2. YouTube 公开 API 没有专门的“原始音轨”字段。本项目把 defaultAudioLanguage 作为最强信号,多音轨视频仍可能需要人工判断。
  3. YouTube Data API 无法读取观看历史,所以“看过”由你或浏览器扩展写入 本地反馈。
  4. 字幕正文没有面向任意公开视频的 API Key 读取接口;这一版不抓取非 官方网页接口。字幕语义检索可在后续版本与现有 Chrome 扩展联动。
  5. 搜索结果仍来自 YouTube 搜索候选,但最终去重、语言纠偏、过滤和排序 全部在本机完成。

开发与测试

npm test

测试使用模拟 YouTube API,不会消耗真实配额。

协议实现遵循 MCP 的 STDIO JSON-RPC 传输:stdout 只输出协议消息,日志 只写 stderr。

License

MIT

from github.com/GaiJinn/youtube-discovery-mcp

Установка YouTube Discovery

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/GaiJinn/youtube-discovery-mcp

FAQ

YouTube Discovery MCP бесплатный?

Да, YouTube Discovery MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для YouTube Discovery?

Нет, YouTube Discovery работает без API-ключей и переменных окружения.

YouTube Discovery — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить YouTube Discovery в Claude Desktop, Claude Code или Cursor?

Открой YouTube Discovery на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare YouTube Discovery with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории media