timezest-mcp
TimeZest MCP Server
MCP (Model Context Protocol) server for TimeZest scheduling platform. Enables LLM agents to create and manage technician scheduling requests with PSA integration.
Features
🎯 Decision-tree navigation - organized tool discovery
📅 Full scheduling lifecycle - create, view, cancel requests
🔗 PSA integration - ConnectWise, Autotask, Halo support
🌍 IANA timezone handling - explicit timezone management
🚀 Dual trigger modes - PSA workflows or booking URLs
🛡️ Gateway-ready - stateless per-request design
🔍 TQL filtering - TimeZest Query Language support
✨ Elicitation support - interactive user prompts
Related MCP server: OnSched Consumer API MCP Server
Quick Start
Docker (Recommended)
docker run -it --rm \
-e TIMEZEST_API_TOKEN=your-api-token \
ghcr.io/wyre-technology/timezest-mcp:latestnpm
npm install -g @wyre-technology/timezest-mcp
TIMEZEST_API_TOKEN=your-token timezest-mcpConfiguration
Environment Variable | Required | Description |
| Yes | TimeZest API token |
| No | Transport mode: |
| No | HTTP port (default: 8080) |
| No | Set to |
| No | Log level: |
Tool Domains
The server uses decision-tree navigation to organize tools by domain:
Navigation
timezest_navigate- Enter a domain to access its toolstimezest_status- Show available domains and current state
Agents
timezest_agents_list- List individual technicianstimezest_agents_get- Get agent details
Teams
timezest_teams_list- List teams (round-robin scheduling)timezest_teams_get- Get team details
Appointment Types
timezest_appointment_types_list- List available service typestimezest_appointment_types_get- Get appointment type details
Resources
timezest_resources_list- List all resources (agents + teams)
Scheduling (Core Domain)
timezest_scheduling_list- List scheduling requeststimezest_scheduling_get- Get request detailstimezest_scheduling_create_request- Create new request (key tool)timezest_scheduling_cancel- Cancel request
Usage Examples
Basic Navigation
User: "Show me TimeZest domains"
Tools: timezest_status
User: "Go to scheduling"
Tools: timezest_navigate(domain="scheduling")Create a Scheduling Request
User: "Book a technician for server repair at Customer Corp tomorrow"
Tools: timezest_scheduling_create_request({
"appointmentTypeId": "repair-onsite",
"triggerMode": "pod",
"endUser": {
"name": "John Doe",
"company": "Customer Corp",
"email": "john@customer.com"
},
"timeRange": {
"earliestDate": "2024-02-01",
"earliestTime": "09:00",
"latestDate": "2024-02-01",
"latestTime": "17:00",
"timezone": "America/New_York"
},
"associatedEntities": [
{"type": "connectwise", "id": "12345", "number": "T20240001"}
]
})PSA Integration
Link scheduling requests to PSA tickets:
{
"associatedEntities": [
{"type": "connectwise", "id": "12345", "number": "T20240001"},
{"type": "autotask", "id": "67890"},
{"type": "halo", "id": "11111"}
]
}Trigger Modes
pod: Fires the configured PSA workflow (creates calendar entries, updates tickets)generate_url: Returns a shareable booking URL for customers
TQL Filtering
TimeZest Query Language examples:
# Active agents in IT department
filter: "active:true AND department:\"IT Support\""
# Recent scheduling requests
filter: "createdAt:>=2024-01-01 AND status:pending"
# Specific customer requests
filter: "endUser.company:\"Important Customer\""Timezone Handling
CRITICAL: Always specify IANA timezones explicitly. TimeZest interprets scheduling windows in the specified timezone.
{
"timeRange": {
"earliestDate": "2024-02-01",
"earliestTime": "09:00",
"timezone": "America/New_York" // ✅ Required
}
}Development
Local Setup
# Clone and install
git clone https://github.com/wyre-technology/timezest-mcp.git
cd timezest-mcp
npm install
# Development with file dependency (replace before publish)
# Edit package.json: "@wyre-technology/node-timezest": "file:../node-timezest"
# Build and test
npm run build
npm test
# Run locally
TIMEZEST_API_TOKEN=your-token npm run devDocker Development
# Build image
docker build -t timezest-mcp --build-arg NODE_AUTH_TOKEN=$GITHUB_TOKEN .
# Run container
docker run -it --rm \
-e TIMEZEST_API_TOKEN=your-token \
-e LOG_LEVEL=debug \
timezest-mcpMCP Integration
Claude Desktop
Add to your MCP settings:
{
"mcpServers": {
"timezest": {
"command": "npx",
"args": ["@wyre-technology/timezest-mcp"],
"env": {
"TIMEZEST_API_TOKEN": "your-api-token"
}
}
}
}WYRE Gateway
The server is designed for the WYRE MCP Gateway with:
Per-request server instances (stateless)
Header-based credential injection
Structured error responses
Decision-tree tool organization
API Coverage
TimeZest API | Coverage | Notes |
Agents | ✅ List, Get | Individual technicians |
Teams | ✅ List, Get | Round-robin scheduling |
Appointment Types | ✅ List, Get | Service type definitions |
Resources | ✅ List | Unified agents + teams |
Scheduling Requests | ✅ CRUD | Core scheduling functionality |
TQL Filtering | ✅ All endpoints | TimeZest Query Language |
PSA Integration | ✅ All systems | ConnectWise, Autotask, Halo |
Webhooks | ❌ N/A | TimeZest doesn't provide webhooks |
Contributing
See CONTRIBUTING.md for development guidelines.
License
Apache 2.0 - see LICENSE file for details.
Links
This server cannot be installed
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wyre-technology/timezest-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server