Perfect Clock

Find meeting times across time zones and compare working hours.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
95%
Qualität der Benennung
90%
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

~1,175Tokens (Tool-Definitionen)
~4.9 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (0.92% 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": {
    "perfect-clock": {
      "url": "https://perfectclock.cc/mcp"
    }
  }
}

Remote-Endpunkte

https://perfectclock.cc/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (2)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
⚪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.

Eingabe-Schema

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

Eingabe-Schema

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

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet2 Tools