Perfect Clock
Find meeting times across time zones and compare working hours.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"perfect-clock": {
"url": "https://perfectclock.cc/mcp"
}
}
}원격 엔드포인트
https://perfectclock.cc/mcpstreamable-http할 수 있는 일
도구 목록
도구 (2)
⚪plan_meeting_schedule(title, tz, time, durationMinutes, rule, ...)
Plans a one-off or recurring meeting with people in other time zones when its time is known (e.g. "every other Tuesday at 10:00 Berlin time with Anna in Tbilisi"). Expands it into concrete dates and shows each one in every participant's local time, with working-hours checks, public holidays and daylight-saving shifts. Saves the schedule for 30 days and returns a private perfectclock.cc/s/... link that opens it in Perfect Clock.
입력 스키마
{
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 120,
"description": "Meeting title."
},
"tz": {
"type": "string",
"description": "Time zone the meeting time is fixed in (usually the organizer's)."
},
"time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Local start time in `tz`."
},
"durationMinutes": {
"default": 60,
"type": "integer",
"minimum": 5,
"maximum": 720
},
"rule": {
"type": "object",
"properties": {
"freq": {
"type": "string",
"enum": [
"once",
"daily",
"weekly",
"monthly"
]
},
"interval": {
"description": "Every N days/weeks/months; default 1.",
"type": "integer",
"minimum": 1,
"maximum": 12
},
"byDay": {
"description": "Weekdays for weekly rules; for monthly with setPos, the weekday.",
"type": "array",
"items": {
"type": "string",
"enum": [
"MO",
"TU",
"WE",
"TH",
"FR",
"SA",
"SU"
]
}
},
"setPos": {
"description": "Monthly \"Nth weekday\": 1-4, or -1 for the last.",
"type": "integer",
"minimum": -1,
"maximum": 4
},
"start": {
"description": "First possible date in `tz`; default today.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"until": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"freq"
],
"description": "Recurrence of the meeting."
},
"participants": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 60,
"description": "How the participant or place is called in the conversation, e.g. \"Anna\" or \"Tokyo office\"."
},
"tz": {
"type": "string",
"description": "IANA time zone of this participant, e.g. Asia/Tbilisi."
},
"workHours": {
"description": "Local working hours [start, end]; default [\"09:00\",\"17:00\"].",
"minItems": 2,
"maxItems": 2,
"type": "array",
"items": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
}
}
},
"required": [
"label",
"tz"
]
},
"description": "People or places the meeting must suit, each with their own time zone."
},
"maxOccurrences": {
"default": 8,
"description": "How many upcoming meetings to list.",
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"title",
"tz",
"time",
"rule",
"participants"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢find_meeting_windows(title, tz, from, days, durationMinutes, ...)
Finds when people in other time zones can meet, when the time is not decided yet: the windows on each day when all participants are within their working hours, accounting for weekends, public holidays and daylight-saving changes, and one suggested start time that fits the most days. Saves that suggested time on those days for 30 days and returns a private perfectclock.cc/s/... link that opens it in Perfect Clock.
입력 스키마
{
"type": "object",
"properties": {
"title": {
"description": "Meeting title, if the user gave one.",
"type": "string",
"maxLength": 120
},
"tz": {
"type": "string",
"description": "Time zone whose calendar days are scanned (usually the organizer's)."
},
"from": {
"description": "First day in `tz`; default today.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"days": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 14
},
"durationMinutes": {
"default": 60,
"type": "integer",
"minimum": 15,
"maximum": 480
},
"participants": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 60,
"description": "How the participant or place is called in the conversation, e.g. \"Anna\" or \"Tokyo office\"."
},
"tz": {
"type": "string",
"description": "IANA time zone of this participant, e.g. Asia/Tbilisi."
},
"workHours": {
"description": "Local working hours [start, end]; default [\"09:00\",\"17:00\"].",
"minItems": 2,
"maxItems": 2,
"type": "array",
"items": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
}
}
},
"required": [
"label",
"tz"
]
},
"description": "People or places the meeting must suit, each with their own time zone."
}
},
"required": [
"tz",
"participants"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거