@workday/canvas-kit-mcp 14.2.0-0050-next.0 → 14.2.0-0055-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -34,6 +34,12 @@ You will need to check how to install MCP servers, but the config will look some
34
34
  }
35
35
  ```
36
36
 
37
+ ## Integrate MCP with Claude Code
38
+
39
+ ```sh
40
+ claude mcp add --scope project --transport stdio canvas-kit -- npx -y @workday/canvas-kit-mcp
41
+ ```
42
+
37
43
  ## Contributing
38
44
 
39
45
  Canvas Kit MCP is has two exports.
package/dist/cli.js CHANGED
@@ -11,7 +11,7 @@ import { fileURLToPath } from "node:url";
11
11
  // package.json
12
12
  var package_default = {
13
13
  name: "@workday/canvas-kit-mcp",
14
- version: "14.1.27",
14
+ version: "14.1.28",
15
15
  description: "MCP package for Canvas Kit",
16
16
  author: "Workday, Inc. (https://www.workday.com)",
17
17
  license: "Apache-2.0",
@@ -69,11 +69,24 @@ var package_default = {
69
69
  // lib/config.json
70
70
  var config_default = {
71
71
  upgradeGuideFiles: [
72
+ "upgrade-guides/9.0-UPGRADE-GUIDE.md",
73
+ "upgrade-guides/10.0-UPGRADE-GUIDE.md",
74
+ "upgrade-guides/11.0-UPGRADE-GUIDE.md",
72
75
  "upgrade-guides/12.0-UPGRADE-GUIDE.md",
73
76
  "upgrade-guides/13.0-UPGRADE-GUIDE.md",
74
77
  "upgrade-guides/14.0-UPGRADE-GUIDE.md",
75
- "llm-txt/llm-token-migration-14.txt",
76
- "llm-txt/llm-style-props-migration.txt"
78
+ "llm-token-migration-14.txt",
79
+ "llm-style-props-migration.txt",
80
+ "theming.md"
81
+ ],
82
+ tokenFiles: [
83
+ "tokens/token-migration.md",
84
+ "tokens/color-palette.md",
85
+ "tokens/color-tokens.md",
86
+ "tokens/color-contrast.md",
87
+ "tokens/color-roles.md",
88
+ "tokens/color-scale.md",
89
+ "llm-token-migration-14.txt"
77
90
  ]
78
91
  };
79
92
 
@@ -98,6 +111,54 @@ function getServer() {
98
111
  );
99
112
  function getUpgradeGuideResource(fileName) {
100
113
  switch (fileName) {
114
+ case "upgrade-guides/9.0-UPGRADE-GUIDE.md":
115
+ return {
116
+ title: "Canvas Kit 9.0 Upgrade Guide",
117
+ description: `# Canvas Kit 9.0 Upgrade Guide
118
+ This guide contains an overview of the changes in Canvas Kit v9.
119
+
120
+ In this release, we:
121
+ - introduced new Table component
122
+ - removed Drawer, Layout, Column, Stack, HStack, and VStack components
123
+ - removed focusRing and composeModelHooks utilities
124
+ - updated Button, Toast, and Collection components
125
+ - added depth token updates`,
126
+ mimeType: "text/markdown",
127
+ uri: "docs://upgrade-guides/9.0-UPGRADE-GUIDE",
128
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
129
+ };
130
+ case "upgrade-guides/10.0-UPGRADE-GUIDE.md":
131
+ return {
132
+ title: "Canvas Kit 10.0 Upgrade Guide",
133
+ description: `# Canvas Kit 10.0 Upgrade Guide
134
+ This guide contains an overview of the changes in Canvas Kit v10.
135
+
136
+ In this release, we:
137
+ - introduced new styling package @workday/canvas-kit-styling
138
+ - removed CSS packages and useBanner
139
+ - deprecated Input Icon Container, Select Preview, Space Numbers, and Table
140
+ - updated space and depth tokens
141
+ - updated Button, Popups, and Select components`,
142
+ mimeType: "text/markdown",
143
+ uri: "docs://upgrade-guides/10.0-UPGRADE-GUIDE",
144
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
145
+ };
146
+ case "upgrade-guides/11.0-UPGRADE-GUIDE.md":
147
+ return {
148
+ title: "Canvas Kit 11.0 Upgrade Guide",
149
+ description: `# Canvas Kit 11.0 Upgrade Guide
150
+ This guide contains an overview of the changes in Canvas Kit v11.
151
+
152
+ In this release, we:
153
+ - transitioned to new CSS variable-based styling approach
154
+ - introduced Canvas Tokens Web package for semantic tokens
155
+ - introduced new styling API for component styling
156
+ - deprecated Form Field Main, Label Text, Text Area Preview, Text Input Preview
157
+ - updated components to use CSS tokens`,
158
+ mimeType: "text/markdown",
159
+ uri: "docs://upgrade-guides/11.0-UPGRADE-GUIDE",
160
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
161
+ };
101
162
  case "upgrade-guides/12.0-UPGRADE-GUIDE.md":
102
163
  return {
103
164
  title: "Canvas Kit 12.0 Upgrade Guide",
@@ -124,24 +185,24 @@ In this release, we:
124
185
  uri: "docs://upgrade-guides/13.0-UPGRADE-GUIDE",
125
186
  contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
126
187
  };
127
- case "llm-txt/llm-token-migration-14.txt":
188
+ case "llm-token-migration-14.txt":
128
189
  return {
129
190
  title: "Canvas Kit Token Migration Guide",
130
191
  description: `# Canvas Kit Token Migration Guide
131
192
  Guide for migrating from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web.
132
193
  This migration enables better theming capabilities, improved performance, and a more standardized approach to styling.`,
133
194
  mimeType: "text/plain",
134
- uri: "docs://llm-txt/llm-token-migration-14",
195
+ uri: "docs://llm/llm-token-migration-14",
135
196
  contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
136
197
  };
137
- case "llm-txt/llm-style-props-migration.txt":
198
+ case "llm-style-props-migration.txt":
138
199
  return {
139
200
  title: "Canvas Kit Style Props Migration Guide",
140
201
  description: `# Canvas Kit Style Props Migration Guide
141
202
  Guide for migrating from Emotion's style props to @workday/canvas-kit-styling.
142
203
  This migration improves performance, consistency, and maintainability by moving away from runtime styling to static CSS compilation.`,
143
204
  mimeType: "text/plain",
144
- uri: "docs://llm-txt/llm-style-props-migration",
205
+ uri: "docs://llm/llm-style-props-migration",
145
206
  contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
146
207
  };
147
208
  case "upgrade-guides/14.0-UPGRADE-GUIDE.md":
@@ -158,6 +219,25 @@ In this release, we:
158
219
  uri: "docs://upgrade-guides/14.0-UPGRADE-GUIDE",
159
220
  contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
160
221
  };
222
+ case "theming.md":
223
+ return {
224
+ title: "Canvas Kit Theming Guide",
225
+ description: `# Canvas Kit Theming Guide
226
+ Comprehensive guide for theming Canvas Kit applications in v14.
227
+
228
+ Covers:
229
+ - Global theming with CSS variables at :root level (recommended approach)
230
+ - Scoped theming with CanvasProvider for specific sections
231
+ - CSS token structure: base tokens, brand tokens, and system tokens
232
+ - Dark mode implementation
233
+ - RTL support with CSS logical properties
234
+ - Migration from JavaScript theme objects to CSS variables
235
+ - Theming modals, dialogs, and popups
236
+ - Best practices for semantic token usage and accessibility`,
237
+ mimeType: "text/markdown",
238
+ uri: "docs://llm/theming",
239
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
240
+ };
161
241
  default:
162
242
  throw new Error(`${fileName} is not a valid resource`);
163
243
  }
@@ -232,6 +312,190 @@ In this release, we:
232
312
  };
233
313
  }
234
314
  );
315
+ function getTokenResource(fileName) {
316
+ switch (fileName) {
317
+ case "tokens/token-migration.md":
318
+ return {
319
+ title: "Canvas Kit Token Migration v2 to v3",
320
+ description: `# Design Token Migration: v2 to v3
321
+ Comprehensive mapping of deprecated tokens to new values. Includes:
322
+ - Old fruit-named palette tokens (cinnamon, cantaloupe, blueberry, etc.) mapped to new color family names (red, amber, blue, etc.)
323
+ - System token replacements for semantic color usage (sys.color.bg.*, sys.color.fg.*, sys.color.border.*)
324
+ - Migration phases: Assessment, Replacement, Testing, Documentation
325
+ - Accessibility considerations for OKLCH color space changes`,
326
+ mimeType: "text/markdown",
327
+ uri: "docs://tokens/token-migration",
328
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
329
+ };
330
+ case "tokens/color-palette.md":
331
+ return {
332
+ title: "Canvas Kit Color Palette",
333
+ description: `# Canvas Kit Color Palette
334
+ Overview of Workday's shared color palette. Includes:
335
+ - Global palette with 11 colors and 2 neutrals (Slate, Neutral), each with 13 shades
336
+ - OKLCH color space for perceptual balance
337
+ - Accent colors, neutral colors, and alpha colors guidance
338
+ - Token hierarchy: Base tokens (raw values), Brand tokens (tenant theming), System tokens (semantic roles)
339
+ - Color roles mapping (primary, positive, caution, critical, etc.)`,
340
+ mimeType: "text/markdown",
341
+ uri: "docs://tokens/color-palette",
342
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
343
+ };
344
+ case "tokens/color-tokens.md":
345
+ return {
346
+ title: "Canvas Kit Color Tokens",
347
+ description: `# Canvas Kit Color Tokens
348
+ Design tokens naming system and usage guide. Includes:
349
+ - Token naming pattern: [property].[role].[modifier]
350
+ - Properties: bg, fg, text, border, icon, shadow, static
351
+ - Roles: default, primary, positive, critical, caution, info, alt, muted, contrast, ai, focus, disabled, inverse, hint, input, container, divider, transparent, translucent, overlay
352
+ - Modifiers: softest, softer, soft, default, strong, stronger, strongest
353
+ - Theming and platform adaptation guidance`,
354
+ mimeType: "text/markdown",
355
+ uri: "docs://tokens/color-tokens",
356
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
357
+ };
358
+ case "tokens/color-contrast.md":
359
+ return {
360
+ title: "Canvas Kit Color Contrast",
361
+ description: `# Canvas Kit Color Contrast
362
+ Accessibility contrast guidelines for color pairings. Includes:
363
+ - WCAG 2.1 compliance requirements (4.5:1 for text, 3:1 for non-text, 7:1 for AAA)
364
+ - Step difference framework: 500+ for AA text, 400+ for AA non-text, 700+ for AAA
365
+ - Practical contrast tables for background/foreground combinations
366
+ - High contrast (7:1+) guidelines for low vision support`,
367
+ mimeType: "text/markdown",
368
+ uri: "docs://tokens/color-contrast",
369
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
370
+ };
371
+ case "tokens/color-roles.md":
372
+ return {
373
+ title: "Canvas Kit Color Roles",
374
+ description: `# Canvas Kit Color Roles
375
+ Semantic color role system for consistent UI styling. Includes:
376
+ - Role categories: Interactive (primary, focus), Status (positive, caution, critical), Hierarchy (alt, muted, contrast), Functional (disabled, translucent, overlay)
377
+ - Property types: bg, fg, text, icon, border, shadow, static, brand
378
+ - Usage guidance with Do's and Don'ts for each role
379
+ - Modifier scale: softest \u2192 softer \u2192 soft \u2192 default \u2192 strong \u2192 stronger \u2192 strongest`,
380
+ mimeType: "text/markdown",
381
+ uri: "docs://tokens/color-roles",
382
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
383
+ };
384
+ case "tokens/color-scale.md":
385
+ return {
386
+ title: "Canvas Kit Color Scale",
387
+ description: `# Canvas Kit Color Scale
388
+ Tonal scale system from 0 (lightest) to 1000 (darkest). Includes:
389
+ - Step guidelines: 0 (page bg), 50-100 (subtle bg), 200-300 (borders), 400-500 (interactive), 600-700 (accents), 800-950 (text), 975-1000 (dark mode)
390
+ - Perceptual uniformity across color families using OKLCH
391
+ - Amber exception: chroma peaks at 300-400 instead of 500
392
+ - Practical examples for each step range`,
393
+ mimeType: "text/markdown",
394
+ uri: "docs://tokens/color-scale",
395
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
396
+ };
397
+ case "llm-token-migration-14.txt":
398
+ return {
399
+ title: "Canvas Kit v14 Token Migration Guide",
400
+ description: `# Canvas Kit v14 Token Migration Guide
401
+ Complete migration guide from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web. Includes:
402
+ - Installation and CSS variable imports setup
403
+ - Color token mapping tables (old fruit names \u2192 new base tokens \u2192 system tokens)
404
+ - Brand color migration from Emotion theme to CSS variables
405
+ - Spacing tokens (space.s \u2192 system.space.x4), shape tokens (borderRadius \u2192 system.shape)
406
+ - Typography tokens (type.levels \u2192 system.type), depth tokens (depth \u2192 system.depth)
407
+ - Complete before/after code examples for cards, forms, and buttons
408
+ - Best practices and common pitfalls`,
409
+ mimeType: "text/plain",
410
+ uri: "docs://llm/llm-token-migration-14",
411
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
412
+ };
413
+ default:
414
+ throw new Error(`${fileName} is not a valid token resource`);
415
+ }
416
+ }
417
+ config_default.tokenFiles.forEach((fileName) => {
418
+ const resource = getTokenResource(fileName);
419
+ if (!resource || !resource.contents) {
420
+ throw new Error(`Resource ${fileName} not found`);
421
+ }
422
+ server.registerResource(
423
+ resource.title,
424
+ resource.uri,
425
+ {
426
+ title: resource.title,
427
+ description: resource.description,
428
+ mimeType: resource.mimeType
429
+ },
430
+ async (uri) => ({
431
+ contents: [
432
+ {
433
+ uri: uri.href,
434
+ text: resource.contents
435
+ }
436
+ ]
437
+ })
438
+ );
439
+ });
440
+ server.registerTool(
441
+ "get-canvas-kit-tokens",
442
+ {
443
+ title: "Get Canvas Kit Tokens",
444
+ description: `Retrieve Canvas Kit design token documentation for migrating from old tokens to the new @workday/canvas-tokens-web system.
445
+
446
+ Use this tool when:
447
+ - Migrating from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web
448
+ - Converting old fruit-named colors (cinnamon, blueberry, cantaloupe) to new token system
449
+ - Understanding the token hierarchy: base tokens, system tokens, and brand tokens
450
+ - Finding the correct system token replacement (sys.color.bg.*, sys.color.fg.*, sys.color.border.*)
451
+ - Learning the token naming pattern: [property].[role].[modifier]
452
+ - Understanding color roles (primary, positive, caution, critical, muted, etc.)
453
+ - Migrating spacing (space.s \u2192 system.space.x4), shape, typography, or depth tokens
454
+ - Ensuring WCAG accessibility compliance with color contrast requirements
455
+
456
+ Returns links to token documentation resources including migration guides, color palettes, color roles, contrast guidelines, and complete v14 migration examples.`,
457
+ annotations: {
458
+ readOnlyHint: true
459
+ }
460
+ },
461
+ async () => {
462
+ const output = {
463
+ count: config_default.tokenFiles.length,
464
+ files: config_default.tokenFiles.map((fileName) => {
465
+ const resource = getTokenResource(fileName);
466
+ if (!resource) {
467
+ throw new Error(`Resource ${fileName} not found`);
468
+ }
469
+ return {
470
+ name: resource.title,
471
+ uri: resource.uri
472
+ };
473
+ })
474
+ };
475
+ return {
476
+ content: [
477
+ { type: "text", text: JSON.stringify(output) },
478
+ ...config_default.tokenFiles.map((fileName) => {
479
+ const resource = getTokenResource(fileName);
480
+ if (!resource) {
481
+ throw new Error(`Resource ${fileName} not found`);
482
+ }
483
+ return {
484
+ type: "resource_link",
485
+ uri: resource.uri,
486
+ name: resource.title,
487
+ mimeType: resource.mimeType,
488
+ description: resource.description,
489
+ annotations: {
490
+ audience: ["user", "assistant"]
491
+ }
492
+ };
493
+ })
494
+ ],
495
+ structuredContent: output
496
+ };
497
+ }
498
+ );
235
499
  return server;
236
500
  }
237
501
 
package/dist/cli.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../lib/cli.ts", "../lib/index.ts", "../package.json", "../lib/config.json"],
4
- "sourcesContent": ["#!/usr/bin/env node\n\nimport {StdioServerTransport} from '@modelcontextprotocol/sdk/server/stdio.js';\nimport {getServer} from './index.js';\n\nexport async function main() {\n const transport = new StdioServerTransport();\n await getServer().connect(transport);\n}\n\nmain().catch((error: unknown) => {\n console.error('Fatal error in main():', error);\n process.exit(1);\n});\n", "// @ts-nocheck\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport {fileURLToPath} from 'node:url';\n\nimport packageJson from '../package.json';\nimport fileNames from './config.json';\nimport {McpServer} from '@modelcontextprotocol/sdk/server/mcp.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nexport function getServer() {\n const mcpVersion = packageJson.version;\n const mcpName = packageJson.name;\n\n const server = new McpServer(\n {\n name: mcpName,\n version: mcpVersion,\n },\n {\n capabilities: {\n tools: {},\n resources: {},\n },\n }\n );\n\n /**\n * Metadata for agents about the resource files.\n */\n function getUpgradeGuideResource(fileName: string) {\n switch (fileName) {\n case 'upgrade-guides/12.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 12.0 Upgrade Guide',\n description: `# Canvas Kit 12.0 Upgrade Guide\nCanvas Kit is transitioning into a new way of styling.\nTheming and building an in sync Canvas Kit CSS has been at the top of our minds.\nWe've started using our new Canvas Tokens Web package to take advantage of CSS variables and provide semantic tokens that can translate to theming components.`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/12.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/13.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 13.0 Upgrade Guide',\n description: `# Canvas Kit 13.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v13.\n\nIn this release, we:\n- refactored components to use our Canvas tokens and styling API\n- made several accessibility improvements\n- updated our brand logos\n- improved our infrastructure`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/13.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'llm-txt/llm-token-migration-14.txt':\n return {\n title: 'Canvas Kit Token Migration Guide',\n description: `# Canvas Kit Token Migration Guide\nGuide for migrating from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web.\nThis migration enables better theming capabilities, improved performance, and a more standardized approach to styling.`,\n mimeType: 'text/plain',\n uri: 'docs://llm-txt/llm-token-migration-14',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'llm-txt/llm-style-props-migration.txt':\n return {\n title: 'Canvas Kit Style Props Migration Guide',\n description: `# Canvas Kit Style Props Migration Guide\nGuide for migrating from Emotion's style props to @workday/canvas-kit-styling.\nThis migration improves performance, consistency, and maintainability by moving away from runtime styling to static CSS compilation.`,\n mimeType: 'text/plain',\n uri: 'docs://llm-txt/llm-style-props-migration',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/14.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 14.0 Upgrade Guide',\n description: `# Canvas Kit 14.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v14.\n\nIn this release, we:\n- introduced Workday's new brand direction with a new color palette\n- made styling updates to our components\n- improved token system and theming capabilities`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/14.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n default:\n throw new Error(`${fileName} is not a valid resource`);\n }\n }\n\n fileNames.upgradeGuideFiles.forEach(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource || !resource.contents) {\n throw new Error(`Resource ${fileName} not found`);\n }\n server.registerResource(\n resource.title,\n resource.uri,\n {\n title: resource.title,\n description: resource.description,\n mimeType: resource.mimeType,\n },\n async (uri: URL) => ({\n contents: [\n {\n uri: uri.href,\n text: resource.contents,\n },\n ],\n })\n );\n });\n\n server.registerTool(\n 'get-canvas-kit-upgrade-guides',\n {\n title: 'Get Canvas Kit Upgrade Guides',\n description: 'Retrieve the Canvas Kit Upgrade Guide documentation.',\n annotations: {\n readOnlyHint: true,\n },\n },\n async () => {\n const output = {\n count: fileNames.upgradeGuideFiles.length,\n files: fileNames.upgradeGuideFiles.map(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n name: resource.title,\n uri: resource.uri,\n };\n }),\n };\n return {\n content: [\n {type: 'text', text: JSON.stringify(output)},\n ...fileNames.upgradeGuideFiles.map(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n type: 'resource_link' as const,\n uri: resource.uri,\n name: resource.title,\n mimeType: resource.mimeType,\n description: resource.description,\n annotations: {\n audience: ['user', 'assistant'] as ('user' | 'assistant')[],\n },\n };\n }),\n ],\n structuredContent: output,\n };\n }\n );\n return server;\n}\n", "{\n \"name\": \"@workday/canvas-kit-mcp\",\n \"version\": \"14.1.27\",\n \"description\": \"MCP package for Canvas Kit\",\n \"author\": \"Workday, Inc. (https://www.workday.com)\",\n \"license\": \"Apache-2.0\",\n \"type\": \"module\",\n \"sideEffects\": false,\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/Workday/canvas-kit.git\",\n \"directory\": \"modules/mcp\"\n },\n \"bin\": {\n \"canvas-kit-mcp\": \"./dist/cli.js\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./dist/types/index.d.ts\",\n \"default\": \"./dist/index.js\"\n },\n \"./lib\": {\n \"types\": \"./dist/types/index.d.ts\",\n \"default\": \"./dist/index.js\"\n }\n },\n \"main\": \"./dist/index.js\",\n \"types\": \"./dist/types/index.d.ts\",\n \"files\": [\n \"dist\"\n ],\n \"scripts\": {\n \"build:copy\": \"tsx ./build/index.ts\",\n \"build:types\": \"tsc --project tsconfig.build.json -d true --declarationDir dist/types --emitDeclarationOnly --pretty\",\n \"build:mcp\": \"esbuild lib/index.ts --bundle --platform=node --packages=external --outfile=dist/index.js --format=esm --sourcemap && esbuild lib/cli.ts --bundle --platform=node --packages=external --outfile=dist/cli.js --format=esm --sourcemap\",\n \"build\": \"npm-run-all build:copy build:types build:mcp\",\n \"clean\": \"rimraf dist && rimraf .build-info && mkdirp dist\"\n },\n \"keywords\": [\n \"canvas\",\n \"canvas-kit\",\n \"workday\",\n \"mcp\"\n ],\n \"dependencies\": {\n \"@modelcontextprotocol/sdk\": \"^1.20.2\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.0.0\",\n \"esbuild\": \"^0.25.11\",\n \"mkdirp\": \"^1.0.3\",\n \"rimraf\": \"^5.0.0\",\n \"tsx\": \"^4.7.0\",\n \"typescript\": \"5.0\"\n }\n}\n", "{\n \"upgradeGuideFiles\": [\n \"upgrade-guides/12.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/13.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/14.0-UPGRADE-GUIDE.md\",\n \"llm-txt/llm-token-migration-14.txt\",\n \"llm-txt/llm-style-props-migration.txt\"\n ]\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["#!/usr/bin/env node\n\nimport {StdioServerTransport} from '@modelcontextprotocol/sdk/server/stdio.js';\nimport {getServer} from './index.js';\n\nexport async function main() {\n const transport = new StdioServerTransport();\n await getServer().connect(transport);\n}\n\nmain().catch((error: unknown) => {\n console.error('Fatal error in main():', error);\n process.exit(1);\n});\n", "// @ts-nocheck\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport {fileURLToPath} from 'node:url';\n\nimport packageJson from '../package.json';\nimport fileNames from './config.json';\nimport {McpServer} from '@modelcontextprotocol/sdk/server/mcp.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nexport function getServer() {\n const mcpVersion = packageJson.version;\n const mcpName = packageJson.name;\n\n const server = new McpServer(\n {\n name: mcpName,\n version: mcpVersion,\n },\n {\n capabilities: {\n tools: {},\n resources: {},\n },\n }\n );\n\n /**\n * Metadata for agents about the resource files.\n */\n function getUpgradeGuideResource(fileName: string) {\n switch (fileName) {\n case 'upgrade-guides/9.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 9.0 Upgrade Guide',\n description: `# Canvas Kit 9.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v9.\n\nIn this release, we:\n- introduced new Table component\n- removed Drawer, Layout, Column, Stack, HStack, and VStack components\n- removed focusRing and composeModelHooks utilities\n- updated Button, Toast, and Collection components\n- added depth token updates`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/9.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/10.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 10.0 Upgrade Guide',\n description: `# Canvas Kit 10.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v10.\n\nIn this release, we:\n- introduced new styling package @workday/canvas-kit-styling\n- removed CSS packages and useBanner\n- deprecated Input Icon Container, Select Preview, Space Numbers, and Table\n- updated space and depth tokens\n- updated Button, Popups, and Select components`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/10.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/11.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 11.0 Upgrade Guide',\n description: `# Canvas Kit 11.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v11.\n\nIn this release, we:\n- transitioned to new CSS variable-based styling approach\n- introduced Canvas Tokens Web package for semantic tokens\n- introduced new styling API for component styling\n- deprecated Form Field Main, Label Text, Text Area Preview, Text Input Preview\n- updated components to use CSS tokens`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/11.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/12.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 12.0 Upgrade Guide',\n description: `# Canvas Kit 12.0 Upgrade Guide\nCanvas Kit is transitioning into a new way of styling.\nTheming and building an in sync Canvas Kit CSS has been at the top of our minds.\nWe've started using our new Canvas Tokens Web package to take advantage of CSS variables and provide semantic tokens that can translate to theming components.`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/12.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/13.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 13.0 Upgrade Guide',\n description: `# Canvas Kit 13.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v13.\n\nIn this release, we:\n- refactored components to use our Canvas tokens and styling API\n- made several accessibility improvements\n- updated our brand logos\n- improved our infrastructure`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/13.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'llm-token-migration-14.txt':\n return {\n title: 'Canvas Kit Token Migration Guide',\n description: `# Canvas Kit Token Migration Guide\nGuide for migrating from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web.\nThis migration enables better theming capabilities, improved performance, and a more standardized approach to styling.`,\n mimeType: 'text/plain',\n uri: 'docs://llm/llm-token-migration-14',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'llm-style-props-migration.txt':\n return {\n title: 'Canvas Kit Style Props Migration Guide',\n description: `# Canvas Kit Style Props Migration Guide\nGuide for migrating from Emotion's style props to @workday/canvas-kit-styling.\nThis migration improves performance, consistency, and maintainability by moving away from runtime styling to static CSS compilation.`,\n mimeType: 'text/plain',\n uri: 'docs://llm/llm-style-props-migration',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/14.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 14.0 Upgrade Guide',\n description: `# Canvas Kit 14.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v14.\n\nIn this release, we:\n- introduced Workday's new brand direction with a new color palette\n- made styling updates to our components\n- improved token system and theming capabilities`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/14.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'theming.md':\n return {\n title: 'Canvas Kit Theming Guide',\n description: `# Canvas Kit Theming Guide\nComprehensive guide for theming Canvas Kit applications in v14.\n\nCovers:\n- Global theming with CSS variables at :root level (recommended approach)\n- Scoped theming with CanvasProvider for specific sections\n- CSS token structure: base tokens, brand tokens, and system tokens\n- Dark mode implementation\n- RTL support with CSS logical properties\n- Migration from JavaScript theme objects to CSS variables\n- Theming modals, dialogs, and popups\n- Best practices for semantic token usage and accessibility`,\n mimeType: 'text/markdown',\n uri: 'docs://llm/theming',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n default:\n throw new Error(`${fileName} is not a valid resource`);\n }\n }\n\n fileNames.upgradeGuideFiles.forEach(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource || !resource.contents) {\n throw new Error(`Resource ${fileName} not found`);\n }\n server.registerResource(\n resource.title,\n resource.uri,\n {\n title: resource.title,\n description: resource.description,\n mimeType: resource.mimeType,\n },\n async (uri: URL) => ({\n contents: [\n {\n uri: uri.href,\n text: resource.contents,\n },\n ],\n })\n );\n });\n\n server.registerTool(\n 'get-canvas-kit-upgrade-guides',\n {\n title: 'Get Canvas Kit Upgrade Guides',\n description: 'Retrieve the Canvas Kit Upgrade Guide documentation.',\n annotations: {\n readOnlyHint: true,\n },\n },\n async () => {\n const output = {\n count: fileNames.upgradeGuideFiles.length,\n files: fileNames.upgradeGuideFiles.map(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n name: resource.title,\n uri: resource.uri,\n };\n }),\n };\n return {\n content: [\n {type: 'text', text: JSON.stringify(output)},\n ...fileNames.upgradeGuideFiles.map(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n type: 'resource_link' as const,\n uri: resource.uri,\n name: resource.title,\n mimeType: resource.mimeType,\n description: resource.description,\n annotations: {\n audience: ['user', 'assistant'] as ('user' | 'assistant')[],\n },\n };\n }),\n ],\n structuredContent: output,\n };\n }\n );\n /**\n * Metadata for agents about the token documentation files.\n */\n function getTokenResource(fileName: string) {\n switch (fileName) {\n case 'tokens/token-migration.md':\n return {\n title: 'Canvas Kit Token Migration v2 to v3',\n description: `# Design Token Migration: v2 to v3\nComprehensive mapping of deprecated tokens to new values. Includes:\n- Old fruit-named palette tokens (cinnamon, cantaloupe, blueberry, etc.) mapped to new color family names (red, amber, blue, etc.)\n- System token replacements for semantic color usage (sys.color.bg.*, sys.color.fg.*, sys.color.border.*)\n- Migration phases: Assessment, Replacement, Testing, Documentation\n- Accessibility considerations for OKLCH color space changes`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/token-migration',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/color-palette.md':\n return {\n title: 'Canvas Kit Color Palette',\n description: `# Canvas Kit Color Palette\nOverview of Workday's shared color palette. Includes:\n- Global palette with 11 colors and 2 neutrals (Slate, Neutral), each with 13 shades\n- OKLCH color space for perceptual balance\n- Accent colors, neutral colors, and alpha colors guidance\n- Token hierarchy: Base tokens (raw values), Brand tokens (tenant theming), System tokens (semantic roles)\n- Color roles mapping (primary, positive, caution, critical, etc.)`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/color-palette',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/color-tokens.md':\n return {\n title: 'Canvas Kit Color Tokens',\n description: `# Canvas Kit Color Tokens\nDesign tokens naming system and usage guide. Includes:\n- Token naming pattern: [property].[role].[modifier]\n- Properties: bg, fg, text, border, icon, shadow, static\n- Roles: default, primary, positive, critical, caution, info, alt, muted, contrast, ai, focus, disabled, inverse, hint, input, container, divider, transparent, translucent, overlay\n- Modifiers: softest, softer, soft, default, strong, stronger, strongest\n- Theming and platform adaptation guidance`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/color-tokens',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/color-contrast.md':\n return {\n title: 'Canvas Kit Color Contrast',\n description: `# Canvas Kit Color Contrast\nAccessibility contrast guidelines for color pairings. Includes:\n- WCAG 2.1 compliance requirements (4.5:1 for text, 3:1 for non-text, 7:1 for AAA)\n- Step difference framework: 500+ for AA text, 400+ for AA non-text, 700+ for AAA\n- Practical contrast tables for background/foreground combinations\n- High contrast (7:1+) guidelines for low vision support`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/color-contrast',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/color-roles.md':\n return {\n title: 'Canvas Kit Color Roles',\n description: `# Canvas Kit Color Roles\nSemantic color role system for consistent UI styling. Includes:\n- Role categories: Interactive (primary, focus), Status (positive, caution, critical), Hierarchy (alt, muted, contrast), Functional (disabled, translucent, overlay)\n- Property types: bg, fg, text, icon, border, shadow, static, brand\n- Usage guidance with Do's and Don'ts for each role\n- Modifier scale: softest \u2192 softer \u2192 soft \u2192 default \u2192 strong \u2192 stronger \u2192 strongest`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/color-roles',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/color-scale.md':\n return {\n title: 'Canvas Kit Color Scale',\n description: `# Canvas Kit Color Scale\nTonal scale system from 0 (lightest) to 1000 (darkest). Includes:\n- Step guidelines: 0 (page bg), 50-100 (subtle bg), 200-300 (borders), 400-500 (interactive), 600-700 (accents), 800-950 (text), 975-1000 (dark mode)\n- Perceptual uniformity across color families using OKLCH\n- Amber exception: chroma peaks at 300-400 instead of 500\n- Practical examples for each step range`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/color-scale',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'llm-token-migration-14.txt':\n return {\n title: 'Canvas Kit v14 Token Migration Guide',\n description: `# Canvas Kit v14 Token Migration Guide\nComplete migration guide from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web. Includes:\n- Installation and CSS variable imports setup\n- Color token mapping tables (old fruit names \u2192 new base tokens \u2192 system tokens)\n- Brand color migration from Emotion theme to CSS variables\n- Spacing tokens (space.s \u2192 system.space.x4), shape tokens (borderRadius \u2192 system.shape)\n- Typography tokens (type.levels \u2192 system.type), depth tokens (depth \u2192 system.depth)\n- Complete before/after code examples for cards, forms, and buttons\n- Best practices and common pitfalls`,\n mimeType: 'text/plain',\n uri: 'docs://llm/llm-token-migration-14',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n default:\n throw new Error(`${fileName} is not a valid token resource`);\n }\n }\n\n fileNames.tokenFiles.forEach(fileName => {\n const resource = getTokenResource(fileName);\n if (!resource || !resource.contents) {\n throw new Error(`Resource ${fileName} not found`);\n }\n server.registerResource(\n resource.title,\n resource.uri,\n {\n title: resource.title,\n description: resource.description,\n mimeType: resource.mimeType,\n },\n async (uri: URL) => ({\n contents: [\n {\n uri: uri.href,\n text: resource.contents,\n },\n ],\n })\n );\n });\n\n server.registerTool(\n 'get-canvas-kit-tokens',\n {\n title: 'Get Canvas Kit Tokens',\n description: `Retrieve Canvas Kit design token documentation for migrating from old tokens to the new @workday/canvas-tokens-web system.\n\nUse this tool when:\n- Migrating from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web\n- Converting old fruit-named colors (cinnamon, blueberry, cantaloupe) to new token system\n- Understanding the token hierarchy: base tokens, system tokens, and brand tokens\n- Finding the correct system token replacement (sys.color.bg.*, sys.color.fg.*, sys.color.border.*)\n- Learning the token naming pattern: [property].[role].[modifier]\n- Understanding color roles (primary, positive, caution, critical, muted, etc.)\n- Migrating spacing (space.s \u2192 system.space.x4), shape, typography, or depth tokens\n- Ensuring WCAG accessibility compliance with color contrast requirements\n\nReturns links to token documentation resources including migration guides, color palettes, color roles, contrast guidelines, and complete v14 migration examples.`,\n annotations: {\n readOnlyHint: true,\n },\n },\n async () => {\n const output = {\n count: fileNames.tokenFiles.length,\n files: fileNames.tokenFiles.map(fileName => {\n const resource = getTokenResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n name: resource.title,\n uri: resource.uri,\n };\n }),\n };\n return {\n content: [\n {type: 'text', text: JSON.stringify(output)},\n ...fileNames.tokenFiles.map(fileName => {\n const resource = getTokenResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n type: 'resource_link' as const,\n uri: resource.uri,\n name: resource.title,\n mimeType: resource.mimeType,\n description: resource.description,\n annotations: {\n audience: ['user', 'assistant'],\n },\n };\n }),\n ],\n structuredContent: output,\n };\n }\n );\n return server;\n}\n", "{\n \"name\": \"@workday/canvas-kit-mcp\",\n \"version\": \"14.1.28\",\n \"description\": \"MCP package for Canvas Kit\",\n \"author\": \"Workday, Inc. (https://www.workday.com)\",\n \"license\": \"Apache-2.0\",\n \"type\": \"module\",\n \"sideEffects\": false,\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/Workday/canvas-kit.git\",\n \"directory\": \"modules/mcp\"\n },\n \"bin\": {\n \"canvas-kit-mcp\": \"./dist/cli.js\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./dist/types/index.d.ts\",\n \"default\": \"./dist/index.js\"\n },\n \"./lib\": {\n \"types\": \"./dist/types/index.d.ts\",\n \"default\": \"./dist/index.js\"\n }\n },\n \"main\": \"./dist/index.js\",\n \"types\": \"./dist/types/index.d.ts\",\n \"files\": [\n \"dist\"\n ],\n \"scripts\": {\n \"build:copy\": \"tsx ./build/index.ts\",\n \"build:types\": \"tsc --project tsconfig.build.json -d true --declarationDir dist/types --emitDeclarationOnly --pretty\",\n \"build:mcp\": \"esbuild lib/index.ts --bundle --platform=node --packages=external --outfile=dist/index.js --format=esm --sourcemap && esbuild lib/cli.ts --bundle --platform=node --packages=external --outfile=dist/cli.js --format=esm --sourcemap\",\n \"build\": \"npm-run-all build:copy build:types build:mcp\",\n \"clean\": \"rimraf dist && rimraf .build-info && mkdirp dist\"\n },\n \"keywords\": [\n \"canvas\",\n \"canvas-kit\",\n \"workday\",\n \"mcp\"\n ],\n \"dependencies\": {\n \"@modelcontextprotocol/sdk\": \"^1.20.2\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.0.0\",\n \"esbuild\": \"^0.25.11\",\n \"mkdirp\": \"^1.0.3\",\n \"rimraf\": \"^5.0.0\",\n \"tsx\": \"^4.7.0\",\n \"typescript\": \"5.0\"\n }\n}\n", "{\n \"upgradeGuideFiles\": [\n \"upgrade-guides/9.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/10.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/11.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/12.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/13.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/14.0-UPGRADE-GUIDE.md\",\n \"llm-token-migration-14.txt\",\n \"llm-style-props-migration.txt\",\n \"theming.md\"\n ],\n \"tokenFiles\": [\n \"tokens/token-migration.md\",\n \"tokens/color-palette.md\",\n \"tokens/color-tokens.md\",\n \"tokens/color-contrast.md\",\n \"tokens/color-roles.md\",\n \"tokens/color-scale.md\",\n \"llm-token-migration-14.txt\"\n ]\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }