1. Conduid
  2. AI
  3. Arr MCP
MCP server · AI

Arr MCP

One MCP server for the whole media stack: Radarr, Sonarr, Prowlarr, Bazarr, Jellyfin, Seerr

Unclaimed MIT last commit a year ago content
52Fair

Scored 17 days ago · breakdown

About Arr MCP

Arr MCP is an MCP server published by GauranshMathur in the AI category: one MCP server for the whole media stack: Radarr, Sonarr, Prowlarr, Bazarr, Jellyfin, Seerr. It has been installed 0 times through Conduid.

The repository has 4 stars and 0 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx arr-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Arr MCP

Powered by Claude · Grounded in docs

I know everything about Arr MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

ARR-MCP

ARR-MCP is a standard MCP (Model Control Protocol) server designed to integrate with the ARR stack (Sonarr, Radarr, Prowlarr).

Overview

This MCP server provides a bridge between MCP-compatible clients and popular media management tools in the ARR stack. It implements the standard MCP protocol, enabling any MCP client to interact with these tools through a standardized interface.

Features

  • Flexible MCP Server: Implements the standard MCP protocol to allow any compatible client to connect
  • ARR Stack Integration:
    • Sonarr: Search and manage TV shows
    • Radarr: Search and manage movies
    • Prowlarr: Search across indexers and manage indexers
  • Extensible Architecture: Easily add new tools and handlers

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/arr-mcp.git
cd arr-mcp
  1. Build the server:
go build -o arr-mcp ./cmd/server

Usage

Running the Server

./arr-mcp

By default, the server runs on localhost:8080. You can configure it using command-line flags:

./arr-mcp --port 9000 --host 0.0.0.0

Environment Variables

Configure the connections to various services using environment variables:

export SONARR_URL="http://localhost:8989"
export SONARR_API_KEY="your-sonarr-api-key"
export RADARR_URL="http://localhost:7878"
export RADARR_API_KEY="your-radarr-api-key"
export PROWLARR_URL="http://localhost:9696"
export PROWLARR_API_KEY="your-prowlarr-api-key"

Command-line Options

  • --port: Server port (default: 8080)
  • --host: Host to bind to (default: localhost)
  • --log-level: Logging level (default: info)
  • --sonarr-url: Sonarr API URL
  • --sonarr-api-key: Sonarr API key
  • --radarr-url: Radarr API URL
  • --radarr-api-key: Radarr API key
  • --prowlarr-url: Prowlarr API URL
  • --prowlarr-api-key: Prowlarr API key

Configuring MCP Clients to Use This Server

To use this MCP server with any MCP-compatible client, configure the client to connect to:

http://localhost:8080

The server implements the standard MCP protocol endpoints required by compliant clients.

Available Endpoints

  • GET /health: Health check endpoint
  • POST /v1/run: MCP run endpoint for executing tools
  • GET /v1/tools: List available tools

Available Tools

Depending on your configuration, the following tools will be available:

  • SonarrSearch: Search for TV shows in Sonarr
  • SonarrList: List TV shows in Sonarr
  • RadarrSearch: Search for movies in Radarr
  • RadarrList: List movies in Radarr
  • ProwlarrSearch: Search for content using Prowlarr indexers
  • ProwlarrIndexers: List Prowlarr indexers

Tool Usage Examples

SonarrSearch

{
  "tool_name": "SonarrSearch",
  "input": {
    "query": "Breaking Bad"
  }
}

RadarrSearch

{
  "tool_name": "RadarrSearch",
  "input": {
    "query": "Inception"
  }
}

ProwlarrSearch

{
  "tool_name": "ProwlarrSearch",
  "input": {
    "query": "ubuntu 22.04",
    "categories": [5030, 5040]
  }
}

Development

Project Structure

  • cmd/server/: Contains the main application entry point
  • pkg/api/: MCP protocol definitions and interfaces
  • pkg/arr/: ARR stack integration (Sonarr, Radarr, Prowlarr)
  • pkg/server/: MCP server implementation

Adding New Tools

To add a new tool to the server:

  1. Create a handler that implements the api.Handler interface
  2. Register the tool and handler in the setupServer function in main.go

Example:

// Create a new handler
type MyNewHandler struct {
    // Dependencies here
}

// Implement the HandleRequest method
func (h *MyNewHandler) HandleRequest(req api.MCPRequest) (interface{}, error) {
    // Handle the request
    return result, nil
}

// In setupServer function
mcpServer.RegisterTool(
    api.ToolDefinition{
        Name:        "MyNewTool",
        Description: "Description of my new tool",
        Parameters: map[string]interface{}{
            "param1": map[string]interface{}{
                "type":        "string",
                "description": "Description of parameter",
            },
        },
    },
    &MyNewHandler{},
)

Building from Source

go mod tidy
go build -o arr-mcp ./cmd/server

License

MIT License

README mirrored from the source repository 17 days ago. The original is authoritative.

Questions

About Arr MCP

How do I install Arr MCP?

Run npx arr-mcp, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Arr MCP safe to use with an AI agent?

Its trust score is 52 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Arr MCP still maintained?

The last commit was a year ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.