Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Tanda Workforce MCP Servershow me my schedule for next week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Tanda Workforce MCP Server v3.1.0
A production-ready MCP (Model Context Protocol) server for integrating Tanda Workforce API with AI assistants like Claude. Features OAuth2 authentication with PKCE support, real-time workforce tools, supervisor scheduling optimization, and comprehensive workforce management capabilities.
What's New in v3.1.0
Supervisor Scheduling Optimization
Strategic supervisor placement across schools with overlap prevention and evening coverage optimization:
Overlap Detection -
tanda_detect_supervisor_overlaps- Find schedule conflicts where supervisors are double-bookedEvening Coverage Analysis -
tanda_analyze_evening_coverage- Analyze evening (17:00-22:00) coverage across all locationsPlacement Recommendations -
tanda_get_placement_recommendations- Get AI-powered strategic placement suggestionsFull Optimization -
tanda_optimize_supervisor_schedules- Run complete optimization with coverage gap analysisSchedule Validation -
tanda_validate_supervisor_schedules- Validate proposed schedules before creationBulk Schedule Creation -
tanda_create_optimized_schedules- Create multiple optimized schedules at once
Key Features:
Prevent supervisor overlaps (no double-booking)
Ensure good visibility during evening hours at all schools
Strategic placement to maximize coverage
Intelligent recommendations based on supervisor availability and managed departments
What's New in v3.0.0
Real-time Workforce Tools (Inspired by Monday.com MCP)
Active Shifts -
tanda_get_active_shifts- See who's currently working in real-timeClocked-in Users -
tanda_get_clocked_in_users- Real-time attendance statusShift Breaks -
tanda_get_shift_breaks- Break compliance trackingShift Limits -
tanda_get_shift_limits- Overtime warnings and hour limits
Roster Period Management
Current Roster -
tanda_get_current_roster- Get the active roster periodRoster by Date -
tanda_get_roster_by_date- Get roster for any specific dateRoster by ID -
tanda_get_roster- Get specific roster by ID
Staff Management
Inactive Users -
tanda_get_inactive_users- View terminated employeesBulk Onboarding -
tanda_onboard_users- Bulk employee onboardingUser Invitations -
tanda_invite_user- Send app invitations
Leave Enhancements
Leave Types -
tanda_get_leave_types- Available leave types per userLeave Calculator -
tanda_calculate_leave_hours- Calculate leave duration
New Workflow Prompts
workforce_dashboard - Real-time workforce overview
compliance_check - Break and hour limit compliance
onboard_employee - Guided onboarding workflow
leave_planner - Leave balance and planning assistant
Read-only Mode
Set
MCP_READ_ONLY_MODE=trueto disable all write operationsAutomatically filters out write tools when listing available tools
Features
OAuth2 Authentication - Secure authentication with Tanda including PKCE (RFC 7636)
Claude.ai & Desktop Support - Works with both Claude.ai (OAuth flow) and Claude Desktop (JWT tokens)
Dynamic Client Registration - RFC 7591 support for Claude MCP integration
OAuth Protected Resource Metadata - RFC 9728 for automatic OAuth discovery
SSE Real-time Transport - Server-Sent Events for MCP remote transport
MCP Protocol Support - Full JSON-RPC 2.0 implementation (protocol version 2024-11-05)
44 Workforce Tools - Users, schedules, timesheets, leave, real-time attendance, supervisor optimization, and more
6 Workflow Prompts - Guided workflows for common tasks
Read-only Mode - Restrict to read operations only (v3.0)
Production Ready - Docker support, rate limiting, security headers, logging
TypeScript - Fully typed codebase
Quick Start
1. Clone and Install
2. Configure Environment
Required environment variables:
TANDA_CLIENT_ID- Your Tanda OAuth client IDTANDA_CLIENT_SECRET- Your Tanda OAuth client secretTANDA_REDIRECT_URI- OAuth callback URL (e.g.,https://your-domain.com/auth/callback)SESSION_SECRET- Random 32+ character stringJWT_SECRET- Random 32+ character string
Optional v3.0 configuration:
MCP_READ_ONLY_MODE- Set totrueto disable write operations
3. Run
Connecting to Claude
Option 1: Claude.ai (Recommended)
Claude.ai uses OAuth 2.0 with Dynamic Client Registration. Simply provide your MCP server URL:
Claude.ai will:
Discover OAuth endpoints via
/.well-known/oauth-authorization-serverDiscover resource metadata via
/.well-known/oauth-protected-resourceRegister as a client via
/oauth/registerInitiate OAuth flow with PKCE via
/authorizeExchange code for token via
/tokenConnect via SSE to
/mcpfor real-time communication
Option 2: Claude Desktop
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Getting a JWT Token
Navigate to
https://your-domain.com/auth/loginAuthenticate with your Tanda account
Copy the returned JWT token
Available Tools (44)
User Management
tanda_get_current_user- Get current user profiletanda_get_users- List all employeestanda_get_user- Get specific user detailstanda_get_inactive_users- Get terminated employees (v3.0)tanda_onboard_users- Bulk employee onboarding (v3.0)tanda_invite_user- Send app invitation (v3.0)
Real-time Attendance (v3.0)
tanda_get_active_shifts- Who's currently workingtanda_get_clocked_in_users- Currently clocked-in employeestanda_get_shift_breaks- Break records for a shifttanda_get_shift_limits- Hour limits and overtime warnings
Scheduling
tanda_get_schedules- Get scheduled shiftstanda_create_schedule- Create new shifttanda_update_schedule- Update shifttanda_delete_schedule- Delete shifttanda_publish_schedules- Publish schedules
Roster Periods (v3.0)
tanda_get_roster- Get roster by IDtanda_get_current_roster- Get current roster periodtanda_get_roster_by_date- Get roster for specific date
Timesheets
tanda_get_shifts- Get worked shiftstanda_get_timesheets- Get timesheetstanda_approve_shift- Approve shifttanda_approve_timesheet- Approve timesheet
Leave Management
tanda_get_leave_requests- Get leave requeststanda_create_leave_request- Create leave requesttanda_approve_leave- Approve leavetanda_decline_leave- Decline leavetanda_delete_leave_request- Delete leave requesttanda_get_leave_balances- Get leave balancestanda_get_leave_types- Get available leave types (v3.0)tanda_calculate_leave_hours- Calculate leave duration (v3.0)
Unavailability
tanda_get_unavailability- Get unavailability recordstanda_create_unavailability- Create unavailabilitytanda_delete_unavailability- Delete unavailability
Supervisor Scheduling Optimization (v3.1)
tanda_detect_supervisor_overlaps- Detect schedule overlaps for supervisorstanda_analyze_evening_coverage- Analyze evening coverage across all locationstanda_get_placement_recommendations- Get strategic placement recommendationstanda_optimize_supervisor_schedules- Run full scheduling optimizationtanda_validate_supervisor_schedules- Validate proposed schedules for conflictstanda_create_optimized_schedules- Create multiple schedules in bulk with validation
Organization
tanda_get_departments- List departmentstanda_get_locations- List locationstanda_get_teams- List teamstanda_get_staff_by_department- Get staff in department
Costs & Statistics
tanda_get_roster_costs- Get labor coststanda_get_award_interpretation- Get pay calculationstanda_get_daily_stats- Get daily workforce statistics
Available Prompts (6)
Prompt | Description |
| Get schedule overview for a date range |
| Check team availability for a date |
| Real-time workforce dashboard (v3.0) |
| Check break and hour compliance (v3.0) |
| Guided onboarding workflow (v3.0) |
| Leave balance and planning (v3.0) |
Read-only Mode (v3.0)
Enable read-only mode to restrict the server to read operations only:
When enabled:
Write tools are hidden from the tools list
Attempts to execute write tools return an error
Useful for dashboards and reporting integrations
Docker Deployment
Development
Project Structure
Documentation
See DEPLOYMENT.md for comprehensive deployment instructions including:
OAuth setup with Tanda
Cloud deployment guides (AWS, GCP, Railway)
Testing procedures
Troubleshooting
Changelog
v3.1.0
NEW: Supervisor Scheduling Optimization module
tanda_detect_supervisor_overlaps- Detect double-bookings and schedule conflictstanda_analyze_evening_coverage- Analyze evening visibility at all schoolstanda_get_placement_recommendations- AI-powered strategic placement suggestionstanda_optimize_supervisor_schedules- Full optimization with coverage gap analysistanda_validate_supervisor_schedules- Validate schedules before creationtanda_create_optimized_schedules- Bulk schedule creation with validation
NEW: 44 total tools (6 new supervisor optimization tools)
Strategic supervisor placement across schools without overlaps
Evening coverage optimization (17:00-22:00)
Intelligent recommendations based on supervisor availability
v3.0.0
NEW: Real-time attendance tools (active shifts, clocked-in users, shift breaks, shift limits)
NEW: Roster period management (current roster, roster by date)
NEW: Staff management (inactive users, bulk onboarding, user invitations)
NEW: Leave enhancements (leave types, leave hours calculator)
NEW: 4 workflow prompts (workforce_dashboard, compliance_check, onboard_employee, leave_planner)
NEW: Read-only mode (
MCP_READ_ONLY_MODE=true)NEW: 38 total tools (13 new tools added)
Inspired by Monday.com MCP server architecture
v2.0.1
BREAKING: Removed clock in/out tools - require
deviceOAuth scope not supported by Workforce.comBREAKING: Removed qualifications tools - require
qualificationsOAuth scope not supported by Workforce.comAdded Fit-Gap Analysis documentation
v2.0.0
Added OAuth Protected Resource Metadata (RFC 9728) for Claude.ai compatibility
Added delete leave request tool for complete CRUD operations
Improved SSE connection stability with 1-hour idle timeout
Updated API endpoints to match Tanda/Workforce.com documentation
v1.0.0
Initial release with 25+ workforce management tools
OAuth2 with PKCE support
Dynamic Client Registration (RFC 7591)
SSE real-time transport for MCP
Docker support
License
MIT License - see LICENSE file
Author
hakeemrabiuDFW
Acknowledgments
Inspired by Monday.com MCP Server
Built with Model Context Protocol