io.github.chrischall/workday-mcp

السجل الرسمي الذكاء الاصطناعي والوكلاء

Read-only Workday for Claude — fetch tasks, pay, benefits via your signed-in session

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

NPM package workday-mcp
Claude Code
claude mcp add workday-mcp -e 'WORKDAY_TENANT=<WORKDAY_TENANT>' -e 'WORKDAY_HOST=<WORKDAY_HOST>' -e 'WORKDAY_WS_PORT=<WORKDAY_WS_PORT>' -e 'WORKDAY_DEBUG=<WORKDAY_DEBUG>' -- npx -y workday-mcp@1.2.0
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "workday-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "workday-mcp@1.2.0"
            ],
            "env": {
                "WORKDAY_TENANT": "<WORKDAY_TENANT>",
                "WORKDAY_HOST": "<WORKDAY_HOST>",
                "WORKDAY_WS_PORT": "<WORKDAY_WS_PORT>",
                "WORKDAY_DEBUG": "<WORKDAY_DEBUG>"
            }
        }
    }
}

متغيرات البيئة

  • WORKDAY_TENANT إلزامي Workday tenant slug, e.g. `acme` for https://wd5.myworkday.com/acme.
  • WORKDAY_HOST Workday data-center host (default wd5.myworkday.com).
  • WORKDAY_WS_PORT Override the fetchproxy WebSocket port (default 37149).
  • WORKDAY_DEBUG Set to 1 to log verbose request detail to stderr.

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. workday-mcp
  2. Why a bridge instead of the official API?
  3. Install
  4. Tools
  5. Development

workday-mcp

Read-only MCP server for Workday. Reads your Workday org chart, worker profiles, pay, benefits, performance, and any task or data card, and returns them as structured JSON. Every request routes through your own signed-in *.myworkday.com tab via the ContextMint Bridge browser extension, reusing your existing SSO-authenticated session.

⚠️ Workday gives employees no personal API. This server reads the same internal *.htmld endpoints the Workday web app calls, dispatched through your own signed-in browser tab. It is read-only and touches only your own data. Check your employer's acceptable-use policy. Use at your own discretion.

🤖 This project was developed and is maintained by AI (Claude Code).

Why a bridge instead of the official API?

The official Workday REST/SOAP API requires a tenant administrator to register an OAuth API client + Integration System User — an employee can't self-provision it. Tenants also sit behind corporate SSO (Ping/Okta/Entra) with MFA, so there's no server-side login. The only surface an employee can reach for their own data is their live browser session, which is what this server relays.

Install

See SKILL.md for full setup. In brief:

{
  "mcpServers": {
    "workday": {
      "command": "npx",
      "args": ["-y", "workday-mcp"],
      "env": { "WORKDAY_TENANT": "your-tenant-slug" }
    }
  }
}

Then install ContextMint Bridge from its releases page (Chrome: unzip the chrome zip and load it unpacked in chrome://extensions; Safari is not available yet — it will ship inside the ContextMint app, which has no public download link, so use Chrome for now) and sign into Workday in your browser.

ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README points to it. Its source is public at https://github.com/nullnet-app/contextmint-bridge: build it yourself, or check a release zip against the .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256).

Tools

ToolWhat it does
workday_get_appsList your Workday apps with launchable task ids — the discovery entry point
workday_open_appOpen an app by name ("Talent and Performance", "Absence") and follow it down to the child cards holding its real content
workday_get_taskRead any task/data card by id or path → fields, full table rows, references, related tasks, export links. expand: true crawls hub pages
workday_get_org_chartYour reporting chain — each person with title, location, report count, and a profileUri to drill into
workday_get_workerA worker's profile: the catalog of everything readable about them (9 sections, ~40 named tasks)
workday_get_worker_taskOpen one named item from that catalog — "Compensation", "Performance Reviews", "Management Chain"
workday_get_my_profileThe same catalog, for yourself
workday_fetchRaw .htmld read with secrets redacted — the escape hatch for pages the parser doesn't model yet
workday_graphqlRead-only GraphQL against Workday's PEX surface (mutations refused). The only route to Inbox / search
workday_healthcheckVerify the bridge + session end-to-end with an actionable hint

The parser understands seven Workday page families — data cards, grids (real tables, with chunking and export links), form-style detail pages, worker profiles, org charts, app hubs, and report prompt forms — and labels each page with its kind. See docs/WORKDAY-API.md.

Manager quick start
workday_get_org_chart                                   → who reports where, with profileUris
workday_get_worker         { worker: "<profileUri>" }   → that person's full catalog
workday_get_worker_task    { worker: "…", task: "Compensation" }
workday_open_app           { app: "talent" }            → a whole app hub, crawled

All ids are discovered at runtime from your own app menu and org chart — nothing tenant-specific is hardcoded, so this works on any Workday tenant.

Development

npm install
npm test          # vitest
npm run build     # tsc --noEmit + esbuild bundle → dist/bundle.js

The widget-tree parser (src/parse.ts) is the durable core; see docs/WORKDAY-API.md for the captured endpoint shapes and schema. License: MIT.

الأسئلة الشائعة

ما هو io.github.chrischall/workday-mcp؟

Read-only Workday for Claude — fetch tasks, pay, benefits via your signed-in session

كيف أثبّت io.github.chrischall/workday-mcp؟

يعمل على جهازك. في Claude Code: claude mcp add workday-mcp -e 'WORKDAY_TENANT=<WORKDAY_TENANT>' -e 'WORKDAY_HOST=<WORKDAY_HOST>' -e 'WORKDAY_WS_PORT=<WORKDAY_WS_PORT>' -e 'WORKDAY_DEBUG=<WORKDAY_DEBUG>' -- npx -y workday-mcp@1.2.0. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج io.github.chrischall/workday-mcp إلى مفتاح API؟

نعم. يتطلب WORKDAY_TENANT، وتضبطها في إعداداته.

هل io.github.chrischall/workday-mcp مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون io.github.chrischall/workday-mcp؟

ينشره chrischall. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.