Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP Server for TimeZest: manage appointments, pending requests, and ticket schedules in Claude.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
TIMEZEST_API_KEY, TIMEZEST_DEFAULT_TZค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"timezest": {
"command": "npx",
"args": [
"-y",
"timezest-mcp"
],
"env": {
"TIMEZEST_API_KEY": "ใส่ค่าของคุณ",
"TIMEZEST_DEFAULT_TZ": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add timezest --env TIMEZEST_API_KEY='ใส่ค่าของคุณ' --env TIMEZEST_DEFAULT_TZ='ใส่ค่าของคุณ' -- npx -y timezest-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"timezest": {
"command": "npx",
"args": [
"-y",
"timezest-mcp"
],
"env": {
"TIMEZEST_API_KEY": "ใส่ค่าของคุณ",
"TIMEZEST_DEFAULT_TZ": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"timezest": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"timezest-mcp"
],
"env": {
"TIMEZEST_API_KEY": "ใส่ค่าของคุณ",
"TIMEZEST_DEFAULT_TZ": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
TIMEZEST_DEFAULT_TZ envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub sagarkalra-tech ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: TIMEZEST_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.1.0) เข้า registry 7 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, CloudGPU MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Rent a per-minute GPU from your MCP client, run a job, download results, shut it down.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Bring your TimeZest scheduling data directly into Claude through the Model Context Protocol (MCP). Perform real-time appointment lookups, engineer briefings, and ticket-linked schedule management — all with natural language.
Registry ID: io.github.sagarkalra-tech/timezest-mcp
If you manage a team that uses TimeZest with ConnectWise, you know the pain: toggling between tabs, manually checking who's booked, chasing unbooked scheduling requests, and cross-referencing ticket numbers.
This MCP server turns Claude into a scheduling assistant that can:
Add this to your Claude Desktop configuration file:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": { "timezest": { "command": "npx", "args": ["-y", "timezest-mcp@latest"], "env": { "TIMEZEST_API_KEY": "your-timezest-api-key-here" } } } }
Restart Claude Desktop. You're done.
claude mcp add-json timezest-mcp '{
"command": "npx", "args": ["-y", "timezest-mcp@latest"], "env": { "TIMEZEST_API_KEY": "your-timezest-api-key-here" } }'
Add to your .vscode/settings.json or User Settings:
{
"mcp": { "servers": { "timezest": { "command": "npx", "args": ["-y", "timezest-mcp@latest"], "env": { "TIMEZEST_API_KEY": "your-timezest-api-key-here" } } } } }
The server exposes 8 specialized tools that Claude can call:
| Tool | Description | Key Parameters |
|---|---|---|
get_todays_appointments | Morning briefing — today's confirmed appointments grouped by engineer, plus pending unbooked requests | timezone |
list_appointments | Flexible query across any date range with optional filters | start_date, end_date, engineer_name, status |
get_engineer_schedule | All upcoming appointments for a specific engineer, sorted by time | engineer_name, days_ahead, include_pending |
list_pending_requests | Unbooked invitations (sent/new) with age tracking in hours/days | days_back, engineer_name, older_than_hours |
find_appointment_by_ticket | Find appointments linked to a ConnectWise ticket number | ticket_number (e.g., 964400 or #964400) |
get_appointment_types | List all appointment type definitions configured in TimeZest | — |
get_appointment_stats | Aggregate summary: counts by status, by engineer, today's load, oldest pending | days_back, days_forward |
list_cancelled_appointments | Cancelled requests with scheduling URLs for rebooking | days_back, engineer_name |
Once connected, just talk to Claude naturally:
"Who are my top engineers today and what are they booked for?"
"Find any TimeZest requests for ticket #964400."
"Give me a morning briefing of today's confirmed vs. unbooked requests."
"Show me all pending scheduling requests older than 48 hours."
"What's the scheduling volume breakdown for the last two weeks?"
"Pull up Sarah's schedule for the next 5 days."
"List all cancelled appointments from last week — any we should rebook?"
| Environment Variable | Required | Default | Purpose |
|---|---|---|---|
TIMEZEST_API_KEY | Yes | — | Your TimeZest Bearer token (Settings → API) |
TIMEZEST_DEFAULT_TZ | No | America/Chicago | Default IANA timezone for localized display strings |
TIMEZEST_WINDOW_DAYS_BACK | No | 14 | How many days back to fetch scheduling requests |
TIMEZEST_WINDOW_DAYS_FORWARD | No | 30 | How many days forward to fetch scheduling requests |
┌─────────────────────────────────────────────────────────────────┐
│ MCP CLIENT (Claude) │ │ Desktop App • Claude Code CLI • IDE Plugin │ └──────────────────────────┬──────────────────────────────────────┘ │ Stdio (JSON-RPC) ┌──────────────────────────▼──────────────────────────────────────┐ │ TIMEZEST MCP SERVER │ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ Tool Handler │ │ MCP SDK │ (index.ts) │ │ │ (8 Tools) │ │ Registry │ │ │ └──────┬───────┘ └──────────────┘ │ │ │ │ │ ┌──────▼────────────────────────────────────────────────────┐ │ │ │ TIMEZEST API CLIENT │ │ │ │ Pagination • Retry Logic • Rate Limit Management │ │ │ └──────────────────────┬────────────────────────────────────┘ │ │ │ (client.ts) │ │ ┌──────────────────────▼────────────────────────────────────┐ │ │ │ DATA TRANSFORMATION LAYER │ │ │ │ Timezone Math • Engineer Mapping • Ticket Linking │ │ │ └────────────────────────────────────────────────────────────┘ │ │ │ (utils/) │ └─────────────────────────┼────────────────────────────────────────┘ │ HTTPS / REST ┌─────────────────────────▼──────────────────────────────────────┐ │ TIMEZEST API (v1) │ │ Scheduling Requests • Appointment Types • Resources │ └─────────────────────────────────────────────────────────────────┘
Retry-After header support for 429/5xx errorsscheduled_agents first, then falls back to resourcesThe server ships with a comprehensive Vitest test suite — 22 tests across 3 files:
| Test File | Tests | Coverage |
|---|---|---|
transform.test.ts | 8 | Engineer resolution, ticket extraction, timezone conversion, graceful handling of missing fields |
filter.test.ts | 6 | Case-insensitive partial matching, team name matching, date-range filtering |
client.test.ts | 8 | Appointment type caching, pagination, retry on 429/5xx, no-retry on 4xx |
All tests use mocked API responses — no live API calls, no secrets needed.
npm test # Single run
npm run test:watch # Re-runs on file save
npm publish)| Channel | Link |
|---|---|
| NPM | timezest-mcp |
| MCP Registry | io.github.sagarkalra-tech/timezest-mcp |
| GitHub | sagarkalra-tech/TimeZest-MCP |
git checkout -b feat/my-feature)npm test)See ARCHITECTURE.md for a deep dive into the data flow, component design, and transformation logic.
MIT © 2026 Sagar Kalra