🚀 YouTube MCP 服務器
這是一個全面的模型上下文協議(MCP)服務器,可通過 YouTube 數據 API v3 提供即時的 YouTube 數據訪問。該服務器使 AI 助手能夠搜索、分析並檢索有關 YouTube 視頻、頻道、播放列表等的詳細信息。
🚀 快速開始
本服務器為 AI 助手提供了便捷的途徑來訪問和處理 YouTube 上的豐富數據。你可以按照以下步驟進行安裝和配置,以開啟使用之旅。
✨ 主要特性
14 項完整功能
get_video_details
- 獲取全面的視頻信息,包括標題、描述、統計數據和元數據。
get_playlist_details
- 檢索播放列表信息和元數據。
get_playlist_items
- 列出播放列表中的視頻並附帶詳細信息。
get_channel_details
- 獲取頻道信息,包括訂閱者數量、視頻數量和描述。
get_video_categories
- 列出特定地區可用的視頻類別。
get_channel_videos
- 獲取 YouTube 頻道的近期視頻。
search_videos
- 使用可自定義的參數在 YouTube 上搜索視頻。
get_trending_videos
- 檢索特定地區的熱門視頻。
get_video_comments
- 獲取視頻的評論,並支持排序選項。
analyze_video_engagement
- 分析參與度指標並提供洞察。
get_channel_playlists
- 列出 YouTube 頻道的播放列表。
get_video_caption_info
- 獲取可用的字幕/轉錄信息。
evaluate_video_for_knowledge_base
- 進行智能內容評估,併為知識庫管理提供技術新鮮度評分。
get_video_transcript
- 從 YouTube 視頻中提取實際的轉錄內容。
關鍵能力
- ✅ 來自 YouTube 數據 API v3 的即時數據。
- ✅ 全面的錯誤處理和 API 配額管理。
- ✅ 支持多種 URL 格式(youtube.com、youtu.be、@用戶名、頻道 ID)。
- ✅ 具備技術新鮮度評分的智能內容評估。
- ✅ 靈活的搜索和過濾選項。
- ✅ 結合行業基準的參與度分析。
- ✅ 支持特定地區的熱門內容和類別。
- ✅ 符合 MCP 協議,便於與 AI 無縫集成。
📦 安裝指南
第 1 步:克隆倉庫
git clone https://github.com/dannySubsense/youtube-mcp-server.git
cd youtube-mcp-server
第 2 步:安裝依賴
pip install -r requirements.txt
第 3 步:獲取 YouTube API 密鑰
- 訪問 Google 雲控制檯。
- 創建一個新項目或選擇一個現有項目。
- 啟用 YouTube 數據 API v3。
- 創建憑證(API 密鑰)。
- (可選)為了安全起見,將 API 密鑰限制為僅用於 YouTube 數據 API v3。
第 4 步:配置 API 密鑰
在項目根目錄下創建一個 credentials.yml
文件:
youtube_api_key: "YOUR_YOUTUBE_API_KEY_HERE"
重要提示:切勿將 credentials.yml
文件提交到版本控制系統!
第 5 步:測試服務器
python test_server.py
這將對所有 14 個功能進行全面測試,以確保一切正常工作。
💻 使用示例
基礎用法
基本視頻信息
result = await get_video_details("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
result = await get_video_details("dQw4w9WgXcQ")
搜索與發現
tutorials = await search_videos(
query="Python tutorial",
max_results=10,
order="date"
)
trending = await get_trending_videos(region_code="US", max_results=5)
頻道分析
channel_info = await get_channel_details("@3Blue1Brown")
recent_videos = await get_channel_videos("@3Blue1Brown", max_results=5)
playlists = await get_channel_playlists("@3Blue1Brown")
高級用法
內容評估(特色功能)
evaluation = await evaluate_video_for_knowledge_base("Z6nkEZyS9nA")
轉錄提取(新增功能)
transcript = await get_video_transcript("Z6nkEZyS9nA")
transcript_spanish = await get_video_transcript(
"https://www.youtube.com/watch?v=Z6nkEZyS9nA",
language="es"
)
參與度分析
engagement = await analyze_video_engagement("dQw4w9WgXcQ")
comments = await get_video_comments("dQw4w9WgXcQ", max_results=10, order="relevance")
📚 詳細文檔
功能參考
屬性 |
詳情 |
get_video_details |
獲取完整的視頻信息,包括觀看次數、點贊數、時長、描述等。 |
get_playlist_details |
獲取播放列表的元數據,如標題、描述、視頻數量。 |
get_playlist_items |
列出播放列表中的視頻,並附帶元數據的有序列表。 |
get_channel_details |
獲取頻道信息,包括訂閱者數量、總觀看次數、描述等。 |
get_video_categories |
獲取特定地區可用的視頻類別列表。 |
get_channel_videos |
獲取頻道的近期視頻,包含詳細信息。 |
search_videos |
進行視頻搜索,支持多種排序和過濾選項。 |
get_trending_videos |
獲取特定地區的熱門視頻。 |
get_video_comments |
獲取視頻的評論,支持排序和回覆計數。 |
analyze_video_engagement |
分析視頻的參與度指標,結合行業基準提供洞察。 |
get_channel_playlists |
獲取頻道的所有公開播放列表。 |
get_video_caption_info |
獲取字幕的可用性信息,包括語言、手動或自動生成等。 |
evaluate_video_for_knowledge_base |
進行內容評估,具備針對技術內容的智能新鮮度評分。 |
get_video_transcript |
提取視頻的轉錄內容,支持全文提取、時間戳和多語言。 |
特殊功能:智能內容評估
evaluate_video_for_knowledge_base
函數包含高級的內容評估:
技術新鮮度評分
- 高波動性主題(React、AWS、AI/ML):強烈傾向於近期內容。
- 中波動性主題(Python、通用編程):適度的新鮮度加分。
- 穩定主題(算法、數學):最小的時效性懲罰。
質量指標
- 觀看次數和參與度指標。
- 手動或自動生成的字幕。
- 內容類型檢測(教程、評測等)。
- 時長適宜性。
- 技術時效性指標(2024、2025、“最新”、版本號)。
智能推薦
- 🟢 強烈推薦 - 高質量 + 近期技術內容。
- 🟡 適度推薦 - 有一些積極指標。
- 🔴 有限推薦 - 質量指標較少。
API 配額使用
功能 |
配額成本 |
說明 |
基本功能(get_video_details 等) |
1 單位 |
低成本 |
搜索功能 |
100+ 單位 |
高成本 |
字幕功能 |
50+ 單位 |
中高成本 |
評估功能 |
51 單位 |
中高成本 |
每日限制:10000 單位(默認)。
監控使用情況,以避免配額耗盡。
集成指南
Claude Desktop 集成
- 安裝服務器:按照上述安裝步驟進行操作。
- 添加到 Claude Desktop 配置:編輯你的 Claude Desktop 配置文件:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"youtube": {
"command": "python",
"args": ["/path/to/youtube-mcp-server/youtube_mcp_server.py"],
"env": {
"YOUTUBE_API_KEY": "your_youtube_api_key_here"
}
}
}
}
- 重啟 Claude Desktop。
- 驗證集成:向 Claude 提問:“你能在 YouTube 上搜索 Python 教程嗎?”
Cursor 集成
- 安裝服務器:按照上述安裝步驟進行操作。
- 在 Cursor 設置中配置:
- 打開 Cursor 設置。
- 導航到 MCP 服務器。
- 使用 Python 命令和參數添加新服務器。
- 設置 API 密鑰的環境變量。
- 使用 Cursor 進行測試:讓它搜索 YouTube 內容。
自定義項目集成
對於自定義應用程序或其他 MCP 客戶端:
from youtube_mcp_server import (
get_video_details,
search_videos,
evaluate_video_for_knowledge_base
)
async def example():
results = await search_videos("machine learning", max_results=5)
print(results)
evaluation = await evaluate_video_for_knowledge_base("dQw4w9WgXcQ")
print(evaluation)
環境變量設置
你也可以使用環境變量代替憑證文件:
export YOUTUBE_API_KEY="your_api_key_here"
🔧 技術細節
錯誤處理
服務器包含全面的錯誤處理,以應對以下情況:
- 無效的 API 密鑰。
- 配額超出錯誤。
- 網絡連接問題。
- 無效的視頻/頻道 ID。
- 地區限制。
- 評論/字幕禁用。
測試
運行全面的測試套件:
python test_server.py
這將使用真實的 YouTube 內容對所有 14 個功能進行測試,並提供詳細的輸出。
開發說明
本項目採用以下方式進行開發:
- 增量方法 - 一次開發一個功能。
- 測試驅動開發 - 在集成之前對每個功能進行測試。
- 用戶協作 - 持續反饋和審批環節。
- 備份協議 - 安全開發,具備回滾能力。
詳細的開發和測試流程請參閱
documents/testing.md
。
故障排除
常見問題
“未找到 API 密鑰”錯誤:
- 確保
credentials.yml
文件存在且格式正確。
- 檢查文件權限。
- 驗證 API 密鑰有效且未受限。
“配額超出”錯誤:
- 檢查你的 Google 雲控制檯配額使用情況。
- 考慮升級配額或優化請求。
- 對頻繁訪問的數據使用緩存。
“未找到視頻”錯誤:
- 驗證視頻 ID 或 URL 是否正確。
- 檢查視頻是否為私有或受限。
- 確保視頻未被刪除。
MCP 連接問題:
- 驗證配置中的 Python 路徑。
- 檢查所有依賴項是否已安裝。
- 配置更改後重啟 MCP 客戶端。
📄 許可證
本項目採用 MIT 許可證 - 詳情請參閱 LICENSE 文件。
🙏 致謝
準備好為你的 AI 助手賦予 YouTube 功能了嗎?立即開始吧! 🚀