profilarr-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROFILARR_URL | Yes | The base URL of your Profilarr instance. | |
| PROFILARR_API_KEY | Yes | API key for Profilarr. Required for every tool except profilarr_health, which is public. | |
| PROFILARR_TEMP_DIR | No | Directory for temporary files used in backup download/upload. Defaults to the system temp dir. |
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 |
|---|---|
| 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. |
| 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
| 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/profilarr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server