README.md•4.65 kB
# 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.