Server data from the Official MCP Registry
MCP Server for TimeZest: manage appointments, pending requests, and ticket schedules in Claude.
About
MCP Server for TimeZest: manage appointments, pending requests, and ticket schedules in Claude.
Security Report
Valid MCP server (2 strong, 4 medium validity signals). 5 known CVEs in dependencies (0 critical, 3 high severity) Package registry verified. Imported from the Official MCP Registry.
10 files analyzed ยท 6 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: TIMEZEST_API_KEY
Environment variable: TIMEZEST_DEFAULT_TZ
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-sagarkalra-tech-timezest-mcp": {
"env": {
"TIMEZEST_API_KEY": "your-timezest-api-key-here",
"TIMEZEST_DEFAULT_TZ": "your-timezest-default-tz-here"
},
"args": [
"-y",
"timezest-mcp"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
โฐ TimeZest MCP Server
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
๐ Why 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:
- ๐๏ธ Give you a morning briefing of today's confirmed appointments grouped by engineer
- ๐ Find appointments by ticket number โ just say "find appointments for ticket #964400"
- โณ Surface aging unbooked requests that need follow-up
- ๐ Generate aggregate scheduling stats across your team
- ๐ Handle timezone-accurate reporting across global MSP teams
๐ Get Started in 30 Seconds
Prerequisites
- Node.js 20+ โ Download here
- TimeZest API Key โ Found in TimeZest โ Settings โ API
Option 1: Claude Desktop (Recommended)
Add this to your Claude Desktop configuration file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/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.
Option 2: Claude Code CLI
claude mcp add-json timezest-mcp '{
"command": "npx",
"args": ["-y", "timezest-mcp@latest"],
"env": {
"TIMEZEST_API_KEY": "your-timezest-api-key-here"
}
}'
Option 3: VS Code (Copilot)
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"
}
}
}
}
}
๐ ๏ธ Available Tools
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 |
๐ฌ Example Prompts
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?"
โ๏ธ Configuration
| 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 |
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 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 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Key Design Decisions
- Read-Only: Intentionally kept read-only โ no mutations to your scheduling data
- Resilient Client: Exponential backoff with automatic
Retry-Afterheader support for 429/5xx errors - Deep Pagination: Recursively crawls all pages (50-item chunks) to build complete datasets
- Timezone Precision: Converts Unix timestamps to strict ISO with localized display strings using IANA timezone identifiers
- Engineer Resolution: Uses a "highest-confidence" search โ checks
scheduled_agentsfirst, then falls back toresources - Warm Cache: Appointment types are cached after first fetch to reduce API overhead
๐งช Testing
The 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
๐ Security & Trust
- NPM Provenance: Every release is cryptographically signed via GitHub Actions OIDC
- CI/CD Pipeline: Automated build โ test โ publish on tagged releases (no manual
npm publish) - No Secrets in CI: Tests require no API keys โ fully deterministic with mocked responses
- Node.js Matrix: Tested on Node 20 (LTS) and 22 (Current)
๐ฆ Distribution
| Channel | Link |
|---|---|
| NPM | timezest-mcp |
| MCP Registry | io.github.sagarkalra-tech/timezest-mcp |
| GitHub | sagarkalra-tech/TimeZest-MCP |
๐ค Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Make your changes and ensure tests pass (
npm test) - Submit a pull request
See ARCHITECTURE.md for a deep dive into the data flow, component design, and transformation logic.
๐ License
MIT ยฉ 2026 Sagar Kalra
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol ยท Developer Tools
Web content fetching and conversion for efficient LLM usage
Toleno
Freeby Toleno ยท Developer Tools
Toleno Network MCP Server โ Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace ยท Developer Tools
Create, build, and publish Python MCP servers to PyPI โ conversationally.
MarkItDown
Freeby Microsoft ยท Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
MCP Marketplace
Freeby mcp-marketplace ยท Developer Tools
Search and install MCP servers from inside your AI client.
FinAgent
Freeby mcp-marketplace ยท Finance
Free stock data and market news for any MCP-compatible AI assistant.
