Skip to main content
Glama
README.md
# Overseerr MCP Server

Ein Model Context Protocol (MCP) Server für Overseerr, der es ermöglicht, Overseerr-Funktionen über Claude und andere kompatible AI-Assistenten zu nutzen.

## Features

- **Medien suchen**: Filme und TV-Serien in der TMDB-Datenbank suchen
- **Anfragen verwalten**: Alle Medienanfragen anzeigen, filtern und sortieren
- **Medien anfordern**: Neue Filme oder TV-Serien anfordern
- **Anfragen genehmigen**: Ausstehende Anfragen genehmigen
- **Anfragen ablehnen**: Anfragen mit Begründung ablehnen
- **Mediendetails**: Detaillierte Informationen zu Filmen/Serien abrufen
- **Server-Status**: Overseerr-Server-Status und -Informationen anzeigen
- **Benutzeranfragen**: Anfragen für spezifische Benutzer anzeigen

## Installation

1. **Repository klonen oder Code kopieren**
```bash
mkdir overseerr-mcp-server
cd overseerr-mcp-server
```

2. **Dateien erstellen**: Kopieren Sie den TypeScript-Code in `src/index.ts` und die anderen Konfigurationsdateien

3. **Dependencies installieren**
```bash
npm install
```

4. **Build erstellen**
```bash
npm run build
```

## Konfiguration

### Umgebungsvariablen

Erstellen Sie eine `.env` Datei oder setzen Sie die folgenden Umgebungsvariablen:

```bash
# Erforderlich: Overseerr API Key
OVERSEERR_API_KEY=your_api_key_here

# Optional: Overseerr Base URL (Standard: http://localhost:5055)
OVERSEERR_BASE_URL=http://localhost:5055
```

### API Key erhalten

1. Öffnen Sie Ihre Overseerr-Weboberfläche
2. Gehen Sie zu **Settings** → **General**
3. Scrollen Sie zu **API Key** und kopieren Sie den Schlüssel
4. Setzen Sie diesen als `OVERSEERR_API_KEY` Umgebungsvariable

### Claude Desktop Integration

Fügen Sie in Ihrer Claude Desktop Konfiguration (`claude_desktop_config.json`) hinzu:

```json
{
  "mcpServers": {
    "overseerr": {
      "command": "node",
      "args": ["path/to/overseerr-mcp-server/build/index.js"],
      "env": {
        "OVERSEERR_API_KEY": "your_api_key_here",
        "OVERSEERR_BASE_URL": "http://localhost:5055"
      }
    }
  }
}
```

## Verfügbare Tools

### `search_media`
Sucht nach Filmen und TV-Serien
```
Parameter:
- query (string): Suchbegriff
- page (number, optional): Seitenzahl für Paginierung
```

### `get_requests`
Zeigt alle Medienanfragen an
```
Parameter:
- take (number, optional): Anzahl Ergebnisse (Standard: 20)
- skip (number, optional): Übersprungene Ergebnisse (Standard: 0)
- filter (string, optional): Filter nach Status (all, approved, denied, pending, processing, available)
- sort (string, optional): Sortierung (added, modified)
```

### `request_media`
Fordert ein Medium an
```
Parameter:
- mediaId (number): TMDB ID des Mediums
- mediaType (string): "movie" oder "tv"
- seasons (array, optional): Staffeln für TV-Serien
- is4k (boolean, optional): 4K-Version anfordern
```

### `approve_request`
Genehmigt eine Anfrage
```
Parameter:
- requestId (number): ID der zu genehmigenden Anfrage
```

### `deny_request`
Lehnt eine Anfrage ab
```
Parameter:
- requestId (number): ID der abzulehnenden Anfrage
- reason (string, optional): Ablehnungsgrund
```

### `get_media_details`
Zeigt detaillierte Medieninformationen
```
Parameter:
- mediaType (string): "movie" oder "tv"
- mediaId (number): TMDB ID
```

### `get_server_status`
Zeigt Server-Status und -Informationen
```
Parameter: keine
```

### `get_user_requests`
Zeigt Anfragen für einen bestimmten Benutzer
```
Parameter:
- userId (number): Benutzer-ID
- take (number, optional): Anzahl Ergebnisse
- skip (number, optional): Übersprungene Ergebnisse
```

## Beispiel-Nutzung

Nach der Installation können Sie Claude fragen:

- "Suche nach dem Film 'Inception'"
- "Zeige mir alle ausstehenden Medienanfragen"
- "Fordere den Film 'The Matrix' an"
- "Genehmige die Anfrage mit ID 123"
- "Zeige mir den Status des Overseerr-Servers"

## Entwicklung

Für die Entwicklung können Sie den Dev-Modus verwenden:

```bash
npm run dev
```

## Troubleshooting

### Häufige Probleme

1. **"OVERSEERR_API_KEY environment variable is required"**
   - Stellen Sie sicher, dass die Umgebungsvariable `OVERSEERR_API_KEY` gesetzt ist

2. **Verbindungsfehler**
   - Überprüfen Sie, ob Overseerr läuft und unter der konfigurierten URL erreichbar ist
   - Standardmäßig läuft Overseerr auf Port 5055

3. **API-Fehler**
   - Überprüfen Sie, ob der API Key korrekt ist
   - Stellen Sie sicher, dass der Benutzer die nötigen Berechtigungen hat

### Debug-Modus

Für erweiterte Debugging-Informationen können Sie die Logs überprüfen:

```bash
# Server direkt ausführen für Logs
node build/index.js
```

## Lizenz

MIT License - siehe LICENSE Datei für Details.