
TimeZest
io.github.wyre-technologyPublished by GitHub account wyre-technologyv1.2.6Updated Oct 24, 2026
MCP server for TimeZest — appointment scheduling, agents, appointment types, and resources for MSPs.
Overview
Lets an assistant list TimeZest agents, teams and appointment types, and create, view or cancel technician scheduling requests for MSPs.
- What you can do
- Wraps the TimeZest scheduling platform for managed service providers. Tools cover agents, teams, appointment types and resources, plus the core scheduling domain: list, get, create and cancel scheduling requests. Requests can be linked to PSA tickets such as ConnectWise, Autotask or Halo, and filtered with TimeZest Query Language. A status tool reports connection state and available tools.
- When to use it
- Useful when an assistant should book, inspect or cancel technician appointments in TimeZest, or look up which agents, teams and appointment types are available, especially in MSP workflows tied to PSA tickets.
- Requirements
- Runs as a local process over stdio, typically via the published container image or the npm package. Requires a TimeZest API token in TIMEZEST_API_TOKEN, plus network access to the TimeZest API. Optional settings include MCP_TRANSPORT, AUTH_MODE, LOG_LEVEL and MCP_HTTP_PORT.
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
1- v1.2.6LatestSep 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.