cleanuparr-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLEANUPARR_URL | Yes | Cleanuparr URL, including any reverse-proxy BASE_PATH; the server appends /api. | |
| CLEANUPARR_API_KEY | No | API key sent as X-Api-Key. Health endpoints can be used without it when permitted. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cleanuparr_healthA | Check anonymous liveness at /health. |
| cleanuparr_health_readyA | Check anonymous readiness at /health/ready. |
| cleanuparr_health_detailedB | Get the authenticated detailed health report. |
| cleanuparr_get_statusA | Get Cleanuparr version, uptime, resource, and instance status. |
| cleanuparr_get_download_client_statusA | Check all configured download-client connections. |
| cleanuparr_get_arr_statusA | Check all configured Sonarr/Radarr/Lidarr-style connections. |
| cleanuparr_health_checksA | List configured health checks. |
| cleanuparr_run_health_checkA | Run all health checks, or one check by GUID when check_id is supplied. |
| cleanuparr_list_jobsA | List scheduled jobs and their current status. |
| cleanuparr_get_jobA | Get one job. Values include QueueCleaner, MalwareBlocker, DownloadCleaner, BlacklistSynchronizer, Seeker, and CustomFormatScoreSyncer. |
| cleanuparr_trigger_jobC | Run a one-time job now. Seeker cannot be manually triggered. |
| cleanuparr_start_jobC | Start a job with a schedule object containing the JobSchedule DTO. |
| cleanuparr_update_job_scheduleC | Replace a job schedule using the JobSchedule DTO. |
| cleanuparr_list_eventsC | List events. Dates are ISO-8601 strings; page_size is capped by the API at 500. |
| cleanuparr_get_eventA | Get one event by GUID. |
| cleanuparr_get_events_by_trackingA | Get events associated with a tracking GUID. |
| cleanuparr_list_event_typesA | List event type enum values. |
| cleanuparr_list_event_severitiesB | List event severity enum values. |
| cleanuparr_get_event_timelineB | Get event timeline buckets for the requested number of hours. |
| cleanuparr_list_manual_eventsB | List manual events with pagination and optional filters. |
| cleanuparr_get_manual_eventA | Get one manual event by GUID. |
| cleanuparr_resolve_manual_eventB | Mark one manual event resolved. |
| cleanuparr_resolve_all_manual_eventsA | Mark all unresolved manual events resolved. |
| cleanuparr_get_manual_event_statsA | Get manual-event counts by severity and resolution. |
| cleanuparr_list_manual_event_severitiesA | List manual-event severity enum values. |
| cleanuparr_list_strikesC | List strike-bearing download items. |
| cleanuparr_list_recent_strikesA | List recent strikes; count is capped by the API at 50. |
| cleanuparr_list_strike_typesA | List strike type enum values. |
| cleanuparr_delete_strikesA | Delete all strikes for a download-item GUID. |
| cleanuparr_get_statsC | Get v2 aggregate statistics. The deprecated v1 stats endpoint is not exposed. |
| cleanuparr_get_stats_timelineA | Get v2 metric timeline. Metrics include events, strikesIssued, recovered, removed, and malwareBlocked; buckets include hour, day, week, and month. |
| cleanuparr_get_search_summaryA | Get Seeker search totals and per-instance summary. |
| cleanuparr_list_search_eventsB | List Seeker search events. search_status can contain repeated enum filters. |
| cleanuparr_list_cf_scoresA | List current custom-format scores with cutoff and monitored filters. |
| cleanuparr_list_cf_upgradesC | List recent custom-format score upgrades. |
| cleanuparr_list_cf_instancesB | List instances and quality profiles with tracked scores. |
| cleanuparr_get_cf_statsA | Get custom-format score tracking statistics. |
| cleanuparr_get_cf_item_historyB | Get score history for an item; episode_id is used for Sonarr episode history. |
| cleanuparr_get_general_configA | Get general configuration, including dry-run and auth settings. |
| cleanuparr_update_general_configA | Replace general config. Fields include dryRun, retry/timeout settings, ignoredDownloads, connectivity, retention, log, and auth objects. |
| cleanuparr_purge_strikesA | Purge all stored strikes. This is irreversible. |
| cleanuparr_get_arr_configD | – |
| cleanuparr_update_arr_configB | Replace one *arr config, normally containing failedImportMaxStrikes. |
| cleanuparr_list_arr_instancesD | – |
| cleanuparr_create_arr_instanceA | Create an *arr instance. DTO fields: enabled, name, url, apiKey, version, externalUrl. |
| cleanuparr_update_arr_instanceA | Replace an *arr instance. Use Cleanuparr's secret placeholder for apiKey. |
| cleanuparr_delete_arr_instanceB | Delete an *arr instance by GUID. |
| cleanuparr_test_arr_instanceB | Test an *arr connection. DTO fields: url, apiKey, version, optional instanceId. |
| cleanuparr_list_download_clientsA | List configured download clients. |
| cleanuparr_create_download_clientB | Create a download client. DTO includes enabled, name, typeName, type, host, username, password, urlBase, externalUrl, and directory source/target. |
| cleanuparr_update_download_clientC | Replace a download client. Use the secret placeholder for password. |
| cleanuparr_delete_download_clientA | Delete a download client by GUID. |
| cleanuparr_test_download_clientC | Test a download client. DTO includes typeName, type, host, credentials, urlBase, and optional clientId. |
| cleanuparr_get_queue_cleaner_configA | Get queue cleaner configuration. |
| cleanuparr_update_queue_cleaner_configA | Replace queue cleaner config. DTO includes enabled, cronExpression, useAdvancedScheduling, failedImport, downloadingMetadataMaxStrikes, processNoContentId, and ignoredDownloads. |
| cleanuparr_list_queue_rulesA | List stall or slow queue rules. |
| cleanuparr_create_queue_ruleB | Create a stall or slow queue rule. Common DTO fields include name, enabled, maxStrikes, privacyType, completion percentages, and changeCategory. |
| cleanuparr_update_queue_ruleA | Replace a stall or slow queue rule. Stall fields include minimumProgress; slow fields include minSpeed, maxTimeHours, and ignoreAboveSize. |
| cleanuparr_delete_queue_ruleA | Delete a stall or slow queue rule by GUID. |
| cleanuparr_get_download_cleaner_configA | Get download cleaner configuration. |
| cleanuparr_update_download_cleaner_configA | Replace download cleaner config: enabled, cronExpression, useAdvancedScheduling, and ignoredDownloads. |
| cleanuparr_get_dead_torrent_configA | Get dead-torrent settings for a download-client GUID. |
| cleanuparr_update_dead_torrent_configA | Replace dead-torrent settings: enabled, targetCategory, useTag, maxStrikes, categories. |
| cleanuparr_get_unlinked_configA | Get unlinked-file settings for a download-client GUID. |
| cleanuparr_update_unlinked_configA | Replace unlinked settings: enabled, targetCategory, useTag, ignoredRootDirs, categories. |
| cleanuparr_get_orphaned_files_configA | Get orphaned-file settings for a download-client GUID. |
| cleanuparr_update_orphaned_files_configA | Replace orphaned-file settings: enabled, scanDirectories, orphanedDirectory, excludePatterns, minFileAgeHours, and optional purgeAfterHours. |
| cleanuparr_list_seeding_rulesA | List seeding rules for a download-client GUID. |
| cleanuparr_create_seeding_ruleB | Create a seeding rule. DTO includes name, categories, trackerPatterns, tagsAny/tagsAll, priority, privacyType, ratio/time/seeder limits, and deleteSourceFiles. |
| cleanuparr_update_seeding_ruleA | Replace a seeding rule by GUID. Priority is ignored by the upstream update. |
| cleanuparr_delete_seeding_ruleA | Delete a seeding rule by GUID. |
| cleanuparr_reorder_seeding_rulesB | Reorder rules by sending an orderedIds GUID array. |
| cleanuparr_get_malware_blocker_configA | Get malware blocker configuration. |
| cleanuparr_update_malware_blocker_configB | Replace malware blocker config, including per-arr blocklist settings. |
| cleanuparr_get_seeker_configB | Get Seeker configuration. |
| cleanuparr_update_seeker_configB | Replace Seeker config: search toggles, strategy, grace period, and instances. |
| cleanuparr_get_blacklist_sync_configA | Get blacklist synchronizer configuration. |
| cleanuparr_update_blacklist_sync_configB | Replace blacklist sync config: enabled and optional blacklistPath. |
| cleanuparr_list_notification_providersA | List notification providers. Secret fields may be redacted by Cleanuparr. |
| cleanuparr_get_apprise_cli_statusA | Get Apprise CLI availability status. |
| cleanuparr_create_notification_providerA | Create a notification provider. Types: notifiarr, apprise, ntfy, telegram, discord, pushover, gotify. Common fields are name, isEnabled, and event flags; provider-specific fields follow the API DTO. |
| cleanuparr_update_notification_providerC | Replace a notification provider. Use Cleanuparr placeholders for secrets. |
| cleanuparr_test_notification_providerC | Test a notification provider using its provider-specific DTO. |
| cleanuparr_delete_notification_providerA | Delete a notification provider by GUID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SavageCore/cleanuparr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server