ytptube-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YTPTUBE_BASE_URL | Yes | Required. The base URL of the ytptube API, including any reverse-proxy prefix. Example: https://media.example.net/ytptube | |
| YTPTUBE_PASSWORD | No | Optional. Password for authentication. Must be set together with YTPTUBE_USERNAME. | |
| YTPTUBE_USERNAME | No | Optional. Username for authentication. Must be set together with YTPTUBE_PASSWORD. | |
| YTPTUBE_AUTH_MODE | No | Authentication mode: 'basic' (default) or 'apikey'. | basic |
| YTPTUBE_TIMEOUT_MS | No | Request timeout in milliseconds. Must be an integer from 100 through 300000. | 30000 |
| YTPTUBE_ALLOW_MUTATIONS | No | Set to the exact string 'true' to allow state-changing mutations. Defaults to 'false'. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ytptube_pingA | Check whether the configured YTPTube API is reachable. |
| ytptube_get_system_configurationA | Read YTPTube system configuration. Sensitive fields are recursively redacted. |
| ytptube_get_ytdlp_optionsA | Read the active yt-dlp option configuration. |
| ytptube_validate_cli_optionsA | Parse and validate yt-dlp CLI options without starting a download. |
| ytptube_inspect_urlA | Inspect URL metadata without adding it to the download queue. |
| ytptube_list_logsA | Read recent YTPTube application logs (when file logging is enabled). |
| ytptube_live_queueC | Read current in-memory queue progress and counts. |
| ytptube_list_historyC | List a paginated queue or completed-history page. |
| ytptube_get_history_itemB | Read one queue or history item by ID. |
| ytptube_add_downloadsB | Add one or more URLs to the download queue. |
| ytptube_retry_history_itemB | Read a history item and requeue only saved download-request fields. |
| ytptube_queue_controlB | Start, pause, force-start, reorder, or cancel queued downloads. |
| ytptube_clear_historyA | Delete queue/history records selected by IDs or a status filter; media deletion is opt-in. |
| ytptube_list_archiveA | List archive entries for a preset, optionally filtered by archive IDs. |
| ytptube_set_history_archiveA | Archive or unarchive a history item using its configured archive file. |
| ytptube_generate_task_metadataB | Generate task metadata, NFO, and image sidecar files. |
| ytptube_generate_history_nfoC | Generate an NFO sidecar for a completed history item. |
| ytptube_list_tasksA | List scheduled tasks with pagination. |
| ytptube_get_taskA | Read a scheduled task by numeric ID. |
| ytptube_inspect_task_urlA | Preview the task handler and items for a URL; this only calls /api/tasks/inspect and never queues downloads. |
| ytptube_create_tasksC | Create one or more scheduled tasks. |
| ytptube_patch_taskB | Partially update a scheduled task. |
| ytptube_update_taskB | Replace a scheduled task using the API PUT contract. |
| ytptube_list_presetsB | List download presets with pagination and sorting. |
| ytptube_get_presetA | Read a download preset by numeric ID. |
| ytptube_create_presetC | Create a download preset. |
| ytptube_patch_presetA | Partially update a non-default download preset. |
| ytptube_update_presetB | Replace a non-default download preset using the API PUT contract. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 28 tools
Every tool has a distinct purpose: reading vs writing, history vs tasks vs presets vs system state. Even the patch/update pairs are clearly differentiated by partial vs full replacement.
All tools use the 'ytptube_' prefix followed by a verb_noun pattern (e.g., list_tasks, create_preset, validate_cli_options). Minor deviations like 'live_queue' are still readable and do not break the overall consistency.
With 28 tools, the server exceeds the 25-tool threshold for 'too many'. While each tool covers a distinct API operation, the sheer number makes the surface area heavy and harder to navigate.
Core download lifecycle and task/preset management are covered, but obvious gaps exist: there is no delete operation for tasks or presets, and system configuration and yt-dlp options are read-only with no set/update functionality.