WYRE-AI

TimeZest MCP Server

Community WYRE-AI
Updated

TimeZest scheduling MCP server for the WYRE MCP Gateway

TimeZest MCP Server

Docker ImageLicense

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
  • ๐Ÿ“‡ Interactive scheduling-request card (MCP Apps) - timezest_scheduling_get renders as a card in MCP Apps hosts; neutral by default, brandable via window.__BRAND__ injection or MCP_BRAND_* env vars

Quick Start

Docker (Recommended)

docker run -it --rm \
  -e TIMEZEST_API_TOKEN=your-api-token \
  ghcr.io/wyre-ai/timezest-mcp:latest

npm

npm install -g @wyre-ai/timezest-mcp
TIMEZEST_API_TOKEN=your-token timezest-mcp

Configuration

Environment Variable Required Description
TIMEZEST_API_TOKEN Yes TimeZest API token
MCP_TRANSPORT No Transport mode: stdio (default) or http
MCP_HTTP_PORT No HTTP port (default: 8080)
AUTH_MODE No Set to gateway for WYRE gateway integration
LOG_LEVEL No Log level: debug, info (default), warn, error

Tool Domains

The server uses decision-tree navigation to organize tools by domain:

Navigation

  • timezest_navigate - Enter a domain to access its tools
  • timezest_status - Show available domains and current state

Agents

  • timezest_agents_list - List individual technicians
  • timezest_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 types
  • timezest_appointment_types_get - Get appointment type details

Resources

  • timezest_resources_list - List all resources (agents + teams)

Scheduling (Core Domain)

  • timezest_scheduling_list - List scheduling requests
  • timezest_scheduling_get - Get request details
  • timezest_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": "[email protected]"
  },
  "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-AI/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 dev

Docker 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-mcp

MCP Integration

Claude Desktop

Add to your MCP settings:

{
  "mcpServers": {
    "timezest": {
      "command": "npx",
      "args": ["@wyre-ai/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

MCP Server ยท Populars

MCP Server ยท New

    PSU3D0

    agent-spreadsheet

    MCP server for spreadsheet analysis and editing. Slim, token-efficient tool surface designed for LLM agents.

    Community PSU3D0
    pitiflautico

    NeoBrowser

    MCP server that drives real Chrome with your real logged-in sessions โ€” genuine fingerprint (passes bot.sannysoft), human-like input, bot-wall aware. 43 tools, single static Rust binary.

    Community pitiflautico
    aeonfun

    Aeon MCP Server

    The most autonomous AI agent framework: runs unattended on GitHub Actions, self-healing skills, drives Claude Code, Grok, Codex & more. No approval loops. Configure once, forget forever.

    Community aeonfun
    nhadaututtheky

    NeuralMemory

    NeuralMemory stores experiences as interconnected neurons and recalls them through spreading activation, mimicking how the human brain works. Instead of searching a database, memories are retrieved through associative recall - activating related concepts until the relevant memory emerges.

    Community nhadaututtheky
    norrietaylor

    Distillery

    Team knowledge evaporates daily โ€” pairing sessions, debugging context, architectural rationale lost to Slack. Distillery captures it at the point of creation, connects it into a living graph, and surfaces it conversationally. It monitors feeds, tracks what matters to your projects, and alerts you before you know to ask. A team brain that learns.

    Community norrietaylor