
MCP server for Sonarr, Radarr, qBittorrent & Jellyfin — give your AI assistant control over your media stack
概览
An MCP server that gives AI assistants configurable access to homelab media and game services. Works with , , , , and any other MCP-compatible client. You can connect arrstack-mcp to OpenClaw (docs) and chat with your media stack from Discord. In this demo, OpenClaw uses a model running locally on a homelab server (, served by Ollama). In the chat below, the bot finds the three Hobbit movies in Radarr and asks which ones to download; after a short follow-up ("grab all three") they are added and the downloads start. The result, a few moments later: Radarr is grabbing all three movies, and qBittorrent is downloading them. run arrstack-mcp over HTTP and register it, as described in Quick Start (the OpenClaw snippet). The demo setup runs arrstack-mcp with --transport sse in Docker, on the same Docker network as OpenClaw, and registers http://arrstack-mcp:8000/sse with "transport":"sse". With the default Streamable HTTP transport the URL ends in /mcp instead (see Transport Options).
README
以下为原文 README 节选,完整内容请查看原文。
🎬 arrstack-mcp
An MCP server that gives AI assistants configurable access to homelab media and game services.
Works with Claude Desktop, Cursor, VS Code Copilot, OpenClaw, and any other MCP-compatible client.
Demo
OpenClaw + a local model, from Discord
You can connect arrstack-mcp to OpenClaw (docs) and chat with your media stack from Discord. In this demo, OpenClaw uses a model running locally on a homelab server (Gemma 4 E4B, served by Ollama). In the chat below, the bot finds the three Hobbit movies in Radarr and asks which ones to download; after a short follow-up (“grab all three”) they are added and the downloads start.
The result, a few moments later: Radarr is grabbing all three movies, and qBittorrent is downloading them.
Connect it to your own OpenClaw: run arrstack-mcp over HTTP and register it, as described in
Quick Start (the OpenClaw snippet). The demo setup runs arrstack-mcp with --transport sse in
Docker, on the same Docker network as OpenClaw, and registers http://arrstack-mcp:8000/sse with "transport":"sse".
With the default Streamable HTTP transport the URL ends in /mcp instead (see Transport Options).
What the bot can and can’t do: arrstack-mcp itself only exposes the tools listed under
Available Tools (search, add, queue and similar actions for your configured services). It has no
shell, file or system access, so it is not a way to run commands on your machine. What the rest of the bot can do
depends on your OpenClaw setup, which has its own tools. In the demo setup OpenClaw runs in a Docker container,
so it cannot reach the host’s services. Asked which services are running on the machine, it tried systemctl and the command failed:
This is a container boundary, not a restriction on commands: OpenClaw’s own tools (for example shell commands inside its container) are configured separately from arrstack-mcp. Review those settings before you expose a bot to anyone else.
Adding a movie with natural language
Features
| Service | Tools |
|---|---|
| Sonarr | List series, search & add shows, upcoming episodes, download queue |
| Radarr | List movies, search & add movies, download queue |
安装
uvx arrstack-mcp --setup配置
{
"mcpServers": {
"arrstack": {
"command": "/path/to/arrstack-mcp/.venv/bin/python",
"args": ["/path/to/arrstack-mcp/server.py", "--config", "/path/to/arrstack-mcp/arrstack.toml"]
}
}
}