Moltline TimeOps
Business days, meeting overlap and recurrence expansion, deterministic. 3 of 5 tools free.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
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": {
"timeops": {
"url": "https://mcp.moltlinestudio.com/timeops"
}
}
}Remote-Endpunkte
https://mcp.moltlinestudio.com/timeopsstreamable-httpWas es kann
Tool-Inventar
Tools (5)
🟢business_days(start_date, add_days, end_date, holidays)
Do business-day math that skips weekends and your holiday list. FREE. Either add N business days to start_date (set add_days), or count the business days between start_date and end_date (set end_date). Typical input {"start_date": "2026-03-02", "add_days": 10} returns {"result_date": "2026-03-16", "result_weekday": "Monday", ...}; with end_date set it returns {"business_days_between": N, "from": ..., "to": ...}. Use when the span must exclude weekends and named holidays. Not for plain calendar-day differences, which are a direct subtraction, and not for scheduling backward from a fixed deadline (deadline_planner). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "dates must be YYYY-MM-DD"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "Anchor date in ISO format YYYY-MM-DD, e.g. \"2026-03-02\"."
},
"add_days": {
"default": 0,
"maximum": 5000,
"minimum": -5000,
"type": "integer",
"description": "Business days to add; negative subtracts. Range -5000 to\n5000. Ignored when end_date is provided."
},
"end_date": {
"default": "",
"type": "string",
"description": "Optional end date, ISO YYYY-MM-DD. When set, the tool counts\nbusiness days between start_date and end_date instead of adding."
},
"holidays": {
"default": [],
"items": {
"type": "string"
},
"type": "array",
"description": "Optional list of ISO YYYY-MM-DD dates to treat as\nnon-working days, e.g. [\"2026-12-25\"]."
}
},
"required": [
"start_date"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢meeting_overlap(offsets_utc, work_start, work_end)
Find the shared meeting window across time zones inside working hours. FREE. Give one UTC offset per participant and an optional working-hours window. Typical input {"offsets_utc": [-8, 1, 5.5]} returns {"overlap_utc": ["HH:MM", "HH:MM"], "overlap_minutes": N, "local_windows": [...]}; when no shared window exists it returns {"overlap": null, "verdict": "..."}. Use when people in different zones need one shared slot. Not for converting a single known time between zones, and not for expanding a recurring series (recurrence_expand). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "times must be HH:MM"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"offsets_utc": {
"items": {
"maximum": 14,
"minimum": -14,
"type": "number"
},
"type": "array",
"description": "One UTC offset per participant, each between -14 and\n+14; fractional offsets allowed, e.g. [-8, 1, 5.5]."
},
"work_start": {
"default": "09:00",
"type": "string",
"description": "Working day start, 24h HH:MM local in every zone.\nDefault \"09:00\"."
},
"work_end": {
"default": "17:00",
"type": "string",
"description": "Working day end, 24h HH:MM; must be later than work_start.\nDefault \"17:00\"."
}
},
"required": [
"offsets_utc"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢recurrence_expand(start_date, count, every_days, weekly_on)
Expand a recurrence rule into a concrete list of ISO dates. FREE. Set every_days for a fixed interval, or weekly_on for specific weekdays. Typical input {"start_date": "2026-01-05", "every_days": 14, "count": 3} returns {"dates": ["2026-01-05", "2026-01-19", "2026-02-02"]}. Use when a recurrence rule has to become concrete dates. Not for counting working days in a span (business_days) and not for finding a slot across zones (meeting_overlap). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "start_date must be YYYY-MM-DD"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "First date of the series, ISO YYYY-MM-DD."
},
"count": {
"default": 10,
"type": "integer",
"description": "How many dates to generate; values outside 1-60 are clamped\ninto that range. Default 10."
},
"every_days": {
"default": 0,
"type": "integer",
"description": "Interval in days between occurrences; use this OR\nweekly_on, not both."
},
"weekly_on": {
"default": [],
"items": {
"type": "string"
},
"type": "array",
"description": "Weekday names to recur on, e.g. [\"mon\", \"thu\"]; full names\nlike \"monday\" also work."
}
},
"required": [
"start_date"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢deadline_planner(due_date, tasks, holidays, buffer_days)
Plan a task schedule backward from a hard deadline in business days. PREMIUM (license). Given ordered tasks with business-day durations, returns each task's start/end dates, the latest safe start, and slack from today. Typical input {"due_date": "2026-06-01", "tasks": [{"name": "Draft", "days": 3}, {"name": "Review", "days": 2}]} returns {"schedule": [...], "latest_safe_start": "YYYY-MM-DD", "slack_business_days_from_today": N, "verdict": "..."}. Use when the end date is fixed and steps must be placed backward from it. Not for forward counting from a start date (business_days) and not for response-time targets (sla_due). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "due_date must be YYYY-MM-DD"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"due_date": {
"type": "string",
"description": "The deadline, ISO YYYY-MM-DD."
},
"tasks": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array",
"description": "Ordered list of task objects, each {\"name\": str, \"days\": int}\nwhere days is the business-day duration (1-365); the first 30\ntasks are scheduled."
},
"holidays": {
"default": [],
"items": {
"type": "string"
},
"type": "array",
"description": "Optional list of ISO YYYY-MM-DD dates treated as\nnon-working days."
},
"buffer_days": {
"default": 1,
"type": "integer",
"description": "Business days of safety margin kept free before\ndue_date, clamped to 0-365. Default 1."
}
},
"required": [
"due_date",
"tasks"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢sla_due(opened_at, sla_hours, business_hours_only, day_start, day_end, ...)
Compute when a ticket's SLA falls due, wall-clock or business-hours. PREMIUM (license). Typical input {"opened_at": "2026-03-02T15:30", "sla_hours": 8, "business_hours_only": true} returns {"due": "2026-03-03T15:30", "mode": "business hours 09:00-17:00"}; with business_hours_only false the mode is "wall-clock". Use when a response or resolution clock has started and one due moment is needed. Not for multi-step project schedules (deadline_planner). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "opened_at must be ISO YYYY-MM-DDTHH:MM"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"opened_at": {
"type": "string",
"description": "When the SLA clock started, ISO datetime YYYY-MM-DDTHH:MM."
},
"sla_hours": {
"exclusiveMinimum": 0,
"maximum": 24000,
"type": "number",
"description": "SLA length in hours; greater than 0, at most 24000;\nfractions allowed, e.g. 7.5."
},
"business_hours_only": {
"default": false,
"type": "boolean",
"description": "If true, only time inside day_start-day_end on\nbusiness days counts toward the SLA."
},
"day_start": {
"default": "09:00",
"type": "string",
"description": "Business day start, 24h HH:MM. Default \"09:00\"."
},
"day_end": {
"default": "17:00",
"type": "string",
"description": "Business day end, 24h HH:MM; must be later than day_start.\nDefault \"17:00\"."
},
"holidays": {
"default": [],
"items": {
"type": "string"
},
"type": "array",
"description": "Optional list of ISO YYYY-MM-DD dates that never count as\nworking days."
}
},
"required": [
"opened_at",
"sla_hours"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}Community
Nachweis