license_status
License status
Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.
無需輸入參數。

io.github.theluckystrike由 GitHub 帳號 theluckystrike 發布v0.23.0更新於 Nov 3, 2026
在時區之間轉換時間,查詢共同工作時間和會議時段,檢查夏令時變化。
AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。
Convert times between zones, find shared working hours and meeting slots, check DST changes.
發布方自己的服務:Meeting.ai
McpStamp Time Zones 的託管 MCP 服務(mcp.zovo.one);無需登入;Streamable HTTP;11 個工具。
暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.theluckystrike%2Ftimezone-world-clock-meeting-slots-overlap-ics/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"mcpstamp-time-zones": {
"type": "http",
"url": "https://mcp.zovo.one/mcp/timezone"
}
}
}Work with clients in other countries without doing time zone arithmetic in your head. Ask "what time is it for Maria in Lisbon", "convert 3pm Warsaw to New York and Bangalore", or "find an hour next week that works for me, my client in New York and my designer in London" and get an answer you can act on: ranked meeting slots where everyone is inside their own working hours, the exact daily overlap, when the clocks change, how many business days a delivery date is, and a calendar file you can send. Saved contacts, working hours and nothing else live as plain JSON on your own machine.
Built by theluckystrike.
In the official MCP Registry (io.github.theluckystrike/timezone-world-clock-meeting-slots-overlap-ics).
Find a meeting time that works for everyone abroad, convert any time between cities, and write the invite, zero setup, all local.
npm publish for @theluckystrike/mcp-timezone is pending. Until then, the .mcpb one-click bundle or a
clone+build is the working path, both are verified below.
One-click (.mcpb): download timezone.mcpb from the latest release and double-click it in Claude Desktop:
https://github.com/theluckystrike/mcp-servers/releases/latest
(claude_desktop_config.json):
Claude Code:
(.cursor/mcp.json):
The npx form above starts working the moment the package is published. Until then, use the .mcpb bundle above,
or build from source with exactly these three commands:
Then point your client's command at node with one arg: the absolute path to servers/timezone/dist/index.js.
To run in Pro mode set MCP_LICENSE_KEY in the same config block, or call license_activate once with your key.
Also exposed: the resource tz://contacts (saved contacts and their current local time) and the prompt
schedule_with (proposes times with saved contacts, then offers to write the invite).
No tool names required.
Three hours of fairness is not a flaw in the ranking, it is the truth about Warsaw and New York: with 09:00-17:00 days on both sides the shared window is only 15:00-17:00 Warsaw, so somebody's meeting is always far from the middle of their day. The score says so instead of hiding it. Widen one person's hours and the score improves.
find_meeting_slots scores every candidate by the worst participant's distance from 13:00 local, in hours,
and sorts ascending. The worst, not the average, on purpose: a slot that is pleasant for two people and 07:00
for the third must never outrank one that is 10:00 for everybody. A fairness of 0 would mean the meeting sits
at midday for all of them; anything under about 2 is comfortable.
A slot is only offered when the whole meeting, start to end, is inside every participant's working window,
on their own local calendar day. Weekends in the first participant's zone are skipped. No slot ever starts
before earliest_date, if you pass a time with it, slots earlier that day are not proposed.
When nothing fits, the server says so, shows the windows, and then lists the closest times that are somebody's hours, ranked by the total minutes outside, with each person's local time and the working hours that would make each one fit. On the free tier a search longer than 5 days is shortened to 5 days and the answer says so; it is never refused outright.
City and country names resolve through a built-in table of 490 entries (300+ cities, every commonly used
country and US state shorthands). Every entry is verified against
Intl.supportedValuesOf("timeZone") at startup; an entry this Node build cannot resolve is dropped with a
line on stderr rather than silently answering with the wrong zone.
America/Denver and you get exactly that.UTC+2 style offsets resolve to the matching fixed zone (Etc/GMT-2, the Etc signs are inverted by the
IANA database, not by this server).EST is Etc/GMT+5 (UTC-05:00) all year, PST is
Etc/GMT+8, CET is Etc/GMT-1, JST is Etc/GMT-9. Mapping them to a DST-observing zone made EST
mean EDT (UTC-04:00) every summer, an hour wrong for half the year. Each answer carries a note naming the
place to pass instead ("New York", "Los Angeles", "Paris"). The region shorthands ET, CT, MT,
PT still name places and keep their clock changes. IST is read as India (UTC+05:30, Asia/Kolkata,
no daylight saving) and the note says so, because IST also names Irish and Israel time.unknown time zone or place: "Warsawa". Did you mean: warsaw (Europe/Warsaw)?DST is not stored here at all. Every offset comes from the ICU data inside your Node build via
Intl.DateTimeFormat, so the rules stay current as Node updates instead of going stale in a bundled table.
Pro is $19 one-time, or $39 for every server in the bundle: Get Pro. Activation is offline: keys are Ed25519 signatures verified against a public key compiled into the package.
Contacts and the monthly .ics counter live in one JSON file:
${XDG_DATA_HOME:-~/.local/share}/mcp-servers/timezone/data.json.
Every write happens under an advisory lock at .../timezone/.lock, held across the whole load-mutate-save
cycle, so two clients sharing one data dir cannot discard each other's contacts. The save writes a temporary
file and renames it into place, so a crash mid-write leaves either the old file or the new one.
If data.json is ever unreadable or not valid JSON, the server does not treat that as "no contacts yet".
It moves the file aside byte-for-byte as data.json.corrupt-<timestamp>, writes a data.json.corrupt marker,
and every later call fails with data file is corrupt; moved to ...; nothing was written until you restore a
good copy and delete the marker.
from_zone, not UTC. 2026-09-10 15:00 with
from_zone: "Warsaw" is 15:00 in Warsaw. A trailing Z or an explicit +05:30 is honoured exactly and
from_zone is then only used for display.2026-02-30 is refused with the reason (February 2026
has 28 days) everywhere a date is read: convert_time, overlap, business_days, ics_create and the
holiday list. Nothing is ever rolled forward into March.02:30 on 2026-03-29 in
Warsaw comes back as an error naming both valid neighbours (2026-03-29 01:30 and 2026-03-29 03:30).
Pass gap:"forward" to take the time after the jump or gap:"backward" for the one before it; the answer
then says which it used. Guessing silently is how a meeting moves an hour once a year.02:30 on 2026-10-25 in
Warsaw is 00:30Z, the CEST reading. Pass fold:"second" for 01:30Z, the CET one. Both answers name
the abbreviation and offset they used..ics attendees are calendar addresses. An attendee with an email becomes
ATTENDEE;CN="Name";RSVP=TRUE:mailto:addr, with CN written as a quoted RFC 5545 parameter value. A name
with no email is listed in DESCRIPTION instead of being written as an unroutable address. Any CR, LF or
control character in any field is refused, not escaped away: it is what a content-line injection looks
like. organizer_email writes the ORGANIZER line; without it no ORGANIZER is written and the answer
says so, because replies then have nowhere to go..ics files carry UTC times (DTSTART:20260910T130000Z) and no VTIMEZONE block. That is deliberate:
a hand-written VTIMEZONE with stale DST rules is the classic way an invite lands an hour off.business_days yourself) or anyone's lunch. business_days says so in
its own answer when no holiday list is passed, so a "22 business days" figure is never mistaken for a
public-holiday-adjusted one.days <= 366, duration_minutes <= 1440, and a
business_days range of at most 3700 days (longer ranges are refused, never silently truncated).out_path is written where you name it. ics_create resolves a relative path against the
process working directory and does not confine it to the data directory; an unwritable path returns
a clean EACCES and consumes none of the free monthly quota.work_start/work_end or read the dates.npx hangs or fails to find the package: npm publish is pending. Use the .mcpb bundle or the
clone-and-build path above.America/Argentina/Cordoba is available even when the city name is not in the table.node -v. Older builds ship older DST rules.--mcp-debug.license_status, and confirm MCP_LICENSE_KEY is set in the process the
client launches, not just your shell.All data stays local: contacts live in ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/timezone/data.json.
The server makes no network requests, has no telemetry and needs no account. Time zone data comes from the
ICU database already inside Node.
Yes, and it does not store any DST rules of its own. Every offset is read from the ICU data in your Node build, so Warsaw and New York being 5 hours apart (not 6) between 8 and 29 March 2026 falls out correctly.
Because a real overlap can be two hours wide. The fairness score reports the worst person's distance from their midday so you can see the cost and decide who absorbs it.
Yes. India (+05:30), Nepal (+05:45), Adelaide (+09:30) and Chatham are handled like any other zone; the slot grid is 30 minutes, so a half-hour zone produces :00 and :30 local starts.
No. It knows only the working hours you give it. It writes .ics files; it never reads or connects to a
calendar service.
No. There are no network calls anywhere, including license activation.
MIT
Your identity is stored once, at ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/profile/business.json,
and every server in the suite reads it: the invoice issuer, the docx letterhead, the recurring
issuer, expense-tracker's default VAT rate, time-tracker's and timezone's home zone, and the
resume and contract letterheads. Set it once with business_set (invoice or docx) - you never
repeat it anywhere else. An email address is only ever taken from that profile or from an explicit
argument; when none is stored, documents show [add: email] and the tool says so rather than
letting anyone improvise an address.
Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP - no install:
來源:servers/timezone/README.md,提交 6535b33
License status
Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.
無需輸入參數。
Activate license
Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.
key必填Current time in zones
The current time in one or more places, each with the zone it resolved to and the local date, time and offset, under one UTC instant. Accepts IANA zones, cities, countries and abbreviations.
zonesConvert a time between zones
Convert one time from from_zone into every zone in to_zones, marking any day change, plus the UTC instant. The time is wall-clock in from_zone unless it carries an offset or a trailing Z. '3pm tomorrow' works.
gapfoldtime必填to_zones必填from_zone必填Daily working-hours overlap
The window each day when every listed place is inside working hours. Computed on a real date, so a DST week that widens or narrows the overlap is reflected.
datezones必填work_endwork_startFind meeting slots
Rank the times when every participant is inside their own working hours. Returns each slot as a UTC instant with the local time for every participant and a fairness score, best first.
dayslimitrecurringparticipants必填earliest_dateduration_minutesDaylight-saving changes
The clock changes in a place for a year, with the exact UTC instant and the offset before and after. Use it to check whether a recurring call moves for one of you in March or October.
yearzone必填Count business days
Count business days between two dates in a place, inclusive, with the calendar total and the weekend and holiday counts. It has NO holiday calendar: without holidays, only weekends are excluded.
to必填from必填zone必填holidaysSave a contact's zone
Save one person's zone and working hours so later calls can name them. Returns the resolved zone and their local time now. Saving the same name REPLACES that contact and says so. Free: 5 contacts.
name必填zone必填work_endwork_startList saved contacts
List saved contacts with their zone, local time now, working hours and whether they are inside them; weekends count as outside. It also prints YOUR zone from the shared business profile.
無需輸入參數。
Write a calendar invite
Call this tool to write a .ics for one meeting and return the path plus the start in UTC and in your zone. Times are stored in UTC so it lands correctly in any client. Free: 3 files a month.
gapfoldzone必填start必填title必填locationout_pathattendeesdescriptionorganizer_nameorganizer_emailduration_minutes必填已滿足適用檢查項的 100%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
ai.meeting官方發布者
遠端 MCP 端點,讓 AI 助理錄製會議並處理筆記、逐字稿、聯絡人與 Drive 內容。
由 GitHub 帳號 phoneburner 發布
MeetingBurner MCP 讓助理以公開身分的代理加入進行中的 MeetingBurner 會議,即時讀取會議內容並參與其中。

由 GitHub 帳號 catalyst-labs-dev 發布
遠端 Apify MCP 伺服器,用來取得市議會與郡會議的文字紀錄,包含議程時間戳與官方表決結果。

由 GitHub 帳號 theluckystrike 發布
Zovo Meeting Planner 的託管 MCP 服務;無需登入;Streamable HTTP;2 個工具。

由 GitHub 帳號 referna-ai 發布
一個遠端 MCP 伺服器,讓 AI 助理讀取成員在 Referna 的個人化會議回顧,包含 mixer 的一對一清單。
{ "mcpServers": { "timezone": { "command": "npx", "args": ["-y", "@theluckystrike/mcp-timezone"] } }}claude mcp add timezone -- npx -y @theluckystrike/mcp-timezone{ "mcpServers": { "timezone": { "command": "npx", "args": ["-y", "@theluckystrike/mcp-timezone"] } }}git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-serversnpm installnpm run build -w packages/mcp-license -w servers/timezoneYou: Find an hour next week for me in Warsaw, my client in New York and my designer in London.
find_meeting_slots { participants: [{name:"Me",zone:"Warsaw"},{name:"Client",zone:"New York"}, {name:"Designer",zone:"London"}], duration_minutes: 60, days: 5 }
Assistant: 15 slots fit all 3 participants. Best first: 1. 2026-09-07T13:30:00.000Z fairness 3.00h Me 15:30-16:30 | Client 09:30-10:30 | Designer 14:30-15:30You: Write the invite for that one, 45 minutes, and send it to [email protected].
ics_create { title:"Kickoff with Acme", start:"2026-09-10 15:00", zone:"Warsaw", duration_minutes:45, attendees:[{name:"Maria Nowak", email:"[email protected]"}], organizer_email:"[email protected]" }
Assistant: Wrote /Users/you/.local/share/mcp-servers/timezone/meeting.icsKickoff with Acme: 2026-09-10 15:00 Thu (CEST, UTC+02:00) for 45 minDTSTART 2026-09-10T13:00:00.000Z (UTC)