BrandCast-Signage

jduncan-rva/BrandCast-Signage

3.2

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.

Tools
6
Resources
0
Prompts
0

ZoomShift MCP Server

npm version License: MIT

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

  1. 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
  2. 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"
      }
    }
  }
}
  1. 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 format
  • end_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 ID
  • start_date (string): Start date in YYYY-MM-DD format
  • end_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 query
  • start_date (string): Start date in YYYY-MM-DD format
  • end_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:

Troubleshooting

"Missing required environment variables"

Make sure all three environment variables are set in your Claude Desktop config:

  • ZOOMSHIFT_EMAIL
  • ZOOMSHIFT_PASSWORD
  • ZOOMSHIFT_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

  1. Verify the config file syntax is valid JSON
  2. Restart Claude Desktop completely
  3. 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 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

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