{"serverId":"mcp-registry/io.github.mcp-dir/youtube-mcp","tools":[{"name":"youtube_api","fixed":{"name":"youtube_api","description":"Escape hatch: call any path on the YouTube backend. Pass path (e.g. /search), optional method (default GET), query map, and JSON body for POST. Prefer the named youtube_* tools when available; this is for routes not in the manifest.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["path"],"properties":{"body":{"type":"string"},"path":{"type":"string"},"query":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"method":{"enum":["GET","HEAD","POST","PUT","PATCH","DELETE"],"type":"string"}}},"annotations":{"title":"youtube_api","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: body. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":182,"tokensAfter":186}],"toolsChanged":1,"tokensSaved":0,"todo":[{"tool":"authenticate","params":["token"]},{"tool":"marketplace","params":["limit","query","action","mcp_id","message","tool_id","arguments","immediate","tier_slug","prompt_body","prompt_slug","prompt_tool","prompt_vars","conversation","prompt_title","request_name","cancel_reason","cancel_comment","prompt_targets","report_context","prompt_category","request_details","prompt_description"]},{"tool":"report_bug","params":["context","message","conversation"]},{"tool":"youtube_api","params":["body","path","query","method"]},{"tool":"youtube_channel_about","params":["id","ids","forUsername"]},{"tool":"youtube_channel_community","params":["id","ids","token","forUsername"]},{"tool":"youtube_channel_featured","params":["id","ids","token","forUsername"]},{"tool":"youtube_channel_home","params":["id","ids","token","forUsername"]},{"tool":"youtube_channel_playlists","params":["id","ids","token","sort_by","forUsername"]},{"tool":"youtube_channel_search","params":["id","ids","query","token","forUsername"]},{"tool":"youtube_channel_shorts","params":["id","ids","token","forUsername"]},{"tool":"youtube_channel_shorts_post","params":["id","ids","token","params","forUsername"]},{"tool":"youtube_channel_store","params":["id","ids","forUsername"]},{"tool":"youtube_channel_videos","params":["id","ids","token","sort_by","forUsername"]},{"tool":"youtube_channel_videos_post","params":["id","ids","token","params","forUsername"]},{"tool":"youtube_comment_delete","params":["account","comment_id","comment_ids"]},{"tool":"youtube_comment_moderate","params":["status","account","ban_author","comment_ids"]},{"tool":"youtube_comment_post","params":["text","account","video_id","video_ids"]},{"tool":"youtube_comment_reply","params":["account","replies"]},{"tool":"youtube_comment_threads","params":["order","account","video_id","video_ids","channel_id","page_token","channel_ids","max_results","search_terms","moderation_status"]},{"tool":"youtube_comment_update","params":["text","account","comment_id","comment_ids"]},{"tool":"youtube_comments","params":["id","ids","token","sort_by"]},{"tool":"youtube_download","params":["id","ids","cgeo"]},{"tool":"youtube_hashtag","params":["tag","type","token"]},{"tool":"youtube_home_feed","params":["geo","lang","token"]},{"tool":"youtube_hype","params":["geo","lang","token"]},{"tool":"youtube_my_channels","params":["account"]},{"tool":"youtube_playlist","params":["id","ids","token"]},{"tool":"youtube_resolve_url","params":["url"]},{"tool":"youtube_search","params":["geo","lang","type","query","token","sort_by","duration","upload_date"]},{"tool":"youtube_trending","params":["geo","lang","type"]},{"tool":"youtube_video_related","params":["id","ids","token"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}