jduncan-rva/BrandCast-Signage
If you are the rightful owner of BrandCast-Signage and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The ZoomShift MCP Server is a Model Context Protocol server designed to facilitate natural language interaction with ZoomShift employee scheduling through Claude Desktop and other MCP clients.
ZoomShift MCP Server
Model Context Protocol server for ZoomShift employee scheduling. Enables Claude Desktop and other MCP clients to interact with ZoomShift schedules through natural language.
Features
- 📅 View Schedules - Get employee shifts for any date range
- 👥 Employee Management - List employees and their positions
- 📍 Location Tracking - View all locations in your schedule
- 🔍 Smart Search - Search shifts by employee, role, or location
- 🤖 AI-Powered - Natural language interface via Claude Desktop
- 🔒 Secure - Environment-based credential management
Installation
Quick Start with npx (Recommended)
No installation required! Configure Claude Desktop to use the server via npx:
{
"mcpServers": {
"zoomshift": {
"command": "npx",
"args": ["-y", "@brandcast_app/zoomshift-mcp-server"],
"env": {
"ZOOMSHIFT_EMAIL": "your@email.com",
"ZOOMSHIFT_PASSWORD": "your-password",
"ZOOMSHIFT_SCHEDULE_ID": "your-schedule-id"
}
}
}
}
Global Installation
npm install -g @brandcast_app/zoomshift-mcp-server
Configuration
Finding Your Schedule ID
Your ZoomShift schedule ID is found in the URL when you're logged into ZoomShift:
https://app.zoomshift.com/58369/dashboard
^^^^^
This is your schedule ID
Claude Desktop Setup
-
Open your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Add the ZoomShift MCP server configuration:
{
"mcpServers": {
"zoomshift": {
"command": "npx",
"args": ["-y", "@brandcast_app/zoomshift-mcp-server"],
"env": {
"ZOOMSHIFT_EMAIL": "your@email.com",
"ZOOMSHIFT_PASSWORD": "your-password",
"ZOOMSHIFT_SCHEDULE_ID": "58369"
}
}
}
}
- Restart Claude Desktop
Usage
Once configured, you can interact with ZoomShift using natural language in Claude Desktop:
Example Prompts
"Show me all shifts for next week"
"Who is working tomorrow?"
"Find all shifts for John Smith this month"
"List all employees in the schedule"
"What locations do we have?"
"Search for server shifts this week"
Available Tools
The server provides 6 MCP tools that Claude can use:
1. zoomshift_get_shifts
Get all shifts for a date range.
Parameters:
start_date(string): Start date in YYYY-MM-DD formatend_date(string): End date in YYYY-MM-DD format
2. zoomshift_get_employee_shifts
Get shifts for a specific employee.
Parameters:
employee_id(string): Employee IDstart_date(string): Start date in YYYY-MM-DD formatend_date(string): End date in YYYY-MM-DD format
3. zoomshift_get_locations
Get all locations in the schedule.
4. zoomshift_get_employees
Get all employees in the schedule.
5. zoomshift_get_positions
Get all job positions/roles in the schedule.
6. zoomshift_search_shifts
Search for shifts by employee name, role, or location.
Parameters:
query(string): Search querystart_date(string): Start date in YYYY-MM-DD formatend_date(string): End date in YYYY-MM-DD format
Development
Building from Source
git clone https://github.com/BrandCast-Signage/zoomshift-mcp-server.git
cd zoomshift-mcp-server
npm install
npm run build
Running Locally
ZOOMSHIFT_EMAIL="your@email.com" \
ZOOMSHIFT_PASSWORD="your-password" \
ZOOMSHIFT_SCHEDULE_ID="58369" \
node dist/index.js
Architecture
This MCP server uses:
- Transport: stdio (standard input/output)
- Protocol: Model Context Protocol (MCP)
- API Client: @brandcast_app/zoomshift-api-client
- Runtime: Node.js 18+
Troubleshooting
"Missing required environment variables"
Make sure all three environment variables are set in your Claude Desktop config:
ZOOMSHIFT_EMAILZOOMSHIFT_PASSWORDZOOMSHIFT_SCHEDULE_ID
"Authentication failed"
Verify your ZoomShift credentials are correct. Try logging into ZoomShift manually to confirm.
"Schedule ID not found"
Double-check your schedule ID from the ZoomShift URL. It should be a number (e.g., "58369").
Server not appearing in Claude Desktop
- Verify the config file syntax is valid JSON
- Restart Claude Desktop completely
- Check Claude Desktop logs for errors
Security
- Credentials are passed via environment variables (never hardcoded)
- Uses session-based authentication with ZoomShift
- No credential caching or persistence
- Follows MCP security best practices
Related Projects
- @brandcast_app/zoomshift-api-client - TypeScript client for ZoomShift API
- Model Context Protocol - MCP specification
BrandCast Integration
If you're a BrandCast customer, you can use the integrated version which doesn't require manual configuration:
{
"mcpServers": {
"zoomshift": {
"url": "https://dev.brandcast.app/mcp/zoomshift",
"transport": "http",
"oauth": {
"enabled": true
}
}
}
}
This version uses OAuth and credentials are managed through the BrandCast platform.
Support
- Issues: GitHub Issues
- Documentation: MCP Protocol
- API Client: zoomshift-api-client docs
License
MIT License - see file for details.
Acknowledgments
Built with:
Note: This is an unofficial integration. Not affiliated with or endorsed by ZoomShift.
Made with ❤️ by the BrandCast Team