Moltline TimeOps

Business days, meeting overlap and recurrence expansion, deterministic. 3 of 5 tools free.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
100%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,349토큰 (도구 정의)
~2.2 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.84%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "timeops": {
      "url": "https://mcp.moltlinestudio.com/timeops"
    }
  }
}

원격 엔드포인트

https://mcp.moltlinestudio.com/timeopsstreamable-http

할 수 있는 일

도구 목록

도구 (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.

입력 스키마

{
  "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
}

출력 스키마

{
  "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.

입력 스키마

{
  "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
}

출력 스키마

{
  "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.

입력 스키마

{
  "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
}

출력 스키마

{
  "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.

입력 스키마

{
  "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
}

출력 스키마

{
  "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.

입력 스키마

{
  "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
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 5개
검증됨버전이 기록되지 않음도구 5개