# Time of Meeting

> Fair meeting times across time zones: find the overlap, convert times, make calendar links.

- name: com.timeofmeeting/time-of-meeting
- version: 0.2.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 81/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.timeofmeeting%2Ftime-of-meeting
- tools: https://api.protogrid.dev/v1/servers/com.timeofmeeting%2Ftime-of-meeting/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "time-of-meeting": {
      "type": "http",
      "url": "https://timeofmeeting.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-3d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 81/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 7 of 7 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: convert_time (idempotentHint); get_dst_changes (idempotentHint); get_holidays (idempotentHint); …
- pass `tools.token_cost`: about 2,360 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 3 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 7, about 2,360 tokens to load them all
- tool set hash: 3c025341051117de2d1d0c0309976283
- tools last changed: 2026-10-19T00:41:44.367Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.timeofmeeting/time-of-meeting.svg)](https://protogrid.dev/servers/com.timeofmeeting/time-of-meeting)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `get_holidays` added
  - List public holidays for a country, an optional ISO 3166-2 region, or a city. Pass one year, a list of years so 2026, 2027, and 2028 can come back together, or a date range. Each holiday has the date, the weekday, whether it falls on Saturday or Sunday, whether it creates a long weekend of three or more days with Saturday and Sunday, the local name, the English name, whether it is regional, the region codes, the file it came from, and the calendar page URL. The same holiday list marks the planner timeline.
- 2026-10-19 `create_meeting_link` changed (description, inputSchema, outputSchema)
  - before: Build the invitation for one chosen slot. duration_minutes is the meeting length, chosen now, with the same choices as the planner Duration control. title is an optional meeting name, e.g. Weekly sync. The first item is always the planner link: open this meeting on timeofmeeting.com (see and adjust it in the planner). formats then adds text to paste into a chat or email, a calendar file for Outlook, Apple Calendar and most calendar apps, an add-to-Google-Calendar link, or a QR code image someone can scan with a phone, in that order. The calendar file is https://timeofmeeting.com/c?q=. Use this after find_best_meeting_time, or when the time is already known.
  - after: Build the invitation for one chosen slot. duration_minutes is the meeting length, chosen now, with the same choices as the planner Duration control. title is an optional meeting name, e.g. Weekly sync. Each city says whether that date is a public holiday. The first item is always the planner link: open this meeting on timeofmeeting.com (see and adjust it in the planner). formats then adds text to paste into a chat or email, a calendar file for Outlook, Apple Calendar and most calendar apps, an add-to-Google-Calendar link, or a QR code image someone can scan with a phone, in that order. The calendar file is https://timeofmeeting.com/c?q=. Use this after find_best_meeting_time, or when the time is already known.
- 2026-10-19 `get_dst_changes` changed (inputSchema, outputSchema)
- 2026-10-19 `search_cities` changed (outputSchema)
- 2026-10-19 `current_time_in_cities` changed (description, inputSchema, outputSchema)
  - before: Show the current local time, offset, and work-hour band for each city. The result includes a https://timeofmeeting.com link.
  - after: Show the current local time, offset, work-hour band, and public holiday, if that date is one, for each city. The result includes a https://timeofmeeting.com link.
- 2026-10-19 `convert_time` changed (description, inputSchema, outputSchema)
  - before: Convert one city's local time into one or more other cities. The result includes a https://timeofmeeting.com link for a 60-minute meeting. Choose a different length with create_meeting_link.
  - after: Convert one city's local time into one or more other cities. Each city says whether that local date is a public holiday. The result includes a https://timeofmeeting.com link for a 60-minute meeting. Choose a different length with create_meeting_link.
- 2026-10-19 `find_best_meeting_time` changed (description, inputSchema, outputSchema)
  - before: Propose up to three fair meeting times while the slot is still being chosen. Ranking does not take a meeting length. Each slot has a score and the reasons. The result has one https://timeofmeeting.com link that opens the planner with those cities, and next_step, which says the user can choose a duration when creating the invitation. It does not include calendar files or a QR code. After a slot is chosen, call create_meeting_link.
  - after: Propose up to three fair meeting times while the slot is still being chosen. Ranking does not take a meeting length. A city's public holiday down-ranks that slot and is named in the reasons. Each slot city says whether that date is a holiday. Each slot has a score and the reasons. The result has one https://timeofmeeting.com link that opens the planner with those cities, and next_step, which says the user can choose a duration when creating the invitation. It does not include calendar files or a QR code. After a slot is chosen, call create_meeting_link.
- 2026-10-17 `dst_changes` removed
  - List clock changes for one city. Defaults to the next year. Each change includes a https://timeofmeeting.com link. The range can be at most 366 days.
- 2026-10-17 `create_meeting_link` changed (description, outputSchema)
  - before: Build the invitation for one chosen slot. duration_minutes is the meeting length, chosen now, with the same choices as the planner Duration control. title is an optional meeting name, e.g. Weekly sync. The first item is always the planner link: open this meeting on timeofmeeting.com (see and adjust it in the planner). formats then adds text to paste into a chat or email, a calendar file for Outlook, Apple Calendar and most calendar apps, an add-to-Google-Calendar link, or a QR code image someone can scan with a phone, in that order. Use this after find_best_meeting_time, or when the time is already known.
  - after: Build the invitation for one chosen slot. duration_minutes is the meeting length, chosen now, with the same choices as the planner Duration control. title is an optional meeting name, e.g. Weekly sync. The first item is always the planner link: open this meeting on timeofmeeting.com (see and adjust it in the planner). formats then adds text to paste into a chat or email, a calendar file for Outlook, Apple Calendar and most calendar apps, an add-to-Google-Calendar link, or a QR code image someone can scan with a phone, in that order. The calendar file is https://timeofmeeting.com/c?q=. Use this after find_best_meeting_time, or when the time is already known.
- 2026-10-17 `get_dst_changes` added
  - List clock changes for one city. Defaults to the next year. Each change includes a https://timeofmeeting.com link. The range can be at most 366 days. dst_changes still calls this tool.

Full history: https://api.protogrid.dev/v1/servers/com.timeofmeeting%2Ftime-of-meeting/changes

## Remotes

- https://timeofmeeting.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (7)

- `convert_time`: Convert one city's local time into one or more other cities. Each city says whether that local date is a public holiday. The result includes a https://timeofmeeting.com link for a 60-minute meeting. Choose a different length with create_meeting_link.
- `create_meeting_link`: Build the invitation for one chosen slot. duration_minutes is the meeting length, chosen now, with the same choices as the planner Duration control. title is an optional meeting name, e.g. Weekly sync. Each city says whether that date is a public holiday. The first item is always the planner link: open this meeting on timeofmeeting.com (see and adjust it in the planner). formats then adds text to paste into a chat or email, a calendar file for Outlook, Apple Calendar and most calendar apps, an add-to-Google-Calendar link, or a QR code image someone can scan with a phone, in that order. The calendar file is https://timeofmeeting.com/c?q=. Use this after find_best_meeting_time, or when the time is already known.
- `current_time_in_cities`: Show the current local time, offset, work-hour band, and public holiday, if that date is one, for each city. The result includes a https://timeofmeeting.com link.
- `find_best_meeting_time`: Propose up to three fair meeting times while the slot is still being chosen. Ranking does not take a meeting length. A city's public holiday down-ranks that slot and is named in the reasons. Each slot city says whether that date is a holiday. Each slot has a score and the reasons. The result has one https://timeofmeeting.com link that opens the planner with those cities, and next_step, which says the user can choose a duration when creating the invitation. It does not include calendar files or a QR code. After a slot is chosen, call create_meeting_link.
- `get_dst_changes`: List clock changes for one city. Defaults to the next year. Each change includes a https://timeofmeeting.com link. The range can be at most 366 days. dst_changes still calls this tool.
- `get_holidays`: List public holidays for a country, an optional ISO 3166-2 region, or a city. Pass one year, a list of years so 2026, 2027, and 2028 can come back together, or a date range. Each holiday has the date, the weekday, whether it falls on Saturday or Sunday, whether it creates a long weekend of three or more days with Saturday and Sunday, the local name, the English name, whether it is regional, the region codes, the file it came from, and the calendar page URL. The same holiday list marks the planner timeline.
- `search_cities`: Find cities by name. Each city includes its id, time zone, country, and a https://timeofmeeting.com link.
