@workday/canvas-kit-mcp 14.2.15 → 14.2.16
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 +118 -31
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/tokens/v4/v4-token-migration.md +0 -6
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# Canvas Kit MCP
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Model Context Protocol (MCP) server that provides Canvas Kit upgrade guides and design token migration documentation to AI assistants.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### Cursor Quick Install
|
|
6
8
|
|
|
7
9
|
<a href="https://cursor.com/en-US/install-mcp?name=canvas-kit-mcp&config=eyJjb21tYW5kIjoibnB4IC15IEB3b3JrZGF5L2NhbnZhcy1raXQtbWNwIn0%3D">
|
|
8
10
|
<picture>
|
|
@@ -12,70 +14,155 @@ Our MCP server provides resources to help you upgrade Canvas Kit.
|
|
|
12
14
|
</picture>
|
|
13
15
|
</a>
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
## Not Running Cursor?
|
|
17
|
+
### Other IDEs (Windsurf, VS Code, etc.)
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Add to your MCP servers configuration file:
|
|
20
20
|
|
|
21
21
|
```json
|
|
22
22
|
{
|
|
23
23
|
"mcpServers": {
|
|
24
|
-
{
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
]
|
|
31
|
-
}
|
|
24
|
+
"canvas-kit-mcp": {
|
|
25
|
+
"command": "npx",
|
|
26
|
+
"args": [
|
|
27
|
+
"-y",
|
|
28
|
+
"@workday/canvas-kit-mcp"
|
|
29
|
+
]
|
|
32
30
|
}
|
|
33
31
|
}
|
|
34
32
|
}
|
|
35
33
|
```
|
|
36
34
|
|
|
37
|
-
|
|
35
|
+
Configuration file locations:
|
|
36
|
+
- **Cursor**: `~/.cursor-tutor/config.json` (macOS/Linux) or `%APPDATA%\cursor-tutor\config.json` (Windows)
|
|
37
|
+
- **Windsurf**: Settings → MCP Servers
|
|
38
|
+
- **VS Code**: Cline/Continue extension settings
|
|
39
|
+
|
|
40
|
+
### Claude Code CLI
|
|
38
41
|
|
|
39
42
|
```sh
|
|
40
43
|
claude mcp add --scope project --transport stdio canvas-kit -- npx -y @workday/canvas-kit-mcp
|
|
41
44
|
```
|
|
42
45
|
|
|
43
|
-
|
|
46
|
+
### Claude Desktop
|
|
47
|
+
|
|
48
|
+
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"mcpServers": {
|
|
53
|
+
"canvas-kit-mcp": {
|
|
54
|
+
"command": "npx",
|
|
55
|
+
"args": [
|
|
56
|
+
"-y",
|
|
57
|
+
"@workday/canvas-kit-mcp"
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Tools
|
|
65
|
+
|
|
66
|
+
This MCP server provides the following tools:
|
|
67
|
+
|
|
68
|
+
### `get-canvas-kit-upgrade-guides`
|
|
69
|
+
|
|
70
|
+
Retrieves Canvas Kit version upgrade documentation covering major version migrations.
|
|
71
|
+
|
|
72
|
+
**Use cases:**
|
|
73
|
+
- Upgrading Canvas Kit to a new major version
|
|
74
|
+
- Understanding breaking changes between versions
|
|
75
|
+
- Finding migration paths for deprecated components
|
|
76
|
+
- Learning about new features and components
|
|
77
|
+
|
|
78
|
+
**Returns:** Links to upgrade guide resources including version-specific migration steps, deprecation notices, theming guides, and styling migration documentation.
|
|
44
79
|
|
|
45
|
-
|
|
80
|
+
### `get-canvas-kit-tokens`
|
|
46
81
|
|
|
47
|
-
|
|
82
|
+
Retrieves Canvas Kit design token migration documentation for transitioning to the modern `@workday/canvas-tokens-web` package.
|
|
48
83
|
|
|
49
|
-
|
|
50
|
-
|
|
84
|
+
**Use cases:**
|
|
85
|
+
- Migrating from old token systems to `@workday/canvas-tokens-web`
|
|
86
|
+
- Converting deprecated color tokens to the new token system
|
|
87
|
+
- Understanding token hierarchy: base tokens, system tokens, and brand tokens
|
|
88
|
+
- Finding correct system token replacements
|
|
89
|
+
- Learning token naming patterns and semantic color roles
|
|
90
|
+
- Migrating spacing, shape, typography, opacity, and depth tokens
|
|
91
|
+
- Ensuring WCAG accessibility compliance with color contrast requirements
|
|
92
|
+
|
|
93
|
+
**Returns:** Links to token documentation including migration guides, color palettes, color roles, contrast guidelines, and token system references.
|
|
94
|
+
|
|
95
|
+
## Resources
|
|
96
|
+
|
|
97
|
+
The server exposes documentation resources organized into two categories:
|
|
98
|
+
|
|
99
|
+
### Upgrade Guides
|
|
100
|
+
Version-specific migration documentation covering:
|
|
101
|
+
- Breaking changes and deprecations
|
|
102
|
+
- New components and features
|
|
103
|
+
- Styling system migrations (Emotion, CSS variables, `@workday/canvas-kit-styling`)
|
|
104
|
+
- Theming and component refactoring
|
|
105
|
+
- Accessibility improvements
|
|
106
|
+
|
|
107
|
+
### Token Documentation
|
|
108
|
+
Design token migration and usage guides covering:
|
|
109
|
+
- Token system migrations (v2 → v3 → v4)
|
|
110
|
+
- Color palette and semantic color roles
|
|
111
|
+
- Token naming conventions and hierarchy
|
|
112
|
+
- Accessibility and contrast guidelines
|
|
113
|
+
- Spacing, shape, size, opacity, and depth tokens
|
|
114
|
+
- OKLCH color space implementation
|
|
115
|
+
|
|
116
|
+
All resources are available to AI assistants through MCP resource URIs.
|
|
117
|
+
|
|
118
|
+
## Source Documentation
|
|
119
|
+
|
|
120
|
+
The documentation files served by this MCP server are maintained in the Canvas Kit repository at [`modules/docs/llm`](../../docs/llm). This directory contains:
|
|
121
|
+
|
|
122
|
+
- **Upgrade Guides** (`upgrade-guides/`) - Version-specific migration documentation
|
|
123
|
+
- **Token Documentation** (`tokens/`) - Design token guides and migration resources
|
|
124
|
+
- **LLM-Optimized Files** - Specialized documentation formatted for AI assistants
|
|
125
|
+
|
|
126
|
+
To update the documentation served by this MCP server, modify the files in `modules/docs/llm` and rebuild the MCP package.
|
|
127
|
+
|
|
128
|
+
## Contributing
|
|
129
|
+
|
|
130
|
+
Canvas Kit MCP has two exports:
|
|
131
|
+
|
|
132
|
+
- `src/cli.js` - Node server that can be invoked via npx for local stdio
|
|
133
|
+
- `src/index.js` - Low-level module exports for extending the server or hosting with other transports
|
|
51
134
|
|
|
52
135
|
### Testing Locally
|
|
53
136
|
|
|
54
137
|
#### MCP Inspector
|
|
55
138
|
|
|
56
|
-
The inspector requires
|
|
139
|
+
The inspector requires Node.js v22+:
|
|
57
140
|
|
|
58
141
|
```bash
|
|
59
142
|
nvm use 22
|
|
60
143
|
yarn build
|
|
61
|
-
npx @modelcontextprotocol/inspector node dist/cli.js
|
|
144
|
+
npx @modelcontextprotocol/inspector node dist/cli.js
|
|
62
145
|
```
|
|
63
146
|
|
|
64
|
-
#### Local IDE
|
|
147
|
+
#### Local IDE Testing
|
|
65
148
|
|
|
66
|
-
Add an entry to your MCP servers
|
|
149
|
+
Add an entry to your MCP servers configuration pointing to your local build:
|
|
67
150
|
|
|
68
151
|
```json
|
|
69
152
|
{
|
|
70
153
|
"mcpServers": {
|
|
71
|
-
{
|
|
72
|
-
"
|
|
73
|
-
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
]
|
|
77
|
-
}
|
|
154
|
+
"canvas-kit-mcp-local": {
|
|
155
|
+
"command": "node",
|
|
156
|
+
"args": [
|
|
157
|
+
"/absolute/path/to/canvas-kit/modules/mcp/dist/cli.js"
|
|
158
|
+
]
|
|
78
159
|
}
|
|
79
160
|
}
|
|
80
161
|
}
|
|
81
162
|
```
|
|
163
|
+
|
|
164
|
+
Rebuild the server after changes:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
yarn build
|
|
168
|
+
```
|
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.2.
|
|
14
|
+
version: "14.2.16",
|
|
15
15
|
description: "MCP package for Canvas Kit",
|
|
16
16
|
author: "Workday, Inc. (https://www.workday.com)",
|
|
17
17
|
license: "Apache-2.0",
|
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/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-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-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://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-token-migration-14',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/v4-token-migration.md':\n return {\n title: 'Canvas Kit v4 Token Migration Guide',\n description: `# Canvas Kit v4 Token Migration Guide\nComplete migration guide from @workday/canvas-tokens-web v3 to v4. Includes:\n- Extended alpha scales across base color palettes (A25, A50, A100, A200) and extended alpha range (A0-A975) for slate, neutral, and white palettes\n- New magenta palette added to the color system\n- Brand token updates with numerical naming (25, 50, 100, 200...900, 950, 975) replacing descriptive names (darkest, darker, dark, base, light, lighter, lightest)\n- Brand common token updates: focus-outline \u2192 focus, error-inner \u2192 critical, alert-inner \u2192 caution.inner, alert-outer \u2192 caution.outer\n- Comprehensive surface token system (system.color.surface.*) replacing color.bg.surface.* tokens for better UI component support\n- New semantic tokens for size, space, shape, and breakpoints\n- Focus, accent, and semantic token additions\n- Complete deprecation mapping tables showing old tokens \u2192 new token replacements\n- Migration examples and best practices for updating code from v3 to v4`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/v4-token-migration',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/opacity.md':\n return {\n title: 'Canvas Kit v4 Opacity Token Migration Guide',\n description: `# Canvas Kit v4 Opacity Token Migration Guide\nOpacity tokens control transparency values for UI elements. Use them to create visual hierarchy, indicate states, and guide user focus.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/opacity',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/shape.md':\n return {\n title: 'Canvas Kit v4 Shape Token Migration Guide',\n description: `# Canvas Kit v4 Shape Token Migration Guide\nShape tokens control border radius values for UI elements. Use them to create consistent rounded corners across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/shape',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/size.md':\n return {\n title: 'Canvas Kit v4 Size Token Migration Guide',\n description: `# Canvas Kit v4 Size Token Migration Guide\nSize tokens control the size of UI elements. Use them to create consistent sizes across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/size',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/space.md':\n return {\n title: 'Canvas Kit v4 Space Token Migration Guide',\n description: `# Canvas Kit v4 Space Token Migration Guide\nSpace tokens control the spacing of UI elements. Use them to create consistent spacing across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/space',\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.2.15\",\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-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 \"tokens/v4/v4-token-migration.md\",\n \"tokens/v4/opacity.md\",\n \"tokens/v4/shape.md\",\n \"tokens/v4/size.md\",\n \"tokens/v4/space.md\"\n ]\n}\n"],
|
|
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-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-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://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-token-migration-14',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/v4-token-migration.md':\n return {\n title: 'Canvas Kit v4 Token Migration Guide',\n description: `# Canvas Kit v4 Token Migration Guide\nComplete migration guide from @workday/canvas-tokens-web v3 to v4. Includes:\n- Extended alpha scales across base color palettes (A25, A50, A100, A200) and extended alpha range (A0-A975) for slate, neutral, and white palettes\n- New magenta palette added to the color system\n- Brand token updates with numerical naming (25, 50, 100, 200...900, 950, 975) replacing descriptive names (darkest, darker, dark, base, light, lighter, lightest)\n- Brand common token updates: focus-outline \u2192 focus, error-inner \u2192 critical, alert-inner \u2192 caution.inner, alert-outer \u2192 caution.outer\n- Comprehensive surface token system (system.color.surface.*) replacing color.bg.surface.* tokens for better UI component support\n- New semantic tokens for size, space, shape, and breakpoints\n- Focus, accent, and semantic token additions\n- Complete deprecation mapping tables showing old tokens \u2192 new token replacements\n- Migration examples and best practices for updating code from v3 to v4`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/v4-token-migration',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/opacity.md':\n return {\n title: 'Canvas Kit v4 Opacity Token Migration Guide',\n description: `# Canvas Kit v4 Opacity Token Migration Guide\nOpacity tokens control transparency values for UI elements. Use them to create visual hierarchy, indicate states, and guide user focus.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/opacity',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/shape.md':\n return {\n title: 'Canvas Kit v4 Shape Token Migration Guide',\n description: `# Canvas Kit v4 Shape Token Migration Guide\nShape tokens control border radius values for UI elements. Use them to create consistent rounded corners across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/shape',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/size.md':\n return {\n title: 'Canvas Kit v4 Size Token Migration Guide',\n description: `# Canvas Kit v4 Size Token Migration Guide\nSize tokens control the size of UI elements. Use them to create consistent sizes across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/size',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/space.md':\n return {\n title: 'Canvas Kit v4 Space Token Migration Guide',\n description: `# Canvas Kit v4 Space Token Migration Guide\nSpace tokens control the spacing of UI elements. Use them to create consistent spacing across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/space',\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.2.16\",\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-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 \"tokens/v4/v4-token-migration.md\",\n \"tokens/v4/opacity.md\",\n \"tokens/v4/shape.md\",\n \"tokens/v4/size.md\",\n \"tokens/v4/space.md\"\n ]\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { fileURLToPath } from "node:url";
|
|
|
6
6
|
// package.json
|
|
7
7
|
var package_default = {
|
|
8
8
|
name: "@workday/canvas-kit-mcp",
|
|
9
|
-
version: "14.2.
|
|
9
|
+
version: "14.2.16",
|
|
10
10
|
description: "MCP package for Canvas Kit",
|
|
11
11
|
author: "Workday, Inc. (https://www.workday.com)",
|
|
12
12
|
license: "Apache-2.0",
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../lib/index.ts", "../package.json", "../lib/config.json"],
|
|
4
|
-
"sourcesContent": ["// @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-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-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://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-token-migration-14',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/v4-token-migration.md':\n return {\n title: 'Canvas Kit v4 Token Migration Guide',\n description: `# Canvas Kit v4 Token Migration Guide\nComplete migration guide from @workday/canvas-tokens-web v3 to v4. Includes:\n- Extended alpha scales across base color palettes (A25, A50, A100, A200) and extended alpha range (A0-A975) for slate, neutral, and white palettes\n- New magenta palette added to the color system\n- Brand token updates with numerical naming (25, 50, 100, 200...900, 950, 975) replacing descriptive names (darkest, darker, dark, base, light, lighter, lightest)\n- Brand common token updates: focus-outline \u2192 focus, error-inner \u2192 critical, alert-inner \u2192 caution.inner, alert-outer \u2192 caution.outer\n- Comprehensive surface token system (system.color.surface.*) replacing color.bg.surface.* tokens for better UI component support\n- New semantic tokens for size, space, shape, and breakpoints\n- Focus, accent, and semantic token additions\n- Complete deprecation mapping tables showing old tokens \u2192 new token replacements\n- Migration examples and best practices for updating code from v3 to v4`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/v4-token-migration',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/opacity.md':\n return {\n title: 'Canvas Kit v4 Opacity Token Migration Guide',\n description: `# Canvas Kit v4 Opacity Token Migration Guide\nOpacity tokens control transparency values for UI elements. Use them to create visual hierarchy, indicate states, and guide user focus.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/opacity',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/shape.md':\n return {\n title: 'Canvas Kit v4 Shape Token Migration Guide',\n description: `# Canvas Kit v4 Shape Token Migration Guide\nShape tokens control border radius values for UI elements. Use them to create consistent rounded corners across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/shape',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/size.md':\n return {\n title: 'Canvas Kit v4 Size Token Migration Guide',\n description: `# Canvas Kit v4 Size Token Migration Guide\nSize tokens control the size of UI elements. Use them to create consistent sizes across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/size',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/space.md':\n return {\n title: 'Canvas Kit v4 Space Token Migration Guide',\n description: `# Canvas Kit v4 Space Token Migration Guide\nSpace tokens control the spacing of UI elements. Use them to create consistent spacing across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/space',\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.2.15\",\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-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 \"tokens/v4/v4-token-migration.md\",\n \"tokens/v4/opacity.md\",\n \"tokens/v4/shape.md\",\n \"tokens/v4/size.md\",\n \"tokens/v4/space.md\"\n ]\n}\n"],
|
|
4
|
+
"sourcesContent": ["// @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-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-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://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-token-migration-14',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/v4-token-migration.md':\n return {\n title: 'Canvas Kit v4 Token Migration Guide',\n description: `# Canvas Kit v4 Token Migration Guide\nComplete migration guide from @workday/canvas-tokens-web v3 to v4. Includes:\n- Extended alpha scales across base color palettes (A25, A50, A100, A200) and extended alpha range (A0-A975) for slate, neutral, and white palettes\n- New magenta palette added to the color system\n- Brand token updates with numerical naming (25, 50, 100, 200...900, 950, 975) replacing descriptive names (darkest, darker, dark, base, light, lighter, lightest)\n- Brand common token updates: focus-outline \u2192 focus, error-inner \u2192 critical, alert-inner \u2192 caution.inner, alert-outer \u2192 caution.outer\n- Comprehensive surface token system (system.color.surface.*) replacing color.bg.surface.* tokens for better UI component support\n- New semantic tokens for size, space, shape, and breakpoints\n- Focus, accent, and semantic token additions\n- Complete deprecation mapping tables showing old tokens \u2192 new token replacements\n- Migration examples and best practices for updating code from v3 to v4`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/v4-token-migration',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/opacity.md':\n return {\n title: 'Canvas Kit v4 Opacity Token Migration Guide',\n description: `# Canvas Kit v4 Opacity Token Migration Guide\nOpacity tokens control transparency values for UI elements. Use them to create visual hierarchy, indicate states, and guide user focus.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/opacity',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/shape.md':\n return {\n title: 'Canvas Kit v4 Shape Token Migration Guide',\n description: `# Canvas Kit v4 Shape Token Migration Guide\nShape tokens control border radius values for UI elements. Use them to create consistent rounded corners across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/shape',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/size.md':\n return {\n title: 'Canvas Kit v4 Size Token Migration Guide',\n description: `# Canvas Kit v4 Size Token Migration Guide\nSize tokens control the size of UI elements. Use them to create consistent sizes across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/size',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/v4/space.md':\n return {\n title: 'Canvas Kit v4 Space Token Migration Guide',\n description: `# Canvas Kit v4 Space Token Migration Guide\nSpace tokens control the spacing of UI elements. Use them to create consistent spacing across components.`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/v4/space',\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.2.16\",\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-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 \"tokens/v4/v4-token-migration.md\",\n \"tokens/v4/opacity.md\",\n \"tokens/v4/shape.md\",\n \"tokens/v4/size.md\",\n \"tokens/v4/space.md\"\n ]\n}\n"],
|
|
5
5
|
"mappings": ";AACA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,SAAQ,qBAAoB;;;ACH5B;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,QAAU;AAAA,EACV,SAAW;AAAA,EACX,MAAQ;AAAA,EACR,aAAe;AAAA,EACf,YAAc;AAAA,IACZ,MAAQ;AAAA,IACR,KAAO;AAAA,IACP,WAAa;AAAA,EACf;AAAA,EACA,KAAO;AAAA,IACL,kBAAkB;AAAA,EACpB;AAAA,EACA,SAAW;AAAA,IACT,KAAK;AAAA,MACH,OAAS;AAAA,MACT,SAAW;AAAA,IACb;AAAA,IACA,SAAS;AAAA,MACP,OAAS;AAAA,MACT,SAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,MAAQ;AAAA,EACR,OAAS;AAAA,EACT,OAAS;AAAA,IACP;AAAA,EACF;AAAA,EACA,SAAW;AAAA,IACT,cAAc;AAAA,IACd,eAAe;AAAA,IACf,aAAa;AAAA,IACb,OAAS;AAAA,IACT,OAAS;AAAA,EACX;AAAA,EACA,UAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,cAAgB;AAAA,IACd,6BAA6B;AAAA,EAC/B;AAAA,EACA,iBAAmB;AAAA,IACjB,eAAe;AAAA,IACf,SAAW;AAAA,IACX,QAAU;AAAA,IACV,QAAU;AAAA,IACV,KAAO;AAAA,IACP,YAAc;AAAA,EAChB;AACF;;;ACvDA;AAAA,EACE,mBAAqB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,YAAc;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AFlBA,SAAQ,iBAAgB;AAExB,IAAM,aAAa,cAAc,YAAY,GAAG;AAChD,IAAM,YAAiB,aAAQ,UAAU;AAElC,SAAS,YAAY;AAC1B,QAAM,aAAa,gBAAY;AAC/B,QAAM,UAAU,gBAAY;AAE5B,QAAM,SAAS,IAAI;AAAA,IACjB;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,cAAc;AAAA,QACZ,OAAO,CAAC;AAAA,QACR,WAAW,CAAC;AAAA,MACd;AAAA,IACF;AAAA,EACF;AAKA,WAAS,wBAAwB,UAAkB;AACjD,YAAQ,UAAU;AAAA,MAChB,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UASb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UASb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UASb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA,UAIb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAQb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA,UAGb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAOb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAYb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF;AACE,cAAM,IAAI,MAAM,GAAG,QAAQ,0BAA0B;AAAA,IACzD;AAAA,EACF;AAEA,iBAAU,kBAAkB,QAAQ,cAAY;AAC9C,UAAM,WAAW,wBAAwB,QAAQ;AACjD,QAAI,CAAC,YAAY,CAAC,SAAS,UAAU;AACnC,YAAM,IAAI,MAAM,YAAY,QAAQ,YAAY;AAAA,IAClD;AACA,WAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT;AAAA,QACE,OAAO,SAAS;AAAA,QAChB,aAAa,SAAS;AAAA,QACtB,UAAU,SAAS;AAAA,MACrB;AAAA,MACA,OAAO,SAAc;AAAA,QACnB,UAAU;AAAA,UACR;AAAA,YACE,KAAK,IAAI;AAAA,YACT,MAAM,SAAS;AAAA,UACjB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,cAAc;AAAA,MAChB;AAAA,IACF;AAAA,IACA,YAAY;AACV,YAAM,SAAS;AAAA,QACb,OAAO,eAAU,kBAAkB;AAAA,QACnC,OAAO,eAAU,kBAAkB,IAAI,cAAY;AACjD,gBAAM,WAAW,wBAAwB,QAAQ;AACjD,cAAI,CAAC,UAAU;AACb,kBAAM,IAAI,MAAM,YAAY,QAAQ,YAAY;AAAA,UAClD;AACA,iBAAO;AAAA,YACL,MAAM,SAAS;AAAA,YACf,KAAK,SAAS;AAAA,UAChB;AAAA,QACF,CAAC;AAAA,MACH;AACA,aAAO;AAAA,QACL,SAAS;AAAA,UACP,EAAC,MAAM,QAAQ,MAAM,KAAK,UAAU,MAAM,EAAC;AAAA,UAC3C,GAAG,eAAU,kBAAkB,IAAI,cAAY;AAC7C,kBAAM,WAAW,wBAAwB,QAAQ;AACjD,gBAAI,CAAC,UAAU;AACb,oBAAM,IAAI,MAAM,YAAY,QAAQ,YAAY;AAAA,YAClD;AACA,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,KAAK,SAAS;AAAA,cACd,MAAM,SAAS;AAAA,cACf,UAAU,SAAS;AAAA,cACnB,aAAa,SAAS;AAAA,cACtB,aAAa;AAAA,gBACX,UAAU,CAAC,QAAQ,WAAW;AAAA,cAChC;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,mBAAmB;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAIA,WAAS,iBAAiB,UAAkB;AAC1C,YAAQ,UAAU;AAAA,MAChB,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAOb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAOb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UASb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAWb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA,UAEb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA,UAEb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA,UAEb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,OAAO;AAAA,UACP,aAAa;AAAA;AAAA,UAEb,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAa,gBAAkB,aAAQ,WAAW,OAAO,QAAQ,GAAG,MAAM;AAAA,QAC5E;AAAA,MACF;AACE,cAAM,IAAI,MAAM,GAAG,QAAQ,gCAAgC;AAAA,IAC/D;AAAA,EACF;AAEA,iBAAU,WAAW,QAAQ,cAAY;AACvC,UAAM,WAAW,iBAAiB,QAAQ;AAC1C,QAAI,CAAC,YAAY,CAAC,SAAS,UAAU;AACnC,YAAM,IAAI,MAAM,YAAY,QAAQ,YAAY;AAAA,IAClD;AACA,WAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT;AAAA,QACE,OAAO,SAAS;AAAA,QAChB,aAAa,SAAS;AAAA,QACtB,UAAU,SAAS;AAAA,MACrB;AAAA,MACA,OAAO,SAAc;AAAA,QACnB,UAAU;AAAA,UACR;AAAA,YACE,KAAK,IAAI;AAAA,YACT,MAAM,SAAS;AAAA,UACjB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAab,aAAa;AAAA,QACX,cAAc;AAAA,MAChB;AAAA,IACF;AAAA,IACA,YAAY;AACV,YAAM,SAAS;AAAA,QACb,OAAO,eAAU,WAAW;AAAA,QAC5B,OAAO,eAAU,WAAW,IAAI,cAAY;AAC1C,gBAAM,WAAW,iBAAiB,QAAQ;AAC1C,cAAI,CAAC,UAAU;AACb,kBAAM,IAAI,MAAM,YAAY,QAAQ,YAAY;AAAA,UAClD;AACA,iBAAO;AAAA,YACL,MAAM,SAAS;AAAA,YACf,KAAK,SAAS;AAAA,UAChB;AAAA,QACF,CAAC;AAAA,MACH;AACA,aAAO;AAAA,QACL,SAAS;AAAA,UACP,EAAC,MAAM,QAAQ,MAAM,KAAK,UAAU,MAAM,EAAC;AAAA,UAC3C,GAAG,eAAU,WAAW,IAAI,cAAY;AACtC,kBAAM,WAAW,iBAAiB,QAAQ;AAC1C,gBAAI,CAAC,UAAU;AACb,oBAAM,IAAI,MAAM,YAAY,QAAQ,YAAY;AAAA,YAClD;AACA,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,KAAK,SAAS;AAAA,cACd,MAAM,SAAS;AAAA,cACf,UAAU,SAAS;AAAA,cACnB,aAAa,SAAS;AAAA,cACtB,aAAa;AAAA,gBACX,UAAU,CAAC,QAAQ,WAAW;AAAA,cAChC;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,mBAAmB;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -10,7 +10,6 @@ use numerical naming conventions, and introducing new surface, focus, accent, an
|
|
|
10
10
|
The v4 release includes:
|
|
11
11
|
|
|
12
12
|
- **Extended alpha scales** across base color palettes (A25, A50, A100, A200)
|
|
13
|
-
- **New magenta palette** added to the color system
|
|
14
13
|
- **Brand token updates** with numerical naming (25, 50, 100, 200...900, 950, 975)
|
|
15
14
|
- **Comprehensive surface token system** for better UI component support
|
|
16
15
|
- **New semantic tokens** for size, space, shape, and breakpoints
|
|
@@ -23,11 +22,6 @@ The v4 release includes:
|
|
|
23
22
|
Base color palettes have been updated by adding alpha scales: **A25, A50, A100, A200**. Extended
|
|
24
23
|
alpha range (**A0-A975**) has been added to slate, neutral, and white palettes.
|
|
25
24
|
|
|
26
|
-
### New Magenta Palette
|
|
27
|
-
|
|
28
|
-
A new **magenta palette** has been added to the color system, providing additional color options for
|
|
29
|
-
design consistency.
|
|
30
|
-
|
|
31
25
|
## Brand Token Updates
|
|
32
26
|
|
|
33
27
|
Brand tokens have been updated to use **numerical names** (25, 50, 100, 200...900, 950, 975) and
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workday/canvas-kit-mcp",
|
|
3
|
-
"version": "14.2.
|
|
3
|
+
"version": "14.2.16",
|
|
4
4
|
"description": "MCP package for Canvas Kit",
|
|
5
5
|
"author": "Workday, Inc. (https://www.workday.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"tsx": "^4.7.0",
|
|
54
54
|
"typescript": "5.0"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "c83f683bc78c727e7b79f1cfe7a24c1df41185d0"
|
|
57
57
|
}
|