Skip to main content
Glama
SavageCore

lidarr-mcp

by SavageCore

lidarr-mcp

Part of the arr-mcps collection. MCP server exposing Lidarr's v1 REST API (OpenAPI 3.0.4) as tools, so an LLM can read and manage a Lidarr instance: artists, albums, tracks, track files, the download queue, wanted/missing, history, indexers, import lists, metadata profiles, custom formats, tags, commands, system status, and more. Full surface — reads and writes, with destructive tools flagged.

Built with FastMCP.

Getting an API key

Generate one in Lidarr Settings > General > Security. Auth is the X-Api-Key header.

Related MCP server: lms-mcp

Install

Download a wheel from the latest release and install it as a uv tool (no repo checkout needed):

uv tool install lidarr_mcp-*.whl

This puts a lidarr-mcp command on your PATH. Register it with Claude Code:

claude mcp add lidarr \
  --env LIDARR_URL=http://your-lidarr-host:8686 \
  --env LIDARR_API_KEY=<key> \
  -- lidarr-mcp

From source

uv sync
cp .env.example .env   # fill in LIDARR_URL and LIDARR_API_KEY
claude mcp add lidarr \
  --env LIDARR_URL=http://your-lidarr-host:8686 \
  --env LIDARR_API_KEY=<key> \
  -- uv run --directory /path/to/lidarr-mcp lidarr-mcp

Config

Env var

Required

Default

LIDARR_URL

yes

-

LIDARR_API_KEY

yes*

none (no X-Api-Key header sent if unset)

* Every API endpoint requires auth; practically you must set it, but the server still starts without one so errors surface from the API rather than at startup.

Tools

15 resource-scoped tools, each covering multiple Lidarr v1 endpoints (223 total) via an operation parameter. Call a tool with operation set to one of its listed operations and an arguments dict matching that operation's parameters — the tool's own description (visible to your MCP client) lists every operation, its signature, and a one-line doc. This keeps the full REST surface available while costing a fraction of the context budget of registering all 223 endpoints as separate tools.

Tool

Operations

Kind

lidarr_media_library

26

reads + writes

lidarr_profiles_formats

26

reads + writes

lidarr_config

25

reads + writes

lidarr_system_commands

23

reads + writes

lidarr_indexers

23

reads + writes

lidarr_notifications_metadata

18

reads + writes

lidarr_tags

18

reads + writes

lidarr_import_lists

16

reads + writes

lidarr_download_clients

11

reads + writes

lidarr_storage

10

reads + writes

lidarr_queue

9

reads + writes

lidarr_history_blocklist

7

reads + writes

lidarr_release_search

5

reads + writes

lidarr_wanted

4

read-only

lidarr_calendar

2

read-only

Example: lidarr_queue(operation="lidarr_delete_queue", arguments={"id": 42}). Endpoint-level naming (lidarr_<verb>_<resource>) is preserved as the operation value, so the full endpoint list is still discoverable from each group tool's description at runtime.

Development

make help  # list all commands

Command

Does

make sync

uv sync

make test

Offline tests - one per endpoint, mocked HTTP

make test-integration

Tests against the live instance (needs LIDARR_URL/LIDARR_API_KEY)

make build

Build wheel + sdist into dist/

make bump-patch / bump-minor / bump-major

Bump the version in pyproject.toml + uv.lock

make clean

Remove build artifacts

The release workflow (.github/workflows/release.yml) builds and publishes to Releases whenever a v* tag is pushed - so the usual flow is make bump-patch, commit, then tag and push.

The integration suite is read-only by default (GET endpoints only). Set LIDARR_WRITE_TESTS=1 to also exercise POST/PUT/DELETE against a scratch tag (created, updated, then deleted). Never run write tests against a production library.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    A
    maintenance
    A Model Context Protocol server that exposes Sonarr, Radarr, Lidarr, and Jellyfin to any MCP client through a curated tool layer for LLM consumption.
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server that provides LLM tools to interact with Lyrion Music Server (LMS), enabling player control, playback management, playlist operations, and music library search.
    55
    24
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    MCP server that enables local LLMs to manage a home media stack including Radarr, Sonarr, Prowlarr, and others.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server exposing Profilarr's v1 REST API as tools, enabling an LLM to inspect and manage linked databases, connected Radarr/Sonarr instances, backups, jobs, announcements, and system status.
    20
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for Producer/Riffusion AI music generation

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.

View all MCP Connectors

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

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