{"_id":"@brandcast_app/zoomshift-mcp-server","_rev":"2-ee322179e965e633da54042695e00113","name":"@brandcast_app/zoomshift-mcp-server","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@brandcast_app/zoomshift-mcp-server","version":"1.0.0","keywords":["mcp","model-context-protocol","zoomshift","employee-scheduling","shift-management","claude","ai-tools","scheduling","workforce-management"],"author":{"name":"BrandCast Team"},"license":"MIT","_id":"@brandcast_app/zoomshift-mcp-server@1.0.0","maintainers":[{"name":"jamieeduncan","email":"jamie@brandcast.app"}],"homepage":"https://github.com/BrandCast-Signage/zoomshift-mcp-server#readme","bugs":{"url":"https://github.com/BrandCast-Signage/zoomshift-mcp-server/issues"},"bin":{"zoomshift-mcp-server":"dist/index.js"},"dist":{"shasum":"b33076b20492a7978facc0b665a8f0ed54ad13cf","tarball":"https://registry.npmjs.org/@brandcast_app/zoomshift-mcp-server/-/zoomshift-mcp-server-1.0.0.tgz","fileCount":14,"integrity":"sha512-00wYbu7o2Eope1DHaLdvsd5tUKFckWDllFGVygvmvuvOxBSjNUspVVvkKmlekUMhzBaM/ZAL81Wsp9Mqe364xg==","signatures":[{"sig":"MEUCIQDGiDrdufCXgZCyQvnDAygFpkkQjmp3i8HAe/Q4ZhUc6QIgeHdTd5w4fC4xoIEvOyWWHHeAbh2fEZJfhrZrxQKW8iM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34629},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"d49217faf035bf6c1a3adead388c8a582488bdb3","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"jamieeduncan","email":"jamie@brandcast.app"},"repository":{"url":"git+https://github.com/BrandCast-Signage/zoomshift-mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"Model Context Protocol server for ZoomShift employee scheduling. Use ZoomShift with Claude Desktop.","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@modelcontextprotocol/sdk":"^0.5.0","@brandcast_app/zoomshift-api-client":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zoomshift-mcp-server_1.0.0_1762891428412_0.21114793651316566","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2025-11-11T20:03:48.314Z","modified":"2026-04-12T12:33:20.960Z","1.0.0":"2025-11-11T20:03:48.621Z"},"bugs":{"url":"https://github.com/BrandCast-Signage/zoomshift-mcp-server/issues"},"author":{"name":"BrandCast Team"},"license":"MIT","homepage":"https://github.com/BrandCast-Signage/zoomshift-mcp-server#readme","keywords":["mcp","model-context-protocol","zoomshift","employee-scheduling","shift-management","claude","ai-tools","scheduling","workforce-management"],"repository":{"url":"git+https://github.com/BrandCast-Signage/zoomshift-mcp-server.git","type":"git"},"description":"Model Context Protocol server for ZoomShift employee scheduling. Use ZoomShift with Claude Desktop.","maintainers":[{"name":"jamieeduncan","email":"jamie@brandcast.app"}],"readme":"# ZoomShift MCP Server\n\n[![npm version](https://badge.fury.io/js/@brandcast_app%2Fzoomshift-mcp-server.svg)](https://www.npmjs.com/package/@brandcast_app/zoomshift-mcp-server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nModel Context Protocol server for ZoomShift employee scheduling. Enables Claude Desktop and other MCP clients to interact with ZoomShift schedules through natural language.\n\n## Features\n\n- 📅 **View Schedules** - Get employee shifts for any date range\n- 👥 **Employee Management** - List employees and their positions\n- 📍 **Location Tracking** - View all locations in your schedule\n- 🔍 **Smart Search** - Search shifts by employee, role, or location\n- 🤖 **AI-Powered** - Natural language interface via Claude Desktop\n- 🔒 **Secure** - Environment-based credential management\n\n## Installation\n\n### Quick Start with npx (Recommended)\n\nNo installation required! Configure Claude Desktop to use the server via npx:\n\n```json\n{\n  \"mcpServers\": {\n    \"zoomshift\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@brandcast_app/zoomshift-mcp-server\"],\n      \"env\": {\n        \"ZOOMSHIFT_EMAIL\": \"your@email.com\",\n        \"ZOOMSHIFT_PASSWORD\": \"your-password\",\n        \"ZOOMSHIFT_SCHEDULE_ID\": \"your-schedule-id\"\n      }\n    }\n  }\n}\n```\n\n### Global Installation\n\n```bash\nnpm install -g @brandcast_app/zoomshift-mcp-server\n```\n\n## Configuration\n\n### Finding Your Schedule ID\n\nYour ZoomShift schedule ID is found in the URL when you're logged into ZoomShift:\n\n```\nhttps://app.zoomshift.com/58369/dashboard\n                          ^^^^^\n                    This is your schedule ID\n```\n\n### Claude Desktop Setup\n\n1. Open your Claude Desktop config file:\n   - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n   - **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n   - **Linux**: `~/.config/Claude/claude_desktop_config.json`\n\n2. Add the ZoomShift MCP server configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"zoomshift\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@brandcast_app/zoomshift-mcp-server\"],\n      \"env\": {\n        \"ZOOMSHIFT_EMAIL\": \"your@email.com\",\n        \"ZOOMSHIFT_PASSWORD\": \"your-password\",\n        \"ZOOMSHIFT_SCHEDULE_ID\": \"58369\"\n      }\n    }\n  }\n}\n```\n\n3. Restart Claude Desktop\n\n## Usage\n\nOnce configured, you can interact with ZoomShift using natural language in Claude Desktop:\n\n### Example Prompts\n\n```\n\"Show me all shifts for next week\"\n\"Who is working tomorrow?\"\n\"Find all shifts for John Smith this month\"\n\"List all employees in the schedule\"\n\"What locations do we have?\"\n\"Search for server shifts this week\"\n```\n\n## Available Tools\n\nThe server provides 6 MCP tools that Claude can use:\n\n### 1. `zoomshift_get_shifts`\nGet all shifts for a date range.\n\n**Parameters:**\n- `start_date` (string): Start date in YYYY-MM-DD format\n- `end_date` (string): End date in YYYY-MM-DD format\n\n### 2. `zoomshift_get_employee_shifts`\nGet shifts for a specific employee.\n\n**Parameters:**\n- `employee_id` (string): Employee ID\n- `start_date` (string): Start date in YYYY-MM-DD format\n- `end_date` (string): End date in YYYY-MM-DD format\n\n### 3. `zoomshift_get_locations`\nGet all locations in the schedule.\n\n### 4. `zoomshift_get_employees`\nGet all employees in the schedule.\n\n### 5. `zoomshift_get_positions`\nGet all job positions/roles in the schedule.\n\n### 6. `zoomshift_search_shifts`\nSearch for shifts by employee name, role, or location.\n\n**Parameters:**\n- `query` (string): Search query\n- `start_date` (string): Start date in YYYY-MM-DD format\n- `end_date` (string): End date in YYYY-MM-DD format\n\n## Development\n\n### Building from Source\n\n```bash\ngit clone https://github.com/BrandCast-Signage/zoomshift-mcp-server.git\ncd zoomshift-mcp-server\nnpm install\nnpm run build\n```\n\n### Running Locally\n\n```bash\nZOOMSHIFT_EMAIL=\"your@email.com\" \\\nZOOMSHIFT_PASSWORD=\"your-password\" \\\nZOOMSHIFT_SCHEDULE_ID=\"58369\" \\\nnode dist/index.js\n```\n\n## Architecture\n\nThis MCP server uses:\n- **Transport**: stdio (standard input/output)\n- **Protocol**: Model Context Protocol (MCP)\n- **API Client**: [@brandcast_app/zoomshift-api-client](https://www.npmjs.com/package/@brandcast_app/zoomshift-api-client)\n- **Runtime**: Node.js 18+\n\n## Troubleshooting\n\n### \"Missing required environment variables\"\n\nMake sure all three environment variables are set in your Claude Desktop config:\n- `ZOOMSHIFT_EMAIL`\n- `ZOOMSHIFT_PASSWORD`\n- `ZOOMSHIFT_SCHEDULE_ID`\n\n### \"Authentication failed\"\n\nVerify your ZoomShift credentials are correct. Try logging into ZoomShift manually to confirm.\n\n### \"Schedule ID not found\"\n\nDouble-check your schedule ID from the ZoomShift URL. It should be a number (e.g., \"58369\").\n\n### Server not appearing in Claude Desktop\n\n1. Verify the config file syntax is valid JSON\n2. Restart Claude Desktop completely\n3. Check Claude Desktop logs for errors\n\n## Security\n\n- Credentials are passed via environment variables (never hardcoded)\n- Uses session-based authentication with ZoomShift\n- No credential caching or persistence\n- Follows MCP security best practices\n\n## Related Projects\n\n- [@brandcast_app/zoomshift-api-client](https://www.npmjs.com/package/@brandcast_app/zoomshift-api-client) - TypeScript client for ZoomShift API\n- [Model Context Protocol](https://modelcontextprotocol.io/) - MCP specification\n\n## BrandCast Integration\n\nIf you're a BrandCast customer, you can use the **integrated version** which doesn't require manual configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"zoomshift\": {\n      \"url\": \"https://dev.brandcast.app/mcp/zoomshift\",\n      \"transport\": \"http\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    }\n  }\n}\n```\n\nThis version uses OAuth and credentials are managed through the BrandCast platform.\n\n## Support\n\n- **Issues**: [GitHub Issues](https://github.com/BrandCast-Signage/zoomshift-mcp-server/issues)\n- **Documentation**: [MCP Protocol](https://modelcontextprotocol.io/)\n- **API Client**: [zoomshift-api-client docs](https://github.com/jduncan-rva/zoomshift-api-client)\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\nBuilt with:\n- [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk)\n- [@brandcast_app/zoomshift-api-client](https://www.npmjs.com/package/@brandcast_app/zoomshift-api-client)\n\n---\n\n**Note**: This is an unofficial integration. Not affiliated with or endorsed by ZoomShift.\n\nMade with ❤️ by the BrandCast Team\n","readmeFilename":"README.md"}