ShiftSum Time Card

A time card calculator for hours worked.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
100%
Qualität der Benennung
100%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,376Tokens (Tool-Definitionen)
~24.3 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.86% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "time-card": {
      "url": "https://time-card.zovo.one/mcp"
    }
  }
}

Remote-Endpunkte

https://time-card.zovo.one/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (1)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢calculate_hours(entries, hourly_rate, currency, overtime_preset, weekly_overtime_after_hours, ...)

Use this when the user wants a time card calculator or hours worked calculator: totaling clock-in/clock-out times for a day, week, or biweekly period, with lunch breaks, multiple in and out punches per day, overnight shifts, 12-hour or 24-hour (military) time, punch rounding (nearest 5/6/15 minutes or the 7-minute rule), overtime and double time per workweek (US federal 40 h, California daily rules, or custom), and gross pay from an hourly rate. Pass times as the user wrote them; times without am/pm ("9 to 5") are resolved and the reading is returned in assumptions for the user to confirm. Returns per-day hours in H:MM and decimal, regular/overtime/double-time split, totals, exact gross pay, warnings (overlapping punches, missing clock-out, shifts over 16 h), and CSV and printable PDF timesheet links. Does not compute taxes or take-home pay, give legal advice about breaks or overtime, track time live, or set reminders. Do not use for simple unit conversions without clock times.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "entries": {
      "minItems": 1,
      "maxItems": 62,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "day": {
            "type": "string",
            "maxLength": 40,
            "description": "Day label: an ISO date \"2026-09-28\", a weekday \"Mon\", or both \"Mon 2026-09-28\". Dates give exact workweeks for biweekly periods."
          },
          "punches": {
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "start": {
                  "type": "string",
                  "maxLength": 20,
                  "description": "Clock-in time, 24-hour or 12-hour with am/pm, e.g. \"8:45\", \"17:30\", \"0730\", \"9:15 am\"."
                },
                "end": {
                  "description": "Clock-out time in the same formats, e.g. \"17:30\" or \"5:30 pm\". An end earlier than the start means the shift crossed midnight (22:00 to 06:30). Leave out if the person has not clocked out yet.",
                  "anyOf": [
                    {
                      "type": "string",
                      "maxLength": 20
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "start"
              ]
            },
            "description": "In/out pairs for this day, in order. Use several pairs for split shifts or a clocked-out lunch, e.g. [{\"start\":\"8:00\",\"end\":\"12:00\"},{\"start\":\"12:30\",\"end\":\"17:00\"}]. Empty list = day off."
          },
          "unpaid_break_minutes": {
            "description": "Unpaid break or lunch minutes to subtract from this day, e.g. 30. Do not also add it as a separate punch gap.",
            "type": "integer",
            "minimum": 0,
            "maximum": 720
          },
          "week": {
            "description": "Optional workweek number (1, 2) when days have no dates and the grouping is not obvious, e.g. 2 for the second week of a biweekly period.",
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          }
        },
        "required": [
          "day",
          "punches"
        ]
      },
      "description": "One item per worked day (up to 62, e.g. a biweekly or monthly time card). Example: [{\"day\":\"Mon\",\"punches\":[{\"start\":\"8:45\",\"end\":\"17:30\"}],\"unpaid_break_minutes\":30}]."
    },
    "hourly_rate": {
      "description": "Optional regular hourly pay rate in the chosen currency for gross pay, e.g. 18.50 (USD) or 1100 (JPY). Leave out for hours only.",
      "type": "number",
      "minimum": 0,
      "maximum": 1000000
    },
    "currency": {
      "description": "ISO currency code for pay amounts, default USD, e.g. EUR or GBP.",
      "type": "string",
      "maxLength": 3
    },
    "overtime_preset": {
      "description": "Overtime rule set. us_federal (default): over 40 h per workweek at 1.5x. california: over 8 h/day and 40 h/week at 1.5x, over 12 h/day at 2x, plus the 7th-consecutive-day rule. none: no overtime split.",
      "type": "string",
      "enum": [
        "us_federal",
        "california",
        "none"
      ]
    },
    "weekly_overtime_after_hours": {
      "description": "Override the weekly overtime threshold in hours, e.g. 40 or 37.5. 0 turns weekly overtime off.",
      "type": "number",
      "minimum": 0,
      "maximum": 168
    },
    "daily_overtime_after_hours": {
      "description": "Override the daily overtime threshold in hours, e.g. 8 (Alaska, Nevada) or 12 (Colorado). 0 turns daily overtime off.",
      "type": "number",
      "minimum": 0,
      "maximum": 24
    },
    "daily_double_time_after_hours": {
      "description": "Override the daily double-time threshold in hours, e.g. 12. 0 turns double time off.",
      "type": "number",
      "minimum": 0,
      "maximum": 24
    },
    "overtime_multiplier": {
      "description": "Overtime pay multiplier, default 1.5.",
      "type": "number",
      "minimum": 1,
      "maximum": 5
    },
    "double_time_multiplier": {
      "description": "Double-time pay multiplier, default 2.",
      "type": "number",
      "minimum": 1,
      "maximum": 5
    },
    "seventh_day_rule": {
      "description": "California 7th-consecutive-day rule: on the 7th straight workday of a workweek the first 8 h are overtime and the rest double time. Default on for california, off otherwise.",
      "type": "boolean"
    },
    "rounding": {
      "description": "Punch rounding applied to each clock-in and clock-out: none (default), nearest_5, nearest_6 (tenth of an hour), nearest_15, or seven_minute_rule (8:07 -> 8:00, 8:08 -> 8:15).",
      "type": "string",
      "enum": [
        "none",
        "nearest_5",
        "nearest_6",
        "nearest_15",
        "seven_minute_rule"
      ]
    },
    "week_start_day": {
      "description": "First day of the workweek for dated entries, e.g. \"sun\". Default: the weekday of the earliest date.",
      "type": "string",
      "enum": [
        "sun",
        "mon",
        "tue",
        "wed",
        "thu",
        "fri",
        "sat"
      ]
    },
    "pay_period": {
      "description": "Optional pay period label printed on the timesheet, e.g. \"Sep 28 - Oct 11, 2026\" or \"Week 40\".",
      "type": "string",
      "maxLength": 60
    }
  },
  "required": [
    "entries"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "pay_period": {
      "type": [
        "string",
        "null"
      ]
    },
    "days": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "display": {
            "type": "string"
          },
          "date": {
            "type": [
              "string",
              "null"
            ]
          },
          "week": {
            "type": "number"
          },
          "punches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "in": {
                  "type": "string"
                },
                "out": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "in_rounded": {
                  "type": "string"
                },
                "out_rounded": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "next_day": {
                  "type": "boolean"
                },
                "hhmm": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "in",
                "out",
                "in_rounded",
                "out_rounded",
                "next_day",
                "hhmm"
              ],
              "additionalProperties": false
            }
          },
          "break_minutes": {
            "type": "number"
          },
          "minutes": {
            "type": "number"
          },
          "hhmm": {
            "type": "string"
          },
          "decimal": {
            "type": "number"
          },
          "regular": {
            "type": "number"
          },
          "overtime": {
            "type": "number"
          },
          "double_time": {
            "type": "number"
          },
          "seventh_day": {
            "type": "boolean"
          },
          "flags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "label",
          "display",
          "date",
          "week",
          "punches",
          "break_minutes",
          "minutes",
          "hhmm",
          "decimal",
          "regular",
          "overtime",
          "double_time",
          "seventh_day",
          "flags"
        ],
        "additionalProperties": false
      }
    },
    "weeks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "week": {
            "type": "number"
          },
          "label": {
            "type": "string"
          },
          "minutes": {
            "type": "number"
          },
          "hhmm": {
            "type": "string"
          },
          "decimal": {
            "type": "number"
          },
          "regular": {
            "type": "number"
          },
          "overtime": {
            "type": "number"
          },
          "double_time": {
            "type": "number"
          }
        },
        "required": [
          "week",
          "label",
          "minutes",
          "hhmm",
          "decimal",
          "regular",
          "overtime",
          "double_time"
        ],
        "additionalProperties": false
      }
    },
    "totals": {
      "type": "object",
      "properties": {
        "minutes": {
          "type": "number"
        },
        "hhmm": {
          "type": "string"
        },
        "decimal": {
          "type": "number"
        },
        "regular": {
          "type": "number"
        },
        "overtime": {
          "type": "number"
        },
        "double_time": {
          "type": "number"
        },
        "regular_hhmm": {
          "type": "string"
        },
        "overtime_hhmm": {
          "type": "string"
        },
        "double_time_hhmm": {
          "type": "string"
        },
        "days_worked": {
          "type": "number"
        }
      },
      "required": [
        "minutes",
        "hhmm",
        "decimal",
        "regular",
        "overtime",
        "double_time",
        "regular_hhmm",
        "overtime_hhmm",
        "double_time_hhmm",
        "days_worked"
      ],
      "additionalProperties": false
    },
    "pay": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "hourly_rate": {
              "type": "number"
            },
            "currency": {
              "type": "string"
            },
            "regular_pay": {
              "type": "number"
            },
            "overtime_pay": {
              "type": "number"
            },
            "double_time_pay": {
              "type": "number"
            },
            "gross_pay": {
              "type": "number"
            },
            "formatted": {
              "type": "object",
              "properties": {
                "hourly_rate": {
                  "type": "string"
                },
                "regular_pay": {
                  "type": "string"
                },
                "overtime_pay": {
                  "type": "string"
                },
                "double_time_pay": {
                  "type": "string"
                },
                "gross_pay": {
                  "type": "string"
                }
              },
              "required": [
                "hourly_rate",
                "regular_pay",
                "overtime_pay",
                "double_time_pay",
                "gross_pay"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "hourly_rate",
            "currency",
            "regular_pay",
            "overtime_pay",
            "double_time_pay",
            "gross_pay",
            "formatted"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "settings": {
      "type": "object",
      "properties": {
        "overtime_preset": {
          "type": "string"
        },
        "rules": {
          "type": "string"
        },
        "weekly_overtime_after_hours": {
          "type": "number"
        },
        "daily_overtime_after_hours": {
          "type": "number"
        },
        "daily_double_time_after_hours": {
          "type": "number"
        },
        "overtime_multiplier": {
          "type": "number"
        },
        "double_time_multiplier": {
          "type": "number"
        },
        "seventh_day_rule": {
          "type": "boolean"
        },
        "rounding": {
          "type": "string"
        },
        "rounding_label": {
          "type": "string"
        },
        "time_format": {
          "type": "string"
        },
        "hourly_rate": {
          "type": [
            "number",
            "null"
          ]
        },
        "currency": {
          "type": "string"
        },
        "week_start_day": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "overtime_preset",
        "rules",
        "weekly_overtime_after_hours",
        "daily_overtime_after_hours",
        "daily_double_time_after_hours",
        "overtime_multiplier",
        "double_time_multiplier",
        "seventh_day_rule",
        "rounding",
        "rounding_label",
        "time_format",
        "hourly_rate",
        "currency",
        "week_start_day"
      ],
      "additionalProperties": false
    },
    "assumptions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Readings of ambiguous clock times (no am/pm) that the user should confirm; empty when none."
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "note": {
      "type": "string"
    },
    "downloads": {
      "type": "object",
      "properties": {
        "csv": {
          "type": "string"
        },
        "pdf": {
          "type": "string"
        }
      },
      "required": [
        "csv",
        "pdf"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "pay_period",
    "days",
    "weeks",
    "totals",
    "pay",
    "settings",
    "assumptions",
    "warnings",
    "note",
    "downloads"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet1 Tools