Tanda Workforce MCP Server
A production-ready MCP (Model Context Protocol) server for integrating Tanda Workforce API with AI assistants like Claude. Features OAuth2 authentication and comprehensive workforce management tools.
Features
OAuth2 Authentication - Secure authentication flow with Tanda
MCP Protocol Support - Full JSON-RPC 2.0 implementation
25+ Workforce Tools - Users, schedules, timesheets, leave, clock-in/out, and more
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.,http://localhost:3000/auth/callback)SESSION_SECRET- Random 32+ character stringJWT_SECRET- Random 32+ character string
3. Run
Adding to Claude
Claude Desktop Configuration
Add to your Claude config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Getting a JWT Token
Navigate to
https://your-server.com/auth/loginAuthenticate with your Tanda account
Copy the returned JWT token
API Endpoints
Endpoint | Method | Description |
| GET | Server info |
| GET | Health check |
| GET | API documentation |
| GET | Start OAuth flow |
| GET | OAuth callback |
| POST | Exchange code for token |
| POST | MCP protocol endpoint |
Available Tools
User Management
tanda_get_current_user- Get current user profiletanda_get_users- List all employeestanda_get_user- Get specific user details
Scheduling
tanda_get_schedules- Get scheduled shiftstanda_create_schedule- Create new shifttanda_update_schedule- Update shifttanda_delete_schedule- Delete shifttanda_publish_schedules- Publish schedules
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_get_leave_balances- Get leave balances
Clock In/Out
tanda_clock_in- Clock operationstanda_get_clock_ins- Get clock records
Organization
tanda_get_departments- List departmentstanda_get_locations- List locationstanda_get_qualifications- List qualifications
Costs & Awards
tanda_get_roster_costs- Get labor coststanda_get_award_interpretation- Get pay calculations
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
License
MIT License - see LICENSE file
Author
hakeemrabiuDFW