npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@mindstone/mcp-server-workday

v0.3.1

Published

Workday HCM MCP server for Model Context Protocol hosts — workers, profiles, organizations

Readme

@mindstone/mcp-server-workday

npm version License: FSL-1.1-MIT

Workday HCM MCP server for Model Context Protocol hosts. Query workers, profiles, direct reports, organizations, locations, jobs, time off, and job requisitions in Workday through a standardised MCP interface using OAuth 2.0 authentication.

Status

Requirements

  • Node.js 20+
  • npm

One-click install

Add to Cursor Add to VS Code Add to VS Code Insiders

After clicking the button, your host will prompt you to fill: WORKDAY_HOST, WORKDAY_TENANT, WORKDAY_CLIENT_ID, WORKDAY_CLIENT_SECRET, WORKDAY_REFRESH_TOKEN.

{
  "mcpServers": {
    "Workday": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-workday"
      ],
      "env": {
        "WORKDAY_HOST": "",
        "WORKDAY_TENANT": "",
        "WORKDAY_CLIENT_ID": "",
        "WORKDAY_CLIENT_SECRET": "",
        "WORKDAY_REFRESH_TOKEN": ""
      }
    }
  }
}

Quick Start

Install & build

cd <path-to-repo>/connectors/workday
npm install
npm run build

npx (once published)

npx -y @mindstone/mcp-server-workday

Local

node dist/index.js

Configuration

Environment variables

  • WORKDAY_HOST — Workday API host (e.g. wd5-impl-services1.workday.com)
  • WORKDAY_TENANT — Workday tenant ID
  • WORKDAY_CLIENT_ID — OAuth 2.0 client ID
  • WORKDAY_CLIENT_SECRET — OAuth 2.0 client secret
  • WORKDAY_REFRESH_TOKEN — optional OAuth 2.0 refresh token (enables the refresh_token grant; without it the client_credentials grant is used)
  • WORKDAY_RECRUITING_API_VERSION — optional override for the recruiting REST family version (default v41.2; Workday versions this API by platform release, so tenants on a different release may need e.g. v42.1)
  • MCP_HOST_BRIDGE_STATE — optional path to a host bridge state file used for credential management
  • MINDSTONE_REBEL_BRIDGE_STATE — backwards-compatible alias for MCP_HOST_BRIDGE_STATE

Host configuration examples

Claude Desktop / Cursor

{
  "mcpServers": {
    "Workday": {
      "command": "npx",
      "args": ["-y", "@mindstone/mcp-server-workday"],
      "env": {
        "WORKDAY_HOST": "wd5-impl-services1.workday.com",
        "WORKDAY_TENANT": "your-tenant",
        "WORKDAY_CLIENT_ID": "your-client-id",
        "WORKDAY_CLIENT_SECRET": "your-client-secret",
        "WORKDAY_REFRESH_TOKEN": "your-refresh-token"
      }
    }
  }
}

Local development (no npm publish needed)

{
  "mcpServers": {
    "Workday": {
      "command": "node",
      "args": ["<path-to-repo>/connectors/workday/dist/index.js"],
      "env": {
        "WORKDAY_HOST": "wd5-impl-services1.workday.com",
        "WORKDAY_TENANT": "your-tenant",
        "WORKDAY_CLIENT_ID": "your-client-id",
        "WORKDAY_CLIENT_SECRET": "your-client-secret",
        "WORKDAY_REFRESH_TOKEN": "your-refresh-token"
      }
    }
  }
}

Tools (9)

Configuration

  • configure_workday_credentials — Configure Workday OAuth API credentials

Workers

  • list_workday_workers — List or search workers (employees and contingent workers)
  • get_workday_worker — Get a worker's full profile by ID
  • list_workday_direct_reports — List a worker's direct reports (one level of the org chart)

Organizations

  • list_workday_organizations — List organizations (departments, supervisory orgs, cost centers)
  • list_workday_locations — List work locations (offices, sites)

Time off

  • list_workday_time_off — List a worker's time-off entries (requires the ISU to have Absence Management domain access)

Recruiting

  • list_workday_job_requisitions — List job requisitions / open roles (requires Recruiting domain access; see WORKDAY_RECRUITING_API_VERSION if your tenant 404s)

Jobs

  • list_workday_jobs — List worker job assignments (position, title, location, organization)

Notes

  • Search is client-side. Workday's /workers collection documents only limit/offset, so list_workday_workers' search argument pages through workers and filters locally (case-insensitive match on name, email, title), scanning at most 1000 workers. On larger tenants, use a specific term.
  • Field allowlisting. Every tool trims Workday's responses to an allowlisted set of fields (and deep-picks nested references to ID + name), so free-text fields such as time-off comments, requisition descriptions, and street addresses never reach the model.
  • Untrusted-content envelopes. Every allowlisted string returned from Workday (names, titles, emails, statuses, dates — including values that arrive in an unexpected shape) is wrapped in <untrusted-content source="workday"> envelopes so the model treats them as data, not instructions; keys inside vendor-shaped sub-objects are enveloped too. id and href stay raw so they can be passed back into later tool calls.
  • Strict pagination. limit must be an integer 1-100 and offset a non-negative integer; out-of-range or fractional values are rejected rather than silently clamped. worker_id arguments must be non-blank.
  • Bounded errors & no redirect following. API and token errors return connector-authored messages (never raw vendor error bodies), and HTTP redirects are refused rather than followed, so credentials can never be replayed to a redirect target. The configured host is validated against loopback/private ranges (including non-canonical IP spellings and IPv6 forms) and re-resolved via DNS before credentials are sent.
  • ISU security domains. Workday gates each REST family behind Integration System User domain permissions; a 403 from list_workday_time_off, list_workday_job_requisitions, or list_workday_jobs means the ISU's security group needs the corresponding domain (Absence Management, Recruiting, Payroll).

Licence

FSL-1.1-MIT — Functional Source License, Version 1.1, with MIT future licence. The software converts to MIT licence on 2030-04-08.