supershift-mcp
Provides tools for ADB-based UI automation to write shifts into the Supershift app on Android devices.
Allows reading shift schedules from a Google Calendar via private iCal URL or .ics file.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@supershift-mcplist my shifts for this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
supershift-mcp
MCP- und HTTP-Bridge fuer Dienstplaene, die aus Supershift als Kalender exportiert werden.
Status: Inoffizielles Community-Projekt. Es liest exportierte Kalenderdaten, kann Dienste ueber kontrollierte Android-UI-Automation vorbereiten/eintragen und enthaelt Reverse-Engineering-Werkzeuge fuer APK, Deep-Links, lokale App-Daten und Supershift-Cloud-Payload-Preview.
Was ist das?
Supershift selbst bietet nach aktueller Recherche keine dokumentierte
oeffentliche API und keinen offiziellen MCP-Server. Der robuste Integrationsweg
ist deshalb der Kalenderexport: Supershift kann Dienste in einen externen
Kalender exportieren, und dieser Kalender kann als .ics Datei oder private
iCal-URL gelesen werden.
supershift-mcp macht daraus:
einen MCP-Server fuer KI-Clients
eine optionale FastAPI HTTP-API
Analysefunktionen fuer Dienste, Ruhezeiten, Konflikte, freie Tage und Stunden
Exportfunktionen in JSON, CSV und Markdown
eine einfache Lohnschaetzung anhand von Stundensaetzen
ADB-gestuetzte Schreib-Backends fuer eigene Android-Geraete
Reverse-Engineering-Hilfen fuer APK-Manifest, Split-APK-Install, Deep-Links, Realm-Datenzugriff und Cloud-CRUD-Payloads
Related MCP server: MCP Calendar Assistant
Architektur
flowchart LR
A[Supershift Android App] -->|Kalenderexport| B[Google Calendar oder anderer Kalender]
B -->|Private iCal URL oder .ics Datei| C[supershift-mcp]
C --> D[MCP Tools]
C --> E[HTTP API]
D --> F[KI-Client: Claude, Cursor, Codex, andere MCP Clients]
E --> G[Skripte, Dashboards, Automationen]Datenfluss
sequenceDiagram
participant User as Nutzer
participant App as Supershift
participant Cal as Kalender
participant MCP as supershift-mcp
participant AI as MCP Client
User->>App: Dienste eintragen
App->>Cal: Dienste als Kalender exportieren
MCP->>Cal: .ics lesen
AI->>MCP: Tool aufrufen, z.B. next_shift
MCP-->>AI: Strukturierte Antwort mit DienstdatenWas geht und was nicht?
Bereich | Status | Hinweis |
Dienste auslesen | Ja | Ueber |
Naechsten Dienst finden | Ja | MCP Tool |
Aktuellen Dienst finden | Ja | MCP Tool |
Stunden summieren | Ja | Nach Zeitraum, Titel, Tag, Woche, Monat |
Konflikte erkennen | Ja | Ueberlappende Kalenderereignisse |
Ruhezeiten pruefen | Ja | Standard: 11 Stunden Mindest-Ruhezeit |
Freie Tage finden | Ja | Zeitraumbezogene Auswertung |
CSV/JSON/Markdown exportieren | Ja | Tool |
Lohn grob schaetzen | Ja | Mit Standard- und Titel-spezifischen Saetzen |
Direkt in Supershift schreiben | Experimentell ja | Ueber ADB-UI-Automation mit Dry-Run und Opt-in |
Android Calendar Intent | Ja | Oeffnet Androids generische Kalender-Eintragsmaske |
Supershift APK analysieren | Ja | Manifest, Split-Pflicht, Permissions, Deep-Links |
Supershift Split-APKs installieren | Ja |
|
Deep-Links testen | Ja |
|
Lokale App-Datenzugriffe pruefen | Ja |
|
Direkt in lokale Supershift-DB schreiben | Ja, experimentell |
|
Supershift Cloud CRUD vorbereiten | Preview | Baut Payload fuer |
Supershift Cloud Sync voll schreiben | Nein | Erst nach verifiziertem Auth-/Device-Kontext aus deiner eigenen Installation |
Voraussetzungen
Python 3.11 oder neuer
Ein aus Supershift exportierter Kalender
Entweder eine lokale
.icsDatei oder eine private iCal-URLEin MCP-faehiger Client, wenn du den MCP-Server nutzen willst
Kalenderquelle vorbereiten
Option A: Lokale .ics Datei
Exportiere oder speichere deinen Kalender als Datei, zum Beispiel:
/Users/dein-name/Kalender/supershift.icsDann setzt du:
export SUPERSHIFT_ICS="/Users/dein-name/Kalender/supershift.ics"Option B: Private iCal-URL
Wenn Supershift in Google Calendar exportiert, kannst du die private iCal-URL des Kalenders verwenden. Google beschreibt den Weg unter Sync your calendar with computer programs:
Google Calendar im Browser oeffnen.
Einstellungen oeffnen.
Links unter "Settings for my calendars" den Kalender auswaehlen.
"Integrate calendar" oeffnen.
"Secret address in iCal format" kopieren.
Diese URL als
SUPERSHIFT_ICSverwenden.
export SUPERSHIFT_ICS="https://calendar.google.com/calendar/ical/.../basic.ics"Wichtig: Diese URL ist ein geheimer Lesezugriff auf deinen Kalender. Lege sie nicht in Git ab und teile sie nicht oeffentlich.
Installation
Schnellinstallation aus GitHub
python3 -m pip install "git+https://github.com/Zyrial96/supershift-mcp.git"Danach sollte der Befehl verfuegbar sein:
supershift-mcpLokale Entwicklung
git clone https://github.com/Zyrial96/supershift-mcp.git
cd supershift-mcp
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -e ".[api,dev]"
python -m pytestMCP verwenden
Der MCP-Server laeuft ueber stdio. Das ist der Standardmodus fuer viele MCP-Clients: Der Client startet den Prozess und spricht direkt mit ihm.
flowchart TD
A[MCP Client startet Prozess] --> B[supershift-mcp]
B --> C{SUPERSHIFT_ICS gesetzt?}
C -->|Ja| D[Kalender laden]
C -->|Nein| E[Tool-Aufruf muss calendar Parameter liefern]
D --> F[Tools bereitstellen]
E --> FMinimale MCP-Konfiguration
Viele MCP-Clients verwenden ein JSON-Format mit mcpServers:
{
"mcpServers": {
"supershift": {
"command": "supershift-mcp",
"env": {
"SUPERSHIFT_ICS": "/Users/dein-name/Kalender/supershift.ics"
}
}
}
}Wenn supershift-mcp nicht im PATH liegt, verwende den absoluten Pfad:
{
"mcpServers": {
"supershift": {
"command": "/Users/dein-name/Projekte/supershift-mcp/.venv/bin/supershift-mcp",
"env": {
"SUPERSHIFT_ICS": "https://calendar.example/private/basic.ics"
}
}
}
}Sicherheitsvariante mit Umgebungsdatei
Lege deine URL zum Beispiel in einer lokalen Shell-Konfiguration oder einem Secret-Manager ab. Vermeide diese Datei im Git-Repo:
export SUPERSHIFT_ICS="https://calendar.example/private/basic.ics"
supershift-mcpBeispielprompts fuer den MCP
Sobald der MCP in deinem Client verbunden ist, kannst du zum Beispiel fragen:
Ziel | Beispielprompt |
Naechster Dienst | "Wann ist mein naechster Dienst?" |
Tagesuebersicht | "Welche Dienste habe ich am 24.06.2026?" |
Monatsstunden | "Fasse meine Dienststunden fuer Juni 2026 zusammen." |
Ruhezeit | "Pruefe meine Ruhezeiten im Juli 2026 und zeige Warnungen." |
Konflikte | "Finde ueberlappende Dienste im aktuellen Monat." |
Freie Tage | "Welche Tage sind zwischen dem 1. und 15. Juli frei?" |
Lohnschaetzung | "Schaetze meinen Lohn fuer Juni mit 22 EUR pro Stunde." |
Export | "Exportiere meine Dienste der naechsten Woche als Markdown-Tabelle." |
Dienste eintragen | "Trage diese Dienste in Supershift ein: 24.06.2026 06:00-14:00 Fruehdienst ..." |
Schreibplan pruefen | "Erzeuge erst einen Dry-Run fuer diese Dienste und zeige mir alle ADB-Kommandos." |
Reverse-Status | "Pruefe, welche Supershift-Schreibwege auf meinem Android-Geraet moeglich sind." |
Cloud-Preview | "Baue mir fuer diese Dienste einen Supershift Cloud CRUD Preview, aber sende nichts." |
MCP Tools
Uebersicht
Tool | Zweck |
| Kalender-Metadaten, erster und letzter Dienst |
| Dienste in einem Zeitraum listen |
| Dienste nach Titel, Ort, Notiz und Dauer filtern |
| Einzelnen Dienst anhand der UID finden |
| Aktuell laufenden Dienst finden |
| Alle Dienste eines Tages anzeigen |
| Naechsten Dienst finden |
| Dienste der naechsten X Tage anzeigen |
| Stunden und Anzahl nach Diensttitel summieren |
| Stunden nach Tag, Woche, Monat oder Wochentag gruppieren |
| Ueberlappende Dienste finden |
| Ruhezeiten zwischen Diensten berechnen |
| Freie Tage im Zeitraum finden |
| Dienste als JSON, CSV oder Markdown exportieren |
| Grobe Lohnschaetzung berechnen |
| Alle Diensttitel ausgeben |
| Alle Dienstorte ausgeben |
| Freitext in schreibbare Dienste umwandeln |
| Schreibdaten validieren |
| ADB-Geraete anzeigen |
| Supershift Installation auf Android pruefen |
| Aktuelle Supershift-UI als XML dumpen |
| Supershift APK statisch analysieren |
| Reverse-Engineering-Status und Schreibpfade anzeigen |
| Base-/Split-APKs per ADB installieren |
| Supershift Deep-Links per ADB testen |
|
|
| App-Daten per |
| Cloud-CRUD-Payload fuer Dienste vorbereiten |
| Direkten SQLite-Insert-Plan vorbereiten |
| Strukturierte Dienste direkt in |
| Freitext parsen und direkt in |
| Schreibplan ohne Ausfuehrung erzeugen |
| Strukturierte Dienste ueber Backend eintragen |
| Freitext parsen und ueber Backend eintragen |
Tool-Gruppen
mindmap
root((supershift-mcp))
Kalender
calendar_status
shift_titles
shift_locations
Dienste
list_shifts
filter_shifts
get_shift
current_shift
shifts_on_date
next_shift
upcoming_shifts
Analyse
summarize_shifts
summarize_by_period
detect_conflicts
rest_periods
free_days
Ausgabe
export_shifts
estimate_pay
Schreiben
parse_shifts_text
validate_shifts_for_write
android_device_status
supershift_app_status
dump_supershift_ui
install_supershift_apks
probe_supershift_deeplinks
preview_supershift_write
create_supershift_shifts
create_supershift_shifts_from_text
Reverse Engineering
inspect_supershift_apk
supershift_reverse_engineering_report
supershift_data_access_status
pull_supershift_data
preview_supershift_cloud_crud
preview_supershift_sqlite_write
create_supershift_sqlite_shifts
create_supershift_sqlite_shifts_from_textTool-Beispiele
Naechsten Dienst finden
{
"tool": "next_shift",
"arguments": {
"after": "2026-06-22T08:00:00+02:00",
"days": 30
}
}Dienste eines Monats summieren
{
"tool": "summarize_shifts",
"arguments": {
"start": "2026-06-01",
"end": "2026-07-01"
}
}Nach Nachtdiensten filtern
{
"tool": "filter_shifts",
"arguments": {
"start": "2026-06-01",
"end": "2026-07-01",
"title_contains": "Night"
}
}Ruhezeiten pruefen
{
"tool": "rest_periods",
"arguments": {
"start": "2026-06-01",
"end": "2026-07-01",
"minimum_hours": 11
}
}Lohn schaetzen
{
"tool": "estimate_pay",
"arguments": {
"start": "2026-06-01",
"end": "2026-07-01",
"hourly_rate": 22,
"title_rates": {
"Night shift": 30
},
"currency": "EUR"
}
}CSV exportieren
{
"tool": "export_shifts",
"arguments": {
"start": "2026-06-01",
"end": "2026-07-01",
"output_format": "csv"
}
}Dienste in Supershift eintragen
Es gibt aktuell keinen dokumentierten Supershift-Write-API-Endpunkt. Die App ist laut oeffentlichen Beschreibungen bewusst lokal nutzbar und benoetigt keinen Account und kein Internet. Der realistische Schreibweg ist deshalb Android UI-Automation ueber ADB: Der MCP kann Supershift starten, UI-Informationen auslesen, einen Klick-/Textplan erzeugen und diesen erst nach expliziter Freigabe ausfuehren.
flowchart TD
A[Du sagst dem KI-Client deine Dienste] --> B[parse_shifts_text]
B --> C[validate_shifts_for_write]
C --> D[dump_supershift_ui]
D --> E[UI-Profil anpassen]
E --> F[preview_supershift_write]
F --> G{Plan korrekt?}
G -->|Nein| E
G -->|Ja| H[SUPERSHIFT_WRITE_ENABLED=1]
H --> I[create_supershift_shifts_from_text dry_run=false]
I --> J[Supershift enthaelt neue Dienste]Warum ein UI-Profil?
Supershift hat keine stabile oeffentliche Schreib-API. Android-UI-Automation
braucht deshalb ein Profil, das beschreibt, welche Schaltflaechen und Felder auf
deinem Geraet in welcher Reihenfolge bedient werden. Das Beispielprofil liegt in
examples/supershift-ui-profile.example.json.
Platzhalter im Profil:
Platzhalter | Bedeutung |
| Dienstname |
| Datum im Format |
| Startzeit |
| Endzeit |
| Ort, falls angegeben |
| Notiz, falls angegeben |
Unterstuetzte Aktionen:
Aktion | Beispiel |
|
|
|
|
|
|
|
|
|
|
1. Android vorbereiten
Android-Entwickleroptionen aktivieren.
USB-Debugging aktivieren.
Smartphone per USB verbinden.
Den ADB-Fingerprint auf dem Smartphone erlauben.
Pruefen:
adb devices -lIm MCP:
{
"tool": "android_device_status",
"arguments": {}
}2. Supershift pruefen und UI dumpen
{
"tool": "supershift_app_status",
"arguments": {}
}Dann:
{
"tool": "dump_supershift_ui",
"arguments": {}
}Der UI-Dump zeigt sichtbare Texte, Ressourcen-IDs und Bounds. Daraus kannst du das Profil ableiten. Wenn Supershift keine Ressourcen-IDs liefert, sind Koordinaten der pragmatische Weg.
3. Dienste als Text angeben
Format:
24.06.2026 06:00-14:00 Fruehdienst @ Station A # Team alpha
25.06.2026 14:00-22:00 Spaetdienst
26.06.2026 22:00-06:00 NachtdienstParser testen:
{
"tool": "parse_shifts_text",
"arguments": {
"text": "24.06.2026 06:00-14:00 Fruehdienst @ Station A # Team alpha"
}
}Nachtdienste, die nach Mitternacht enden, werden automatisch auf den Folgetag gesetzt.
4. Schreibplan trocken testen
{
"tool": "create_supershift_shifts_from_text",
"arguments": {
"text": "24.06.2026 06:00-14:00 Fruehdienst @ Station A # Team alpha",
"backend": "adb_ui",
"profile_path": "examples/supershift-ui-profile.example.json",
"dry_run": true
}
}Der Dry-Run gibt die geplanten ADB-Befehle aus, ohne dein Smartphone zu bedienen.
5. Echte Ausfuehrung aktivieren
Erst wenn der Plan korrekt ist:
export SUPERSHIFT_WRITE_ENABLED=1Dann:
{
"tool": "create_supershift_shifts_from_text",
"arguments": {
"text": "24.06.2026 06:00-14:00 Fruehdienst @ Station A # Team alpha",
"backend": "adb_ui",
"profile_path": "examples/supershift-ui-profile.example.json",
"dry_run": false
}
}Fallback: Android Calendar Intent
Der Backend-Wert android_calendar_intent oeffnet Androids generische
Kalender-Eintragsmaske. Das ist kein direkter Supershift-Schreibweg, kann aber
als Notausgang dienen, wenn du Dienste zuerst in einen Kalender schreiben
willst:
{
"tool": "create_supershift_shifts_from_text",
"arguments": {
"text": "24.06.2026 06:00-14:00 Fruehdienst",
"backend": "android_calendar_intent",
"dry_run": true
}
}Der MCP kennzeichnet diesen Weg bewusst als Warnung, weil er nicht direkt in Supershift schreibt.
Reverse Engineering und weitere Schreibwege
Die Supershift-APK zeigt nach statischer Analyse vier relevante Spuren:
flowchart TD
A[Supershift APK] --> B[AndroidManifest.xml]
A --> C[Realm Modelle]
A --> D[Retrofit Cloud API]
A --> E[Deep-Link Activity]
B --> B1[Split APK Pflicht]
B --> B2[Launcher/Deeplink exportiert]
B --> B3[Editor Activities nicht exportiert]
C --> C1[Room SQLite]
C --> C2[Supershift.db]
C --> C3[event/template/calendar Tabellen]
D --> D1[POST /api/v3/crud]
D --> D2[POST /api/v2/sync]
E --> E1[app.supershift Scheme]
E --> E2[/open/ und /i/ Links]Die praktische Konsequenz:
flowchart LR
A[Ich will Dienste eintragen] --> B{Offizieller Insert Intent?}
B -->|Nein gefunden| C[ADB UI Automation]
C --> D[Dry-Run]
D --> E[SUPERSHIFT_WRITE_ENABLED=1]
E --> F[ADB bedient Supershift]
A --> G{Cloud Sync nutzbar?}
G -->|Auth vorhanden| H[Cloud CRUD Payload pruefen]
H --> I[Noch kein Blind-Write]
A --> J{Root/run-as moeglich?}
J -->|Ja| K[Supershift.db exportieren]
K --> L[SQLite Schema pruefen]
L --> M[Direkter Insert-Plan]APK inspizieren
Wenn du eine Supershift-APK oder dekompilierte Ressourcen hast:
{
"tool": "inspect_supershift_apk",
"arguments": {
"apk_path": "reverse/supershift/supershift-2026.18.apk",
"aapt_path": "/Users/dein-name/Library/Android/sdk/build-tools/37.0.0/aapt",
"manifest_path": "reverse/supershift/apktool/AndroidManifest.xml"
}
}Das Tool liefert unter anderem:
Feld | Bedeutung |
| Android-Paket, erwartet |
| App-Version |
| z.B. |
| Ob Base-APK ohne Splits installierbar ist |
| Von aussen startbare Activities |
| Gefundene URL-/Scheme-Routen |
Split-APK Installation vorbereiten
Neuere Supershift-Versionen koennen als App Bundle/Split-APK ausgeliefert
werden. Dann reicht eine einzelne Base-APK nicht aus. Der MCP plant oder
startet adb install-multiple:
{
"tool": "install_supershift_apks",
"arguments": {
"apk_paths": [
"base.apk",
"config.arm64_v8a.apk",
"config.xhdpi.apk"
],
"dry_run": true
}
}Echte Installation ist absichtlich opt-in:
export SUPERSHIFT_REVERSE_ENABLED=1Danach dry_run auf false setzen.
Deep-Links testen
Die APK enthaelt Deep-Link-Routen fuer:
app.supershifthttps://supershift.app/i/...https://supershift.app/open/...https://supr.sh/i/...https://supr.sh/open/...
Probe:
{
"tool": "probe_supershift_deeplinks",
"arguments": {
"urls": [
"https://supershift.app/open/test",
"https://supr.sh/i/test"
],
"dry_run": true
}
}Auch hier gilt: echte Starts erst mit SUPERSHIFT_REVERSE_ENABLED=1.
Lokale Datenzugriffe pruefen
Supershift Android 2026.18 nutzt lokal eine Room/SQLite-Datenbank:
/data/data/app.supershift/databases/Supershift.dbWichtige Tabellen:
Tabelle | Zweck |
| Dienstkalender, z.B. |
| Eingetragene Dienste/Ereignisse |
| Schichtvorlagen |
| Pausen |
| Benachrichtigungen/Alarme |
| Kalenderexport-Sync-Aufgaben |
Ob der MCP diese Daten auf deinem Geraet lesen oder schreiben kann, haengt von Android, Debuggable-Status, Backup-Policy, Root und App-Sandbox ab.
{
"tool": "supershift_data_access_status",
"arguments": {}
}Wenn run_as_available wahr ist, kann ein Datenexport vorbereitet werden:
{
"tool": "pull_supershift_data",
"arguments": {
"output_dir": "/Users/dein-name/Supershift-Export",
"dry_run": true
}
}Direkter SQLite-Insert
Auf einem gerooteten Emulator wurde der direkte Schreibpfad verifiziert:
event.date = YYYYMMDD
event.startTime = Sekunden seit Mitternacht
event.endTime = Sekunden seit Mitternacht
event.endDate = YYYYMMDD, bei Nachtdienst Folgetag
event.calendarId = Row-ID aus Tabelle calendar, meist 1 fuer "My Job"
calendar_sync_task.calendarEntryUuid = event.eventUuidDry-Run:
{
"tool": "create_supershift_sqlite_shifts_from_text",
"arguments": {
"text": "26.06.2026 22:00-06:00 Nachtdienst @ Station B # Nacht",
"calendar_row_id": 1,
"dry_run": true
}
}Echte Ausfuehrung nur nach Backup:
export SUPERSHIFT_REVERSE_ENABLED=1{
"tool": "create_supershift_sqlite_shifts_from_text",
"arguments": {
"text": "26.06.2026 22:00-06:00 Nachtdienst @ Station B # Nacht",
"calendar_row_id": 1,
"dry_run": false
}
}Der Writer fuehrt aus:
sequenceDiagram
participant MCP
participant ADB
participant App as Supershift
participant DB as Supershift.db
MCP->>ADB: am force-stop app.supershift
MCP->>ADB: sqlite3 Supershift.db INSERT INTO event
MCP->>ADB: INSERT INTO calendar_sync_task
ADB->>DB: Transaktion committen
MCP->>ADB: am start LauncherActivity
App->>DB: Dienste neu ladenCloud-CRUD-Payload vorbereiten
Die APK enthaelt Retrofit-Endpunkte fuer Supershift Cloud:
Zweck | Gefundener Pfad |
Login |
|
Account erstellen |
|
Sync Pull/Push |
|
CRUD |
|
Cloud-Daten pruefen |
|
Fuer Dienstobjekte wurde diese Struktur abgeleitet:
classDiagram
class EventJson {
string uuid
date updatedAt
bool deleted
int date
int type
double start
double end
string title
int endDate
bool allDay
string note
string recurrenceRule
string calendarId
}Preview erzeugen:
{
"tool": "preview_supershift_cloud_crud",
"arguments": {
"calendar_id": "DEINE-CALENDAR-ID",
"shifts": [
{
"title": "Fruehdienst",
"start": "2026-06-24T06:00:00+02:00",
"end": "2026-06-24T14:00:00+02:00",
"location": "Station A",
"notes": "Team alpha"
}
]
}
}Der MCP sendet diesen Payload nicht automatisch. Fuer echtes Cloud-Schreiben braucht man mindestens gueltige Supershift-Auth, User-ID, Device-ID, Calendar-ID, Sync-Schema-Version und Konfliktlogik. Ohne diese Werte waere ein Write nicht hartnaeckig, sondern riskant.
HTTP API verwenden
Die HTTP-API ist optional. Installiere das API-Extra:
python -m pip install -e ".[api]"Starte den Server:
supershift-apiStandardadresse:
http://127.0.0.1:8765HTTP-Endpunkte
Endpoint | Beispiel |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Freitext in Dienste parsen |
| Dienste validieren |
| ADB-Geraete anzeigen |
| Supershift App-Status pruefen |
| Supershift UI XML dumpen |
| APK/Manifest statisch analysieren |
| Reverse-Engineering-Report anzeigen |
| Base-/Split-APKs installieren, Dry-Run default |
| Deep-Link-Probes starten, Dry-Run default |
|
|
| App-Daten exportieren, Dry-Run default |
| Cloud-CRUD-Payload vorbereiten |
| Direkten SQLite-Insert-Plan vorbereiten |
| Strukturierte Dienste direkt in |
| Freitext direkt in |
| Strukturierte Dienste schreiben |
| Freitext parsen und schreiben |
Datums- und Zeitformat
Empfohlen sind ISO-8601 Werte:
2026-06-01
2026-06-01T08:00:00+02:00
2026-06-01T06:00:00ZEin Zeitraum ist immer start inklusiv und end exklusiv. Fuer einen ganzen
Monat nutzt du also:
start=2026-06-01
end=2026-07-01Typische Workflows
Monatsauswertung
flowchart TD
A[Monatsanfang waehlen] --> B[summarize_shifts]
B --> C[summarize_by_period period=week]
C --> D[estimate_pay]
D --> E[Bericht im KI-Client erstellen lassen]Dienstplan-Check
flowchart TD
A[list_shifts] --> B[detect_conflicts]
B --> C[rest_periods]
C --> D{Warnungen?}
D -->|Ja| E[Konflikte/Ruhezeit pruefen]
D -->|Nein| F[Plan plausibel]Datenschutz und Sicherheit
Die private iCal-URL ist ein Geheimnis.
Lege
SUPERSHIFT_ICSnicht in Git ab.ADB-UI-Schreiben ist standardmaessig Dry-Run.
Echtes ADB-UI-Schreiben braucht
SUPERSHIFT_WRITE_ENABLED=1.Reverse-Aktionen wie APK-Installation, Deep-Link-Start und Datenexport brauchen
SUPERSHIFT_REVERSE_ENABLED=1.Cloud-CRUD wird nur als Payload-Preview erzeugt und nicht automatisch gesendet.
Alte Realm-/Migrationsspuren werden nur analysiert; der live verifizierte direkte Pfad ist
Supershift.db/SQLite.Direktes SQLite-Schreiben ist nur fuer eigene Geraete/Emulatoren gedacht und braucht Root oder gleichwertigen
/data/data-Zugriff.Die HTTP-API bindet standardmaessig nur an
127.0.0.1.Wenn du die API im Netzwerk erreichbar machst, schuetze sie selbst mit Reverse Proxy, Authentifizierung oder Firewall.
Grenzen
Der stabilste Lesepfad bleibt der Kalenderexport. Fuer Schreiboperationen gibt es mehrere experimentelle Wege, aber nicht jeder Weg ist auf jedem Geraet verfuegbar:
flowchart TD
A[Schreiben gewuenscht] --> B{Eigenes Android per ADB?}
B -->|Ja| C[ADB UI Automation]
B -->|Nein| D[Kein direkter lokaler Write]
A --> E{Cloud Sync authentifiziert?}
E -->|Ja| F[Cloud Payload pruefen]
E -->|Nein| G[Kein Cloud Write]
A --> H{run-as/root/Backup moeglich?}
H -->|Ja| I[Realm exportieren und analysieren]
H -->|Nein| J[Sandbox respektieren]Nicht enthalten:
Umgehung von App-Sandbox, Kauf-, Auth- oder Cloud-Schutzmechanismen
Blindes Senden von Cloud-CRUD ohne verifizierte Supershift-Sitzung
Blindes Mutieren lokaler Datenbanken ohne Backup und Schema-Nachweis
Blindes Veraendern deiner Dienste ohne Dry-Run und explizite Schreibfreigabe
Enthalten sind dagegen kontrollierte Werkzeuge, die mit deinem eigenen Geraet, deiner installierten App und deinen Daten arbeiten: UI-Automation, APK-Analyse, Deep-Link-Probes, Datenzugriffspruefung und Cloud-Payload-Preview.
Entwicklung
python -m pytest
ruff check .CI laeuft in GitHub Actions bei Push und Pull Request.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Zyrial96/supershift-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server