USB Workday Agent
MCP integration for Workday automation.
Overview
This project provides an MCP (Model Context Protocol) server for automating Workday operations. It leverages the FastMCP framework to expose tools and resources for Workday integration.
Prerequisites
- Python 3.10 or higher
- a virtual environment
- MCP-compatible client (e.g., Claude Desktop, Bob)
Installation
Create a new virtual environment:
# Create virtual environment
python -m venv venv
# Activate virtual environment
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e .
Development
Install Development Dependencies
pip install -e ".[dev]"
Code Formatting
# Format code with black
black .
# Lint with ruff
ruff check .
Testing
pytest
Project Structure
usb-workday-agent/
├── README.md
├── pyproject.toml
├── setup.py
└── (source files to be added)
Dependencies
- mcp (>=0.9.0): Model Context Protocol core library
- fastmcp (>=3.0.0): FastMCP framework for building MCP servers
Running the MCP Server
Start the Server
# Activate the wxO-nit virtual environment
source ../wxO-nit/bin/activate
# Run the server directly
python3 server.py
# Or use the installed command (after pip install -e .)
usb-workday-agent
MCP Client Configuration
Add to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"usb-workday-agent": {
"command": "python3",
"args": [".../usb-workday-agent/server.py"],
"env": {
"PYTHONPATH": ".../lib/python3.10/site-packages"
}
}
}
}
Available Tools
The server provides the following tools for watsonx Orchestrate:
- get_employee_daily_hours: Get an employee's office wifi and VPN hours for a specific date
- get_employee_session_details: Get detailed session information for an employee
- get_employee_weekly_summary: Get an employee's weekly attendance summary
- get_team_attendance_stats: Get attendance statistics for a manager's team
- query_individual_time: Query data from individual employee office time logs
Available Resources
- workday://config: Get Workday configuration details
- workday://status: Check connection status to Workday
Configuration
Workday API credentials and configuration should be set via environment variables:
export WORKDAY_TENANT="your-tenant"
export WORKDAY_USERNAME="your-username"
export WORKDAY_PASSWORD="your-password"
export WORKDAY_API_VERSION="v1"
License
MIT License
Author
Amanda Winkles
Metadata
Release files for usb-workday-agent 1.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| usb_workday_agent-1.1.6.tar.gz | 25.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| usb_workday_agent-1.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.9 kB
Release files / usb_workday_agent-1.1.6.tar.gz
| Download URL | usb_workday_agent-1.1.6.tar.gz |
|---|---|
| Size | 25.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
885089ae45226c793514d63a568b3d8826d255227ea28161326722918dd6bfe0
|
|
BLAKE2b-256 checksum How to use checksums |
78a3583e75039a318060b314f67a9bd039f3b8486d31798bc35c7c30e0be7a83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / usb_workday_agent-1.1.6-py3-none-any.whl
| Download URL | usb_workday_agent-1.1.6-py3-none-any.whl |
|---|---|
| Size | 14.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2bdc3fbc51faf90551ededd947c702ce7ec55c9e5242612a209e6031d5c7d4f4
|
|
BLAKE2b-256 checksum How to use checksums |
eefb1de59700db971d2985c1d981784680ec7f7ef3ec79ba8f200c42aa628d4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Security for usb-workday-agent 1.1.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.