
TimeZest
io.github.WYRE-AIPublished by GitHub account WYRE-AIv3.0.2Updated Oct 24, 2026
MCP server for TimeZest — appointment scheduling, agents, appointment types, and resources for MSPs.
Overview
MCP server for TimeZest that lets an assistant list technicians, teams and appointment types and create, view or cancel technician scheduling requests.
- What you can do
- Check connection status and the available tools
- List and inspect agents, teams, appointment types and combined resources
- List, view, create and cancel scheduling requests, with TQL filters and explicit IANA timezones
- Link requests to PSA tickets in ConnectWise, Autotask or Halo, or return a shareable booking URL
- When to use it
- Useful for managed service providers and support teams that schedule technicians through TimeZest and want an assistant to draft, look up or cancel scheduling requests and tie them to PSA tickets.
- Requirements
- Runs locally over stdio (Docker image or npm package). Requires a TimeZest API token in TIMEZEST_API_TOKEN for stdio or AUTH_MODE=env. Optional settings include AUTH_MODE, LOG_LEVEL and MCP_TRANSPORT; HTTP mode additionally requires CONDUIT_S2S_SECRET and X-Gateway-S2S signing, and gateway mode expects X-Timezest-Api-Token per request.
Installation
In SourceWeft
- Open TimeZest in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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
- 🎯 Flat tool list - every tool listed and callable immediately
- 📅 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_getrenders as a card in MCP Apps hosts; neutral by default, brandable viawindow.__BRAND__injection orMCP_BRAND_*env vars
Quick Start
Docker (Recommended)
npm
Configuration
Copy .env.example and set the variables below.
/health stays unauthenticated and does not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.
HTTP authentication
With MCP_TRANSPORT=http and CONDUIT_S2S_SECRET set, every /mcp request must include X-Gateway-S2S. The header value is:
v1 is HMAC-SHA256, as lowercase hex, of the exact ASCII string t=<unix seconds> (the same prefix that appears in the header), keyed with CONDUIT_S2S_SECRET. The timestamp must be within 300 seconds of the server clock. A missing or invalid header returns 401. The secret is never written to logs.
In AUTH_MODE=gateway, /mcp also requires X-Timezest-Api-Token. That header is the only credential source for the request. A missing header returns 401 and the server does not fall back to TIMEZEST_API_TOKEN.
Tools
Every tool below is listed and callable immediately — there is no domain to enter first. The groupings are documentation only.
Upgrading from 2.x?
timezest_navigateandtimezest_backare gone. Nothing replaces them: call the domain tools directly, because they are all listed up front now. A client that used to calltimezest_navigate({domain: "agents"})and thentimezest_agents_listshould just calltimezest_agents_list— likewisetimezest_scheduling_listand the rest.timezest_statusstill works and now reports the available tools instead of a menu to enter.
Status
timezest_status- Show connection status and the available tools
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
Check What's Available
Create a Scheduling Request
PSA Integration
Link scheduling requests to PSA tickets:
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:
Timezone Handling
CRITICAL: Always specify IANA timezones explicitly. TimeZest interprets scheduling windows in the specified timezone.
Development
Local Setup
Docker Development
The image sets AUTH_MODE=gateway and MCP_HTTP_HOST=0.0.0.0. Stdio (the image default until MCP_TRANSPORT=http) still reads TIMEZEST_API_TOKEN and does not use CONDUIT_S2S_SECRET.
HTTP gateway mode publishes the port on loopback and passes the S2S secret. The TimeZest token arrives on each request as X-Timezest-Api-Token; it is not read from the environment. Generate the secret with openssl rand -hex 32 — example placeholders such as changeme or your-s2s-secret are rejected.
Compose refuses to start when CONDUIT_S2S_SECRET is unset. The gateway service sets AUTH_MODE=gateway and does not inject TIMEZEST_API_TOKEN or env_file:
Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses TIMEZEST_API_TOKEN:
Local HTTP without a secret is development-only. It binds 127.0.0.1 only and logs a warning. A non-loopback MCP_HTTP_HOST is overridden:
MCP Integration
Claude Desktop
Add to your MCP settings:
WYRE Gateway
The server is designed for the WYRE MCP Gateway with:
- Per-request server instances (stateless)
X-Gateway-S2Ssigning on every/mcprequest (see HTTP authentication)X-Timezest-Api-Tokencredential injection in gateway mode, with no fallback toTIMEZEST_API_TOKEN- Structured error responses
- Flat tool list (no navigation state to enter)
API Coverage
Contributing
See CONTRIBUTING.md for development guidelines.
License
Apache 2.0 - see LICENSE file for details.
Links
Source: README.md at commit e444f13
Tools
0Version history
4- v3.0.2LatestOct 14, 2026
- v3.0.1Sep 25, 2026
- v3.0.0Sep 17, 2026
- v2.0.1Sep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.