npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@brandcast_app/zoomshift-mcp-server

v1.0.0

Published

Model Context Protocol server for ZoomShift employee scheduling. Use ZoomShift with Claude Desktop.

Downloads

32

Readme

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": "[email protected]",
        "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": "[email protected]",
        "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="[email protected]" \
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 LICENSE 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