Tanda Workforce

Provides an MCP server that exposes Tanda Workforce data via OAuth2, SSE transport, and JSON-RPC 2.0 for practical workforce management actions.
  • typescript

0

GitHub Stars

typescript

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

This MCP server provides a production-ready bridge between the Tanda Workforce API and AI assistants, enabling secure OAuth2 authentication, real-time communication, and a rich set of workforce management capabilities. It supports Claude AI flows and Claude Desktop, with robust deployment options and strict session handling to keep your data safe while you scale.

How to use

Connect your MCP client to the server using either the HTTP-based remote endpoint or the local STDIO pathway. The server exposes a real-time transport channel via Server-Sent Events (SSE) and implements full JSON-RPC 2.0 compatible endpoints to perform workforce actions such as managing users, schedules, timesheets, leave, clock-in/out, and more.

Claude.ai integration follows the standard OAuth 2.0 flow with Dynamic Client Registration. You will register your MCP server URL, complete the PKCE flow, and establish a long‑lived session to receive real-time updates over SSE at the /mcp endpoint. Claude Desktop can use a JWT token instead of the full OAuth flow by placing the token in the configured headers. Use the provided MCP URL and follow the authentication steps to obtain a valid token or session.

How to install

Prerequisites: Node.js installed (recommended LTS), npm, and a supported runtime environment. If you prefer containerized deployment, Docker and docker-compose are also supported.

Step-by-step commands to set up locally (code blocks below show the exact commands you should run):

# 1) Clone the MCP server repository
git clone https://github.com/hakeemrabiuDFW/Tanda-Workforce-MCP-Server.git
cd Tanda-Workforce-MCP-Server

# 2) Install dependencies
npm install

# 3) Configure environment
cp .env.example .env
# Edit .env with your Tanda OAuth credentials

# Required environment variables:
# TANDA_CLIENT_ID, TANDA_CLIENT_SECRET, TANDA_REDIRECT_URI,
# SESSION_SECRET, JWT_SECRET
# 4) Run in development mode
npm run dev

# 5) Build for production and start
npm run build
npm start
# 6) Docker deployment (recommended for production)
docker-compose up -d --build

Configuration and security notes

Configure your OAuth credentials and session keys securely. The server expects your OAuth client details and callback URL to be set in environment variables. Use strong, random strings for SESSION_SECRET and JWT_SECRET. For production, consider a shared session store (for example Redis) if you run multiple server instances.

Environment variables you must provide:

  • TANDA_CLIENT_ID
  • TANDA_CLIENT_SECRET
  • TANDA_REDIRECT_URI
  • SESSION_SECRET
  • JWT_SECRET

Connecting via Claude and tokens

Claude.ai connects using OAuth 2.0 with Dynamic Client Registration. The MCP server URL is the primary endpoint you provide to Claude AI for discovery and registration. The flow includes discovering endpoints, registering, authorizing with PKCE, exchanging the code for a token, and then connecting via SSE at the /mcp path.

Claude Desktop uses a JWT token placed in the MCP server configuration. You can insert the token into the config under the mcpServers.tanda-workforce.headers.Authorization field to enable seamless access.

Notes on deployment and scale

Sessions are stored in memory by default. For production deployments with multiple instances, implement a shared session store such as Redis to ensure consistent authentication state across instances.

Available tools

tanda_get_current_user

Get the current authenticated user profile

tanda_get_users

List all employees

tanda_get_user

Get details for a specific user

tanda_get_schedules

Retrieve scheduled shifts

tanda_create_schedule

Create a new shift

tanda_update_schedule

Update an existing shift

tanda_delete_schedule

Delete a shift

tanda_publish_schedules

Publish schedules

tanda_get_shifts

Get worked shifts from timesheets

tanda_get_timesheets

Retrieve timesheets for employees

tanda_approve_shift

Approve a shift for timesheet validation

tanda_approve_timesheet

Approve a timesheet

tanda_get_leave_requests

Get leave requests

tanda_create_leave_request

Create a leave request

tanda_approve_leave

Approve a leave request

tanda_decline_leave

Decline a leave request

tanda_get_leave_balances

Check leave balances

tanda_clock_in

Clock in/out actions

tanda_get_clock_ins

Retrieve clock-in records

tanda_get_departments

List departments

tanda_get_locations

List locations

tanda_get_qualifications

List qualifications

tanda_get_user_qualifications

Get user qualifications

tanda_get_roster_costs

Get labor costs

tanda_get_award_interpretation

Get pay calculations

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational