Major release with comprehensive MCP best practices implementation: ✨ Added: - Tool name prefixes (ytdlp_) for all 8 tools to avoid naming conflicts - Zod schema validation with runtime input validation - Tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) - Response format options (JSON/Markdown) for search tools - Pagination support with offset parameter - Character limits (25K standard, 50K for transcripts) with smart truncation - Actionable error messages with platform-specific guidance 🔧 Improved: - Comprehensive tool descriptions with usage examples - Enhanced configuration system with limits - Better TypeScript type safety - Professional README with badges and tables 🐛 Fixed: - JSON parsing issue in metadata truncation - Maintained valid JSON structure when truncated 🧪 Tested: - ✅ YouTube platform (Rick Astley video) - ✅ Bilibili platform (Chinese content) - ✅ Multi-language support verified - ✅ All 8 tools tested with real API calls 📖 Documentation: - Created comprehensive CHANGELOG.md - Redesigned README.md with professional formatting - Added migration guide for v0.6.x users 🌍 Platform Support: - Verified: YouTube, Bilibili - Theory: 1000+ platforms via yt-dlp
56 lines
1.4 KiB
JSON
56 lines
1.4 KiB
JSON
{
|
|
"name": "@kevinwatt/yt-dlp-mcp",
|
|
"version": "0.7.0",
|
|
"description": "An MCP server implementation that integrates with yt-dlp, providing video and audio content download capabilities (e.g. YouTube, Facebook, Tiktok, etc.) for LLMs.",
|
|
"keywords": [
|
|
"mcp",
|
|
"youtube",
|
|
"yt-dlp",
|
|
"dive",
|
|
"llm"
|
|
],
|
|
"homepage": "https://github.com/kevinwatt/yt-dlp-mcp#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/kevinwatt/yt-dlp-mcp/issues"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/kevinwatt/yt-dlp-mcp.git"
|
|
},
|
|
"bin": {
|
|
"yt-dlp-mcp": "lib/index.mjs"
|
|
},
|
|
"files": [
|
|
"lib",
|
|
"README.md"
|
|
],
|
|
"main": "./lib/index.mjs",
|
|
"scripts": {
|
|
"prepare": "tsc --skipLibCheck && chmod +x ./lib/index.mjs",
|
|
"test": "PYTHONPATH= PYTHONHOME= node --experimental-vm-modules node_modules/jest/bin/jest.js --detectOpenHandles --forceExit"
|
|
},
|
|
"author": "Dewei Yen <k@funmula.com>",
|
|
"license": "MIT",
|
|
"type": "module",
|
|
"exports": {
|
|
".": {
|
|
"import": "./lib/index.mjs"
|
|
}
|
|
},
|
|
"dependencies": {
|
|
"@modelcontextprotocol/sdk": "0.7.0",
|
|
"rimraf": "^6.0.1",
|
|
"spawn-rx": "^4.0.0",
|
|
"zod": "^4.1.12"
|
|
},
|
|
"devDependencies": {
|
|
"@jest/globals": "^29.7.0",
|
|
"@types/jest": "^29.5.14",
|
|
"jest": "^29.7.0",
|
|
"shx": "^0.3.4",
|
|
"ts-jest": "^29.2.5",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^5.6.3"
|
|
}
|
|
}
|