Skip to main content
Glama
SavageCore

profilarr-mcp

Official
by SavageCore

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PROFILARR_URLYesThe base URL of your Profilarr instance.
PROFILARR_API_KEYYesAPI key for Profilarr. Required for every tool except profilarr_health, which is public.
PROFILARR_TEMP_DIRNoDirectory for temporary files used in backup download/upload. Defaults to the system temp dir.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
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

NameDescription
profilarr_healthA

Check system health. Public -- requires no API key. Returns status (healthy|degraded|unhealthy) and timestamp.

profilarr_statusA

Get overall system status: version, uptime, databases, arrs (with sync state), job queue, backups, and unread announcements.

profilarr_get_openapi_specA

Fetch Profilarr's resolved OpenAPI 3.1 spec as a JSON document.

profilarr_list_arr_instancesA

List connected Radarr/Sonarr instances. Secrets (api_key) are stripped.

profilarr_list_databasesA

List linked PCD databases. Secrets (personal_access_token -> hasPat) stripped.

profilarr_create_databaseB

Link a PCD database: clones the repo, validates its manifest, processes dependencies. Synchronous; may take seconds. personal_access_token requires git_user_name and git_user_email. Returns the new DatabaseInstance.

profilarr_get_databaseA

Get a single linked database by id. Secrets stripped.

profilarr_update_databaseA

Partial update of a linked database. Only provided fields change; unknown fields are ignored. See profilarr_create_database for field-dependency rules (PAT requires git_user_name/email, local_ops_enabled requires PAT).

profilarr_delete_databaseA

Unlink a database: removes the row, deletes the cloned repo from disk, cancels scheduled sync jobs.

profilarr_sync_databaseA

Trigger a database pull (PCD sync). Async: returns {jobId} (HTTP 202); poll with profilarr_get_job(jobId). Note: this pulls the linked DB repo, NOT an Arr instance sync.

profilarr_get_jobA

Get current status of a job-queue entry (e.g. from profilarr_create_backup or profilarr_sync_database). Returns status with run result when finished.

profilarr_list_backupsA

List backup archives on the server, newest first.

profilarr_create_backupA

Create a backup. Async: returns {jobId} (HTTP 202); poll with profilarr_get_job(jobId). The archive is sanitized (secrets stripped).

profilarr_download_backupA

Download a backup archive (sanitized on the fly) and write it to the local temp dir (PROFILARR_TEMP_DIR or system temp). Returns {path, filename, size} so the caller can read the file from disk.

profilarr_delete_backupB

Delete a backup archive from the server.

profilarr_upload_backupA

Upload a local .tar.gz backup to the server as multipart form data. Returns the stored filename/size.

profilarr_get_backup_settingsA

Get backup settings (schedule, retentionDays, enabled, ...).

profilarr_update_backup_settingsA

Update backup settings. Only schedule (hourly|daily|weekly|monthly), retention_days (1-365), and enabled are updatable. Returns updated settings.

profilarr_list_announcementsA

List visible announcements (withdrawn/expired/version-incompatible filtered), newest first.

profilarr_get_announcementA

Get a single announcement by id, including its markdown body.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/profilarr-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server