Comment downloads
download_youtube_commentsPOST /v1/downloadsget_youtube_downloadGET /v1/downloads/:idlist_youtube_downloadsGET /v1/downloadsget_youtube_download_fileGET /v1/downloads/:id/save?format=...The MCP server translates tool calls into the API requests that already power YouTube Comments Downloader. This keeps downloads, credits, formats, and error responses in one place.
https://api.youtubecommentsdownloader.com/mcpHTTPSUse the remote endpoint from a compatible client. The connection is stateless and does not require a local runtime or an additional package.
Names are designed for an AI client; the route mapping stays with the existing API.
download_youtube_commentsPOST /v1/downloadsget_youtube_downloadGET /v1/downloads/:idlist_youtube_downloadsGET /v1/downloadsget_youtube_download_fileGET /v1/downloads/:id/save?format=...get_youtube_transcriptPOST /v1/tools/transcriptsget_youtube_channel_detailsPOST /api/v1/tools/channel-detailsRemote clients can use OAuth 2.1 with PKCE S256. Access tokens last 15 minutes and refresh tokens rotate for 30 days.
Existing YCD API keys are also accepted through the x-api-key header. Create them in the dashboard and keep them out of prompts and source control.
Authentication only identifies the account. Credits are charged by the API, the same as in the app.
MCP access is open to free accounts and subscriptions, checked on every request. For prepaid, desktop, and ended subscription accounts, the consent screen links to the subscription instead of approving, and tool calls return an UPGRADE_REQUIRED error with an upgradeUrl.
The file tool returns the same public-by-ID URL used by the current export flow. It does not create signed links or copy files into MCP storage.
Public export access by ID is an intentional product contract for public data.
MCP calls the existing HTTP API and uses the current queues and records.
Existing public download URLs stay public by ID, exactly as they are today.
Comment search belongs in MCP after the main API exposes the matching capability.
OAuth context is stored in PocketBase and kept warm briefly in process memory.