Workday Reference
БесплатноНе проверенA vendor-neutral reference implementation of a Workday MCP server that enables integration with Workday for employee data, compensation, benefits, time off, org
Описание
A vendor-neutral reference implementation of a Workday MCP server that enables integration with Workday for employee data, compensation, benefits, time off, org info, inbox tasks, admin operations, and headcount management through natural language.
README
A vendor-neutral, clean-room reference implementation of a Workday MCP server. It reproduces the architecture of a production Workday Model Context Protocol server — OAuth broker, opaque session tokens with silent refresh, a REST + SOAP Workday client, regex SOAP parsing, text/HTML formatters, and per-tool gating — without any company-specific data. Use it as a starting point for your own Workday MCP integration.
Stack
- Python 3.11+, modern typing, absolute imports.
- MCP: official mcp SDK
FastMCP, streamable-HTTP transport. - HTTP:
requests(sharedSession+ retry on idempotent verbs only). - Logging: stdlib
logging. Metrics: a no-opMetricsprotocol (inject your own). - Tracing: optional OpenTelemetry, gated on
OTEL_EXPORTER_OTLP_ENDPOINT. - Config:
os.environ+python-dotenv.
Quick start
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]" # add ,otel,redis as needed
cp .env.example .env # fill in your tenant + OAuth client
workday-mcp-reference # serves streamable-HTTP on :8000/mcp
How auth works
- An MCP client calls
/mcpwith no valid bearer → the server returns401+WWW-Authenticatepointing at/.well-known/oauth-protected-resource. - The client discovers the authorization server (RFC 8414), optionally registers
(RFC 7591), then opens
/authorize→ the server 302s the user to Workday. - Workday redirects to
/callback?code=…; the server exchanges the code, resolves the user email, stores the Workday tokens under an opaque UUID, and returns that UUID. The client uses the UUID as its bearer thereafter. - Each tool call resolves the live Workday token from the store, refreshing silently when it is within 5 minutes of expiry.
Layout
src/workday_mcp_reference/
config.py environment-driven configuration
metrics.py Metrics protocol + NoopMetrics
server.py FastMCP + Bearer gate + OAuth/health routes + main()
auth/
token_store.py opaque-id → Workday tokens, silent refresh
oauth.py authorize/callback broker + discovery metadata
workday/
client.py WorkdayClient (REST + SOAP), uniform envelope
parsers.py regex SOAP parsing (no lxml)
formatters.py text + optional HTML artifacts
tools/
__init__.py register_all + get_client/resolve_me_wid helpers
me.py exemplar tool module (workday_me)
pay.py compensation + one-time payment (REST + SOAP)
benefits.py enrollments, elections, total rewards
time.py time off: scheduled, balance, eligible types, request
org.py manager, reports, org chart, search, lookup
inbox.py inbox tasks: list, approve, deny
admin.py job profiles, pay groups, hire steps, BP status
headcount.py open positions, approvals, position detail (RaaS/WQL)
The eight category tools each take an action argument and dispatch to one
implementation — mirroring how a production server keeps the MCP tool surface
small. headcount.py depends on tenant-specific RaaS reports and WQL fields, so
its report names and field mappings are driven entirely by env config (see
.env.example); the other modules use standard Workday REST/SOAP APIs.
Adding a tool module
Copy tools/me.py. Expose def register(mcp: FastMCP) -> None, define your
@mcp.tool() functions inside it, and call get_client() / resolve_me_wid(client)
— never read tokens directly. Add your module name to _TOOL_MODULES in
tools/__init__.py.
Установка Workday Reference
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/krishnagutta/workday-mcp-referenceFAQ
Workday Reference MCP бесплатный?
Да, Workday Reference MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Workday Reference?
Нет, Workday Reference работает без API-ключей и переменных окружения.
Workday Reference — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Workday Reference в Claude Desktop, Claude Code или Cursor?
Открой Workday Reference на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Gmail
Read, send and search emails from Claude
автор: GoogleSlack
Send, search and summarize Slack messages
автор: SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Workday Reference with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории communication
