supershift-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SUPERSHIFT_ICS | Yes | Path to a local .ics file or a private calendar URL |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| calendar_statusC | Return basic information about the configured Supershift export calendar. |
| list_shiftsA | List shifts overlapping an ISO date/datetime range. |
| filter_shiftsC | List shifts matching text and duration filters. |
| get_shiftC | Find one shift by calendar UID. |
| current_shiftA | Return the active shift at an ISO date/datetime, or now if omitted. |
| shifts_on_dateB | List all shifts touching one calendar date. |
| next_shiftB | Return the next shift after an ISO date/datetime, searching up to days ahead. |
| summarize_shiftsC | Summarize shift count and hours over an ISO date/datetime range. |
| summarize_by_periodC | Summarize hours by day, week, month, or weekday. |
| detect_conflictsC | Find overlapping shifts in a range. |
| rest_periodsC | Calculate rest hours between consecutive shifts and flag short rests. |
| free_daysC | List dates without any shift between start inclusive and end exclusive. |
| export_shiftsC | Export shifts as json, csv, or markdown. |
| estimate_payC | Estimate pay using a default hourly rate and optional per-title rates. |
| shift_titlesC | List distinct shift titles found in the calendar. |
| shift_locationsC | List distinct shift locations found in the calendar. |
| upcoming_shiftsC | List shifts from now through the next number of days. |
| parse_shifts_textC | Parse text lines like '24.06.2026 06:00-14:00 Fruehdienst @ Ort # Notiz'. |
| validate_shifts_for_writeB | Validate structured shifts before attempting a write backend. |
| android_device_statusB | Report connected Android devices visible through ADB. |
| supershift_app_statusA | Report whether app.supershift is installed on the connected Android device. |
| dump_supershift_uiA | Launch Supershift and dump the current Android UI XML for profile creation. |
| inspect_supershift_apkC | Inspect a Supershift APK for package, split, permission, and manifest evidence. |
| supershift_reverse_engineering_reportC | Return the current reverse-engineering map for write-capable Supershift paths. |
| install_supershift_apksB | Install Supershift base/split APKs through adb install-multiple. Defaults to dry-run. |
| probe_supershift_deeplinksC | Launch candidate Supershift deeplinks through ADB. Defaults to dry-run. |
| supershift_data_access_statusA | Check whether run-as or root can access Supershift app data on the connected device. |
| pull_supershift_dataA | Pull Supershift app data via run-as when the device permits it. Defaults to dry-run. |
| preview_supershift_cloud_crudC | Build an experimental Supershift Cloud v3/crud payload preview without sending it. |
| preview_supershift_sqlite_writeC | Build an experimental direct SQLite insert plan for rooted/emulated devices. |
| create_supershift_sqlite_shiftsB | Create shifts directly in Supershift.db on rooted/emulated devices. Defaults to dry-run. |
| create_supershift_sqlite_shifts_from_textC | Parse text and write shifts directly to Supershift.db on rooted/emulated devices. |
| preview_supershift_writeA | Build a dry-run write plan for Supershift without touching the device. |
| create_supershift_shiftsC | Create shifts through a configured backend. Defaults to dry-run. |
| create_supershift_shifts_from_textC | Parse free text and create shifts through a configured backend. Defaults to dry-run. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 35 tools
Many tools have overlapping purposes (e.g., multiple create and preview variants for different backends, multiple listing and status tools). An agent would struggle to distinguish between create_supershift_shifts, create_supershift_sqlite_shifts, and their from_text counterparts without careful reading.
Naming is mostly snake_case but mixes verb_noun (list_shifts, create_shifts) with noun_phrases (shifts_on_date, shift_locations, free_days). Some tools have inconsistent patterns (e.g., summarize_by_period vs summarize_shifts).
35 tools is excessive for a shift management server. Many tools are redundant (e.g., three create shifts variants, three preview tools) and others are niche (reverse engineering report, inspect APK). A more focused set of 10-15 tools would be sufficient.
The tool set lacks update and delete operations for shifts, which are essential for full lifecycle management. While it covers creation, reading, and various status checks, the absence of update/delete creates gaps that could cause agent failures.