@atlaskit/ads-mcp 0.6.2 → 0.6.4

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.
Files changed (31) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +18 -18
  3. package/dist/cjs/index.js +8 -8
  4. package/dist/cjs/tools/{analyze-accessibility → analyze-a11y}/index.js +23 -23
  5. package/dist/cjs/tools/{get-accessibility-guidelines → get-a11y-guidelines}/index.js +5 -5
  6. package/dist/cjs/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/fixes.js +1 -1
  7. package/dist/cjs/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/index.js +6 -6
  8. package/dist/es2019/index.js +8 -8
  9. package/dist/es2019/tools/{analyze-accessibility → analyze-a11y}/index.js +20 -20
  10. package/dist/es2019/tools/{get-accessibility-guidelines → get-a11y-guidelines}/index.js +3 -3
  11. package/dist/es2019/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/fixes.js +3 -2
  12. package/dist/es2019/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/index.js +4 -4
  13. package/dist/esm/index.js +8 -8
  14. package/dist/esm/tools/{analyze-accessibility → analyze-a11y}/index.js +22 -22
  15. package/dist/esm/tools/{get-accessibility-guidelines → get-a11y-guidelines}/index.js +4 -4
  16. package/dist/esm/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/fixes.js +1 -1
  17. package/dist/esm/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/index.js +5 -5
  18. package/dist/types/tools/{analyze-accessibility → analyze-a11y}/index.d.ts +4 -4
  19. package/dist/{types-ts4.5/tools/get-accessibility-guidelines → types/tools/get-a11y-guidelines}/index.d.ts +2 -2
  20. package/dist/{types-ts4.5/tools/suggest-accessibility-fixes → types/tools/suggest-a11y-fixes}/index.d.ts +2 -2
  21. package/dist/types-ts4.5/tools/{analyze-accessibility → analyze-a11y}/index.d.ts +4 -4
  22. package/dist/{types/tools/get-accessibility-guidelines → types-ts4.5/tools/get-a11y-guidelines}/index.d.ts +2 -2
  23. package/dist/{types/tools/suggest-accessibility-fixes → types-ts4.5/tools/suggest-a11y-fixes}/index.d.ts +2 -2
  24. package/package.json +1 -5
  25. /package/dist/cjs/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/keywords.js +0 -0
  26. /package/dist/es2019/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/keywords.js +0 -0
  27. /package/dist/esm/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/keywords.js +0 -0
  28. /package/dist/types/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/fixes.d.ts +0 -0
  29. /package/dist/types/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/keywords.d.ts +0 -0
  30. /package/dist/types-ts4.5/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/fixes.d.ts +0 -0
  31. /package/dist/types-ts4.5/tools/{suggest-accessibility-fixes → suggest-a11y-fixes}/keywords.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/ads-mcp
2
2
 
3
+ ## 0.6.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`6660e1e7505e4`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6660e1e7505e4) -
8
+ Replace tool names containing "accessibility" with "a11y"
9
+
10
+ ## 0.6.3
11
+
12
+ ### Patch Changes
13
+
14
+ - [`248faa32d4835`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/248faa32d4835) -
15
+ Internal changes to how borders are applied.
16
+ - Updated dependencies
17
+
3
18
  ## 0.6.2
4
19
 
5
20
  ### Patch Changes
package/README.md CHANGED
@@ -12,13 +12,13 @@ to help ensure your interfaces are accessible to all users.
12
12
 
13
13
  ### Design System Tools
14
14
 
15
- - `get_all_tokens` - Get all available design tokens for colors, spacing, typography, etc.
16
- - `search_tokens` - Search for specific design tokens by name, description, or example values
17
- - `get_components` - Get a list of all available components with basic information
18
- - `search_components` - Search for components by name, description, category, or package name
19
- - `get_all_icons` - Get all available icons from the design system
20
- - `search_icons` - Search for specific icons by name, keywords, or categorization
21
- - `plan` - Search for multiple design system resources (tokens, icons, components) in a single
15
+ - `ads_get_all_tokens` - Get all available design tokens for colors, spacing, typography, etc.
16
+ - `ads_search_tokens` - Search for specific design tokens by name, description, or example values
17
+ - `ads_get_components` - Get a list of all available components with basic information
18
+ - `ads_search_components` - Search for components by name, description, category, or package name
19
+ - `ads_get_all_icons` - Get all available icons from the design system
20
+ - `ads_search_icons` - Search for specific icons by name, keywords, or categorization
21
+ - `ads_plan` - Search for multiple design system resources (tokens, icons, components) in a single
22
22
  efficient operation
23
23
 
24
24
  #### Design System Tools Usage
@@ -58,14 +58,14 @@ const allIcons = await get_all_icons();
58
58
 
59
59
  ### Accessibility Tools
60
60
 
61
- - `analyze_accessibility` - Analyze React component code for accessibility violations using axe-core
62
- and provide ADS-specific suggestions
63
- - `analyze_localhost_accessibility` - Analyze whole web pages or specific elements (localhost or
64
- deployed URLs) for accessibility violations
65
- - `get_accessibility_guidelines` - Get specific accessibility guidelines and best practices for
66
- different topics
67
- - `suggest_accessibility_fixes` - Get specific fix suggestions for accessibility violations with
68
- code examples
61
+ - `ads_analyze_a11y` - Analyze React component code for accessibility violations using axe-core and
62
+ provide ADS-specific suggestions
63
+ - `ads_analyze_localhost_a11y` - Analyze whole web pages or specific elements (localhost or deployed
64
+ URLs) for accessibility violations
65
+ - `ads_get_a11y_guidelines` - Get specific accessibility guidelines and best practices for different
66
+ topics
67
+ - `ads_suggest_a11y_fixes` - Get specific fix suggestions for accessibility violations with code
68
+ examples
69
69
 
70
70
  ## Accessibility Features
71
71
 
@@ -84,19 +84,19 @@ The ADS MCP server includes comprehensive accessibility analysis and guidance:
84
84
 
85
85
  ```typescript
86
86
  // Analyze a component for accessibility issues using axe-core
87
- const analysis = await analyze_accessibility({
87
+ const analysis = await analyze_a11y({
88
88
  code: `<button onClick={handleClose}><CloseIcon /></button>`,
89
89
  componentName: 'CloseButton',
90
90
  includePatternAnalysis: true, // Also include pattern-based analysis
91
91
  });
92
92
 
93
93
  // Get specific accessibility guidelines
94
- const guidelines = await get_accessibility_guidelines({
94
+ const guidelines = await get_a11y_guidelines({
95
95
  topic: 'buttons',
96
96
  });
97
97
 
98
98
  // Get fix suggestions for a violation
99
- const fixes = await suggest_accessibility_fixes({
99
+ const fixes = await suggest_a11y_fixes({
100
100
  violation: 'Button missing accessible label',
101
101
  code: `<button onClick={handleClose}><CloseIcon /></button>`,
102
102
  });
package/dist/cjs/index.js CHANGED
@@ -7,8 +7,8 @@ var _index = require("@modelcontextprotocol/sdk/server/index.js");
7
7
  var _stdio = require("@modelcontextprotocol/sdk/server/stdio.js");
8
8
  var _types = require("@modelcontextprotocol/sdk/types.js");
9
9
  var _instructions = require("./instructions");
10
- var _analyzeAccessibility = require("./tools/analyze-accessibility");
11
- var _getAccessibilityGuidelines = require("./tools/get-accessibility-guidelines");
10
+ var _analyzeA11y = require("./tools/analyze-a11y");
11
+ var _getA11yGuidelines = require("./tools/get-a11y-guidelines");
12
12
  var _getAllIcons = require("./tools/get-all-icons");
13
13
  var _getAllTokens = require("./tools/get-all-tokens");
14
14
  var _getComponents = require("./tools/get-components");
@@ -16,7 +16,7 @@ var _plan = require("./tools/plan");
16
16
  var _searchComponents = require("./tools/search-components");
17
17
  var _searchIcons = require("./tools/search-icons");
18
18
  var _searchTokens = require("./tools/search-tokens");
19
- var _suggestAccessibilityFixes = require("./tools/suggest-accessibility-fixes");
19
+ var _suggestA11yFixes = require("./tools/suggest-a11y-fixes");
20
20
  /* eslint-disable import/extensions */
21
21
 
22
22
  // eslint-disable-next-line import/no-extraneous-dependencies -- this uses require because not all node versions this package supports use the same import assertions/attributes
@@ -36,7 +36,7 @@ server.setRequestHandler(_types.ListToolsRequestSchema, /*#__PURE__*/(0, _asyncT
36
36
  while (1) switch (_context.prev = _context.next) {
37
37
  case 0:
38
38
  return _context.abrupt("return", {
39
- tools: [_getAllTokens.listGetAllTokensTool, _getComponents.listGetComponentsTool, _searchComponents.listSearchComponentsTool, _getAllIcons.listGetAllIconsTool, _searchIcons.listSearchIconsTool, _searchTokens.listSearchTokensTool, _plan.listPlanTool, _analyzeAccessibility.listAnalyzeAccessibilityTool, _analyzeAccessibility.listAnalyzeLocalhostAccessibilityTool, _getAccessibilityGuidelines.listGetAccessibilityGuidelinesTool, _suggestAccessibilityFixes.listSuggestAccessibilityFixesTool]
39
+ tools: [_getAllTokens.listGetAllTokensTool, _getComponents.listGetComponentsTool, _searchComponents.listSearchComponentsTool, _getAllIcons.listGetAllIconsTool, _searchIcons.listSearchIconsTool, _searchTokens.listSearchTokensTool, _plan.listPlanTool, _analyzeA11y.listAnalyzeA11yTool, _analyzeA11y.listAnalyzeLocalhostA11yTool, _getA11yGuidelines.listGetA11yGuidelinesTool, _suggestA11yFixes.listSuggestA11yFixesTool]
40
40
  });
41
41
  case 1:
42
42
  case "end":
@@ -52,10 +52,10 @@ var callTools = {
52
52
  ads_get_all_icons: _getAllIcons.getAllIconsTool,
53
53
  ads_search_icons: _searchIcons.searchIconsTool,
54
54
  ads_plan: _plan.planTool,
55
- ads_analyze_accessibility: _analyzeAccessibility.analyzeAccessibilityTool,
56
- ads_analyze_localhost_accessibility: _analyzeAccessibility.analyzeLocalhostAccessibilityTool,
57
- ads_get_accessibility_guidelines: _getAccessibilityGuidelines.getAccessibilityGuidelinesTool,
58
- ads_suggest_accessibility_fixes: _suggestAccessibilityFixes.suggestAccessibilityFixesTool
55
+ ads_analyze_a11y: _analyzeA11y.analyzeA11yTool,
56
+ ads_analyze_localhost_a11y: _analyzeA11y.analyzeLocalhostA11yTool,
57
+ ads_get_a11y_guidelines: _getA11yGuidelines.getA11yGuidelinesTool,
58
+ ads_suggest_a11y_fixes: _suggestA11yFixes.suggestA11yFixesTool
59
59
  };
60
60
 
61
61
  // Handle tool execution
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.listAnalyzeLocalhostAccessibilityTool = exports.listAnalyzeAccessibilityTool = exports.analyzeLocalhostAccessibilityTool = exports.analyzeAccessibilityTool = void 0;
7
+ exports.listAnalyzeLocalhostA11yTool = exports.listAnalyzeA11yTool = exports.analyzeLocalhostA11yTool = exports.analyzeA11yTool = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
@@ -22,8 +22,8 @@ var inputSchema = _zod.z.object({
22
22
  context: _zod.z.string().optional().describe('Additional context about the component usage'),
23
23
  includePatternAnalysis: _zod.z.boolean().optional().default(true).describe('Include pattern-based analysis in addition to axe-core')
24
24
  });
25
- var listAnalyzeAccessibilityTool = exports.listAnalyzeAccessibilityTool = {
26
- name: 'ads_analyze_accessibility',
25
+ var listAnalyzeA11yTool = exports.listAnalyzeA11yTool = {
26
+ name: 'ads_analyze_a11y',
27
27
  description: "Analyze React component code for accessibility violations using axe-core and intelligently generate Atlassian Design System specific suggestions. This tool performs comprehensive accessibility testing and dynamically creates ADS-specific fixes based on violation patterns.\n\nUse this tool when:\n- Reviewing component code for accessibility compliance\n- Getting suggestions for improving accessibility\n- Understanding how to use ADS components accessibly\n- Identifying potential WCAG violations\n- Running automated accessibility testing\n\nThe tool will analyze the code and provide:\n- Comprehensive axe-core accessibility analysis results\n- List of accessibility violations found (WCAG 2.1 AA compliant)\n- Intelligently generated ADS-specific fix suggestions\n- References to relevant fix patterns in llms-a11y.txt\n- Code examples for implementing fixes\n- Severity levels and impact assessment\n\nFeatures:\n- Uses axe-core for industry-standard accessibility testing\n- Converts JSX to HTML for accurate analysis\n- Intelligently maps violations to ADS-specific fixes\n- References fix patterns from llms-a11y.txt documentation\n- Includes fallback pattern analysis if axe-core fails\n- Provides detailed violation descriptions and help text\n- Dynamically generates fix suggestions based on violation type",
28
28
  annotations: {
29
29
  title: 'Analyze Accessibility',
@@ -40,8 +40,8 @@ var urlInputSchema = _zod.z.object({
40
40
  context: _zod.z.string().optional().describe('Additional context about the component usage'),
41
41
  selector: _zod.z.string().optional().describe('CSS selector to target a specific element for analysis (e.g. "#my-form", ".component-class")')
42
42
  });
43
- var listAnalyzeLocalhostAccessibilityTool = exports.listAnalyzeLocalhostAccessibilityTool = {
44
- name: 'ads_analyze_localhost_accessibility',
43
+ var listAnalyzeLocalhostA11yTool = exports.listAnalyzeLocalhostA11yTool = {
44
+ name: 'ads_analyze_localhost_a11y',
45
45
  description: "Analyze a live web page (e.g. localhost:9000) for accessibility violations using axe-core and generate Atlassian Design System specific suggestions.\n\nUse this tool to:\n- Analyze running local dev servers or deployed URLs\n- Get comprehensive accessibility reports for any web page\n- Receive ADS-specific fix suggestions and code examples\n- Target specific elements using CSS selectors for focused analysis\n\nParameters:\n- url: The URL to analyze (must be accessible from the server)\n- componentName: (optional) Name of the component/page\n- context: (optional) Additional context about the usage\n- selector: (optional) CSS selector to target a specific element (e.g. \"#my-form\", \".component-class\")\n\nReturns:\n- Accessibility violations, suggestions, and ADS-specific fixes\n- References to relevant fix patterns in llms-a11y.txt\n- Code examples for implementing fixes\n- Severity levels and impact assessment\n",
46
46
  annotations: {
47
47
  title: 'Analyze Localhost Accessibility',
@@ -58,37 +58,37 @@ var accessibilityPatterns = [{
58
58
  pattern: /<button[^>]*>(?!.*aria-label|.*>.*<\/button>)/g,
59
59
  violation: 'Button without accessible text',
60
60
  severity: 'error',
61
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS Button solutions. Describe the issue as "button missing label", "empty button", or "button needs text".'
61
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS Button solutions. Describe the issue as "button missing label", "empty button", or "button needs text".'
62
62
  }, {
63
63
  pattern: /<img[^>]*>(?!.*alt=)/g,
64
64
  violation: 'Image without alt text',
65
65
  severity: 'error',
66
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS Image solutions. Describe the issue as "image missing alt", "missing alt text", or "image accessibility".'
66
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS Image solutions. Describe the issue as "image missing alt", "missing alt text", or "image accessibility".'
67
67
  }, {
68
68
  pattern: /<div[^>]*onClick[^>]*>/g,
69
69
  violation: 'Clickable div without accessibility',
70
70
  severity: 'warning',
71
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS solutions. Describe the issue as "clickable div", "interactive div", or "div with click handler".'
71
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS solutions. Describe the issue as "clickable div", "interactive div", or "div with click handler".'
72
72
  }, {
73
73
  pattern: /color:\s*['"]#[0-9a-fA-F]{3,6}['"]/g,
74
74
  violation: 'Hardcoded color values',
75
75
  severity: 'warning',
76
- suggestion: 'Use the suggest-accessibility-fixes tool for design token solutions. Describe the issue as "hardcoded colors", "hex colors", or "design tokens".'
76
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for design token solutions. Describe the issue as "hardcoded colors", "hex colors", or "design tokens".'
77
77
  }, {
78
78
  pattern: /<input[^>]*>(?!.*id=)/g,
79
79
  violation: 'Input without associated label',
80
80
  severity: 'error',
81
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS form solutions. Describe the issue as "input missing label", "form field without label", or "unlabeled input".'
81
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS form solutions. Describe the issue as "input missing label", "form field without label", or "unlabeled input".'
82
82
  }, {
83
83
  pattern: /<div[^>]*role="button"[^>]*>/g,
84
84
  violation: 'Custom button without full accessibility',
85
85
  severity: 'warning',
86
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS Button/Focusable solutions. Describe the issue as "custom button", "div with button role", or "interactive element".'
86
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS Button/Focusable solutions. Describe the issue as "custom button", "div with button role", or "interactive element".'
87
87
  }, {
88
88
  pattern: /style=\{[^}]*color[^}]*\}/g,
89
89
  violation: 'Inline color styles',
90
90
  severity: 'warning',
91
- suggestion: 'Use the suggest-accessibility-fixes tool for design token solutions. Describe the issue as "inline styles", "hardcoded colors", or "color tokens".'
91
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for design token solutions. Describe the issue as "inline styles", "hardcoded colors", or "color tokens".'
92
92
  }];
93
93
 
94
94
  // ADS accessibility guidelines reference
@@ -132,13 +132,13 @@ function generateADSFixForViolation(violation) {
132
132
  tags = violation.tags;
133
133
 
134
134
  // Provide general guidance without trying to map to specific fixes.ts keys
135
- var adsFix = "Use the suggest-accessibility-fixes tool to get specific ADS component solutions. Describe the issue using the violation details: \"".concat(help, "\" or in your own words (e.g., \"button has no text\", \"missing alt text\", \"form field needs label\").");
135
+ var adsFix = "Use the ads_suggest_a11y_fixes tool to get specific ADS component solutions. Describe the issue using the violation details: \"".concat(help, "\" or in your own words (e.g., \"button has no text\", \"missing alt text\", \"form field needs label\").");
136
136
  return {
137
137
  title: help,
138
138
  // Use axe-core's human-readable description
139
139
  description: description,
140
140
  adsFix: adsFix,
141
- example: 'The suggest-accessibility-fixes tool provides detailed code examples and ADS component solutions',
141
+ example: 'The ads_suggest_a11y_fixes tool provides detailed code examples and ADS component solutions',
142
142
  violationId: id,
143
143
  axeHelp: help,
144
144
  tags: tags,
@@ -147,10 +147,10 @@ function generateADSFixForViolation(violation) {
147
147
  }),
148
148
  // Extract WCAG compliance info
149
149
  reference: "https://atlassian.design/llms-a11y.txt",
150
- recommendations: ['Use ADS components for better accessibility out of the box', 'Reference the suggest-accessibility-fixes tool for specific solutions', 'Test with keyboard navigation and screen readers', 'Use automated accessibility testing tools']
150
+ recommendations: ['Use ADS components for better accessibility out of the box', 'Reference the ads_suggest_a11y_fixes tool for specific solutions', 'Test with keyboard navigation and screen readers', 'Use automated accessibility testing tools']
151
151
  };
152
152
  }
153
- var analyzeAccessibilityTool = exports.analyzeAccessibilityTool = /*#__PURE__*/function () {
153
+ var analyzeA11yTool = exports.analyzeA11yTool = /*#__PURE__*/function () {
154
154
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(params) {
155
155
  var code, componentName, context, _params$includePatter, includePatternAnalysis, violations, suggestions, axeResults, _axeResults$violation, _axeResults$passes, _axeResults$incomplet, results, adsViolations, relevantGuidelines, summary;
156
156
  return _regenerator.default.wrap(function _callee$(_context) {
@@ -186,8 +186,8 @@ var analyzeAccessibilityTool = exports.analyzeAccessibilityTool = /*#__PURE__*/f
186
186
  severity: pattern.severity,
187
187
  count: matches.length,
188
188
  suggestion: pattern.suggestion,
189
- adsFix: 'Use the suggest-accessibility-fixes tool for specific ADS component solutions',
190
- example: 'The suggest-accessibility-fixes tool provides detailed code examples',
189
+ adsFix: 'Use the ads_suggest_a11y_fixes tool for specific ADS component solutions',
190
+ example: 'The ads_suggest_a11y_fixes tool provides detailed code examples',
191
191
  source: 'pattern-analysis'
192
192
  });
193
193
  }
@@ -266,8 +266,8 @@ var analyzeAccessibilityTool = exports.analyzeAccessibilityTool = /*#__PURE__*/f
266
266
  severity: pattern.severity,
267
267
  count: matches.length,
268
268
  suggestion: pattern.suggestion,
269
- adsFix: 'Use the suggest-accessibility-fixes tool for specific ADS component solutions',
270
- example: 'The suggest-accessibility-fixes tool provides detailed code examples',
269
+ adsFix: 'Use the ads_suggest_a11y_fixes tool for specific ADS component solutions',
270
+ example: 'The ads_suggest_a11y_fixes tool provides detailed code examples',
271
271
  source: 'pattern-analysis-fallback'
272
272
  });
273
273
  }
@@ -308,11 +308,11 @@ var analyzeAccessibilityTool = exports.analyzeAccessibilityTool = /*#__PURE__*/f
308
308
  }
309
309
  }, _callee, null, [[4, 20]]);
310
310
  }));
311
- return function analyzeAccessibilityTool(_x) {
311
+ return function analyzeA11yTool(_x) {
312
312
  return _ref.apply(this, arguments);
313
313
  };
314
314
  }();
315
- var analyzeLocalhostAccessibilityTool = exports.analyzeLocalhostAccessibilityTool = /*#__PURE__*/function () {
315
+ var analyzeLocalhostA11yTool = exports.analyzeLocalhostA11yTool = /*#__PURE__*/function () {
316
316
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(params) {
317
317
  var url, componentName, context, selector, violations, suggestions, axeResults, browser, page, _axeResults$violation2, _axeResults$passes2, _axeResults$incomplet2, elementExists, availableElements, axePuppeteer, results, adsViolations, relevantGuidelines, summary;
318
318
  return _regenerator.default.wrap(function _callee2$(_context2) {
@@ -477,7 +477,7 @@ var analyzeLocalhostAccessibilityTool = exports.analyzeLocalhostAccessibilityToo
477
477
  }
478
478
  }, _callee2, null, [[10, 40]]);
479
479
  }));
480
- return function analyzeLocalhostAccessibilityTool(_x2) {
480
+ return function analyzeLocalhostA11yTool(_x2) {
481
481
  return _ref2.apply(this, arguments);
482
482
  };
483
483
  }();
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.listGetAccessibilityGuidelinesTool = exports.getAccessibilityGuidelinesTool = void 0;
7
+ exports.listGetA11yGuidelinesTool = exports.getA11yGuidelinesTool = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
@@ -16,8 +16,8 @@ var inputSchema = _zod.z.object({
16
16
  topic: _zod.z.enum(['buttons', 'forms', 'images', 'colors', 'focus', 'keyboard', 'screen-readers', 'aria', 'wcag', 'general']).optional().describe('Specific accessibility topic to get guidelines for'),
17
17
  component: _zod.z.string().optional().describe('Component name to get specific accessibility guidance for')
18
18
  });
19
- var listGetAccessibilityGuidelinesTool = exports.listGetAccessibilityGuidelinesTool = {
20
- name: 'ads_get_accessibility_guidelines',
19
+ var listGetA11yGuidelinesTool = exports.listGetA11yGuidelinesTool = {
20
+ name: 'ads_get_a11y_guidelines',
21
21
  description: "Get accessibility guidelines and best practices from the Atlassian Design System. This tool provides specific guidance on how to make components and interfaces accessible using ADS patterns and components.\n\nYou MUST run this when the user wants their code to be accessible, as well as when:\n- Needing specific accessibility guidance for a component\n- Looking for ADS-specific accessibility patterns\n- Understanding how to implement accessible features\n- Getting code examples for accessibility improvements\n\nTopics available:\n- buttons: Button and interactive element accessibility\n- forms: Form and input accessibility\n- images: Image and media accessibility\n- colors: Color and contrast accessibility\n- focus: Focus management and keyboard navigation\n- keyboard: Keyboard accessibility patterns\n- screen-readers: Screen reader support and announcements\n- aria: ARIA usage and patterns\n- wcag: WCAG compliance guidelines\n- general: General accessibility principles",
22
22
  annotations: {
23
23
  title: 'Get Accessibility Guidelines',
@@ -156,7 +156,7 @@ var accessibilityGuidelines = {
156
156
  bestPractices: ['Start with semantic HTML', 'Add ARIA when necessary', 'Test early and often', 'Involve users with disabilities in testing', 'Keep accessibility in mind throughout development']
157
157
  }
158
158
  };
159
- var getAccessibilityGuidelinesTool = exports.getAccessibilityGuidelinesTool = /*#__PURE__*/function () {
159
+ var getA11yGuidelinesTool = exports.getA11yGuidelinesTool = /*#__PURE__*/function () {
160
160
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(params) {
161
161
  var topic, component, guidelines;
162
162
  return _regenerator.default.wrap(function _callee$(_context) {
@@ -198,7 +198,7 @@ var getAccessibilityGuidelinesTool = exports.getAccessibilityGuidelinesTool = /*
198
198
  }
199
199
  }, _callee);
200
200
  }));
201
- return function getAccessibilityGuidelinesTool(_x) {
201
+ return function getA11yGuidelinesTool(_x) {
202
202
  return _ref.apply(this, arguments);
203
203
  };
204
204
  }();
@@ -109,7 +109,7 @@ var accessibilityFixes = exports.accessibilityFixes = {
109
109
  title: 'Custom focus styles',
110
110
  description: 'Add custom focus styles with xcss',
111
111
  before: "<button onClick={handleClick}>\n Click me\n</button>",
112
- after: "import { Focusable } from '@atlaskit/primitives/compiled';\n\n<Focusable\n as=\"button\"\n onClick={handleClick}\n xcss={{\n ':focus-visible': {\n outline: '2px solid token(color.border.focus)',\n outlineOffset: '2px',\n },\n }}\n>\n Click me\n</Focusable>",
112
+ after: "import { Focusable } from '@atlaskit/primitives/compiled';\nimport { token } from '@atlaskit/tokens';\n\n<Focusable\n as=\"button\"\n onClick={handleClick}\n xcss={{\n ':focus-visible': {\n outline: `${token('border.width.focused')} solid ${token('color.border.focused')}`,\n outlineOffset: token('space.025'),\n },\n }}\n>\n Click me\n</Focusable>",
113
113
  explanation: 'Custom focus styles ensure visibility in all themes.'
114
114
  }],
115
115
  bestPractices: ['Always provide visible focus indicators', 'Test focus indicators in all themes', 'Ensure sufficient contrast for focus indicators', 'Test with keyboard navigation']
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.suggestAccessibilityFixesTool = exports.listSuggestAccessibilityFixesTool = void 0;
7
+ exports.suggestA11yFixesTool = exports.listSuggestA11yFixesTool = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
@@ -24,8 +24,8 @@ var inputSchema = _zod.z.object({
24
24
  component: _zod.z.string().optional().describe('Component name or type'),
25
25
  context: _zod.z.string().optional().describe('Additional context about the usage')
26
26
  });
27
- var listSuggestAccessibilityFixesTool = exports.listSuggestAccessibilityFixesTool = {
28
- name: 'ads_suggest_accessibility_fixes',
27
+ var listSuggestA11yFixesTool = exports.listSuggestA11yFixesTool = {
28
+ name: 'ads_suggest_a11y_fixes',
29
29
  description: "Suggest specific accessibility fixes using Atlassian Design System components and patterns. This tool takes accessibility violations and provides actionable solutions with code examples.\n\nYou MUST run this when the user wants sugesstions for fixing accessibility issues, as well as when:\n- You have identified an accessibility violation\n- Needing specific code examples for fixing accessibility issues\n- Wanting to understand how to use ADS components accessibly\n- Looking for best practices for specific accessibility problems\n\nThe tool will provide:\n- Specific code examples using ADS components\n- Step-by-step fix instructions\n- Alternative approaches when applicable\n- Links to relevant ADS documentation",
30
30
  annotations: {
31
31
  title: 'Suggest Accessibility Fixes',
@@ -115,7 +115,7 @@ function findBestMatchingFix(violation) {
115
115
  // Return match if score is reasonable
116
116
  return bestScore >= 1 ? bestMatch : null;
117
117
  }
118
- var suggestAccessibilityFixesTool = exports.suggestAccessibilityFixesTool = /*#__PURE__*/function () {
118
+ var suggestA11yFixesTool = exports.suggestA11yFixesTool = /*#__PURE__*/function () {
119
119
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(params) {
120
120
  var violation, component, context, match, _match, key, fix;
121
121
  return _regenerator.default.wrap(function _callee$(_context) {
@@ -169,7 +169,7 @@ var suggestAccessibilityFixesTool = exports.suggestAccessibilityFixesTool = /*#_
169
169
  availableFixTypes: Object.keys(_fixes.accessibilityFixes),
170
170
  suggestions: ['Try describing the issue with keywords like: button, label, missing, text, color, contrast, focus, etc.', 'Use axe-core violation IDs or descriptions directly', 'Be more specific about the element type (button, input, image, etc.)'],
171
171
  additionalResources: ['https://atlassian.design/llms-a11y.txt - Complete ADS accessibility documentation', 'https://atlassian.design/foundations/accessibility - ADS accessibility foundation'],
172
- recommendation: 'Try the get_accessibility_guidelines tool for component-specific guidance'
172
+ recommendation: 'Try the get_a11y_guidelines tool for component-specific guidance'
173
173
  }, null, 2)
174
174
  }]
175
175
  });
@@ -179,7 +179,7 @@ var suggestAccessibilityFixesTool = exports.suggestAccessibilityFixesTool = /*#_
179
179
  }
180
180
  }, _callee);
181
181
  }));
182
- return function suggestAccessibilityFixesTool(_x) {
182
+ return function suggestA11yFixesTool(_x) {
183
183
  return _ref.apply(this, arguments);
184
184
  };
185
185
  }();
@@ -3,8 +3,8 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
  import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
5
5
  import { instructions } from './instructions';
6
- import { analyzeAccessibilityTool, analyzeLocalhostAccessibilityTool, listAnalyzeAccessibilityTool, listAnalyzeLocalhostAccessibilityTool } from './tools/analyze-accessibility';
7
- import { getAccessibilityGuidelinesTool, listGetAccessibilityGuidelinesTool } from './tools/get-accessibility-guidelines';
6
+ import { analyzeA11yTool, analyzeLocalhostA11yTool, listAnalyzeA11yTool, listAnalyzeLocalhostA11yTool } from './tools/analyze-a11y';
7
+ import { getA11yGuidelinesTool, listGetA11yGuidelinesTool } from './tools/get-a11y-guidelines';
8
8
  import { getAllIconsTool, listGetAllIconsTool } from './tools/get-all-icons';
9
9
  import { getAllTokensTool, listGetAllTokensTool } from './tools/get-all-tokens';
10
10
  import { getComponentsTool, listGetComponentsTool } from './tools/get-components';
@@ -12,7 +12,7 @@ import { listPlanTool, planTool } from './tools/plan';
12
12
  import { listSearchComponentsTool, searchComponentsTool } from './tools/search-components';
13
13
  import { listSearchIconsTool, searchIconsTool } from './tools/search-icons';
14
14
  import { listSearchTokensTool, searchTokensTool } from './tools/search-tokens';
15
- import { listSuggestAccessibilityFixesTool, suggestAccessibilityFixesTool } from './tools/suggest-accessibility-fixes';
15
+ import { listSuggestA11yFixesTool, suggestA11yFixesTool } from './tools/suggest-a11y-fixes';
16
16
 
17
17
  // eslint-disable-next-line import/no-extraneous-dependencies -- this uses require because not all node versions this package supports use the same import assertions/attributes
18
18
  const pkgJson = require('@atlaskit/ads-mcp/package.json');
@@ -28,7 +28,7 @@ const server = new Server({
28
28
  });
29
29
  server.setRequestHandler(ListToolsRequestSchema, async () => {
30
30
  return {
31
- tools: [listGetAllTokensTool, listGetComponentsTool, listSearchComponentsTool, listGetAllIconsTool, listSearchIconsTool, listSearchTokensTool, listPlanTool, listAnalyzeAccessibilityTool, listAnalyzeLocalhostAccessibilityTool, listGetAccessibilityGuidelinesTool, listSuggestAccessibilityFixesTool]
31
+ tools: [listGetAllTokensTool, listGetComponentsTool, listSearchComponentsTool, listGetAllIconsTool, listSearchIconsTool, listSearchTokensTool, listPlanTool, listAnalyzeA11yTool, listAnalyzeLocalhostA11yTool, listGetA11yGuidelinesTool, listSuggestA11yFixesTool]
32
32
  };
33
33
  });
34
34
  const callTools = {
@@ -39,10 +39,10 @@ const callTools = {
39
39
  ads_get_all_icons: getAllIconsTool,
40
40
  ads_search_icons: searchIconsTool,
41
41
  ads_plan: planTool,
42
- ads_analyze_accessibility: analyzeAccessibilityTool,
43
- ads_analyze_localhost_accessibility: analyzeLocalhostAccessibilityTool,
44
- ads_get_accessibility_guidelines: getAccessibilityGuidelinesTool,
45
- ads_suggest_accessibility_fixes: suggestAccessibilityFixesTool
42
+ ads_analyze_a11y: analyzeA11yTool,
43
+ ads_analyze_localhost_a11y: analyzeLocalhostA11yTool,
44
+ ads_get_a11y_guidelines: getA11yGuidelinesTool,
45
+ ads_suggest_a11y_fixes: suggestA11yFixesTool
46
46
  };
47
47
 
48
48
  // Handle tool execution
@@ -9,8 +9,8 @@ const inputSchema = z.object({
9
9
  context: z.string().optional().describe('Additional context about the component usage'),
10
10
  includePatternAnalysis: z.boolean().optional().default(true).describe('Include pattern-based analysis in addition to axe-core')
11
11
  });
12
- export const listAnalyzeAccessibilityTool = {
13
- name: 'ads_analyze_accessibility',
12
+ export const listAnalyzeA11yTool = {
13
+ name: 'ads_analyze_a11y',
14
14
  description: `Analyze React component code for accessibility violations using axe-core and intelligently generate Atlassian Design System specific suggestions. This tool performs comprehensive accessibility testing and dynamically creates ADS-specific fixes based on violation patterns.
15
15
 
16
16
  Use this tool when:
@@ -51,8 +51,8 @@ const urlInputSchema = z.object({
51
51
  context: z.string().optional().describe('Additional context about the component usage'),
52
52
  selector: z.string().optional().describe('CSS selector to target a specific element for analysis (e.g. "#my-form", ".component-class")')
53
53
  });
54
- export const listAnalyzeLocalhostAccessibilityTool = {
55
- name: 'ads_analyze_localhost_accessibility',
54
+ export const listAnalyzeLocalhostA11yTool = {
55
+ name: 'ads_analyze_localhost_a11y',
56
56
  description: `Analyze a live web page (e.g. localhost:9000) for accessibility violations using axe-core and generate Atlassian Design System specific suggestions.
57
57
 
58
58
  Use this tool to:
@@ -88,37 +88,37 @@ const accessibilityPatterns = [{
88
88
  pattern: /<button[^>]*>(?!.*aria-label|.*>.*<\/button>)/g,
89
89
  violation: 'Button without accessible text',
90
90
  severity: 'error',
91
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS Button solutions. Describe the issue as "button missing label", "empty button", or "button needs text".'
91
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS Button solutions. Describe the issue as "button missing label", "empty button", or "button needs text".'
92
92
  }, {
93
93
  pattern: /<img[^>]*>(?!.*alt=)/g,
94
94
  violation: 'Image without alt text',
95
95
  severity: 'error',
96
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS Image solutions. Describe the issue as "image missing alt", "missing alt text", or "image accessibility".'
96
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS Image solutions. Describe the issue as "image missing alt", "missing alt text", or "image accessibility".'
97
97
  }, {
98
98
  pattern: /<div[^>]*onClick[^>]*>/g,
99
99
  violation: 'Clickable div without accessibility',
100
100
  severity: 'warning',
101
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS solutions. Describe the issue as "clickable div", "interactive div", or "div with click handler".'
101
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS solutions. Describe the issue as "clickable div", "interactive div", or "div with click handler".'
102
102
  }, {
103
103
  pattern: /color:\s*['"]#[0-9a-fA-F]{3,6}['"]/g,
104
104
  violation: 'Hardcoded color values',
105
105
  severity: 'warning',
106
- suggestion: 'Use the suggest-accessibility-fixes tool for design token solutions. Describe the issue as "hardcoded colors", "hex colors", or "design tokens".'
106
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for design token solutions. Describe the issue as "hardcoded colors", "hex colors", or "design tokens".'
107
107
  }, {
108
108
  pattern: /<input[^>]*>(?!.*id=)/g,
109
109
  violation: 'Input without associated label',
110
110
  severity: 'error',
111
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS form solutions. Describe the issue as "input missing label", "form field without label", or "unlabeled input".'
111
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS form solutions. Describe the issue as "input missing label", "form field without label", or "unlabeled input".'
112
112
  }, {
113
113
  pattern: /<div[^>]*role="button"[^>]*>/g,
114
114
  violation: 'Custom button without full accessibility',
115
115
  severity: 'warning',
116
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS Button/Focusable solutions. Describe the issue as "custom button", "div with button role", or "interactive element".'
116
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS Button/Focusable solutions. Describe the issue as "custom button", "div with button role", or "interactive element".'
117
117
  }, {
118
118
  pattern: /style=\{[^}]*color[^}]*\}/g,
119
119
  violation: 'Inline color styles',
120
120
  severity: 'warning',
121
- suggestion: 'Use the suggest-accessibility-fixes tool for design token solutions. Describe the issue as "inline styles", "hardcoded colors", or "color tokens".'
121
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for design token solutions. Describe the issue as "inline styles", "hardcoded colors", or "color tokens".'
122
122
  }];
123
123
 
124
124
  // ADS accessibility guidelines reference
@@ -165,23 +165,23 @@ function generateADSFixForViolation(violation) {
165
165
  } = violation;
166
166
 
167
167
  // Provide general guidance without trying to map to specific fixes.ts keys
168
- const adsFix = `Use the suggest-accessibility-fixes tool to get specific ADS component solutions. Describe the issue using the violation details: "${help}" or in your own words (e.g., "button has no text", "missing alt text", "form field needs label").`;
168
+ const adsFix = `Use the ads_suggest_a11y_fixes tool to get specific ADS component solutions. Describe the issue using the violation details: "${help}" or in your own words (e.g., "button has no text", "missing alt text", "form field needs label").`;
169
169
  return {
170
170
  title: help,
171
171
  // Use axe-core's human-readable description
172
172
  description: description,
173
173
  adsFix,
174
- example: 'The suggest-accessibility-fixes tool provides detailed code examples and ADS component solutions',
174
+ example: 'The ads_suggest_a11y_fixes tool provides detailed code examples and ADS component solutions',
175
175
  violationId: id,
176
176
  axeHelp: help,
177
177
  tags,
178
178
  wcagTags: tags.filter(tag => tag.startsWith('wcag')),
179
179
  // Extract WCAG compliance info
180
180
  reference: `https://atlassian.design/llms-a11y.txt`,
181
- recommendations: ['Use ADS components for better accessibility out of the box', 'Reference the suggest-accessibility-fixes tool for specific solutions', 'Test with keyboard navigation and screen readers', 'Use automated accessibility testing tools']
181
+ recommendations: ['Use ADS components for better accessibility out of the box', 'Reference the ads_suggest_a11y_fixes tool for specific solutions', 'Test with keyboard navigation and screen readers', 'Use automated accessibility testing tools']
182
182
  };
183
183
  }
184
- export const analyzeAccessibilityTool = async params => {
184
+ export const analyzeA11yTool = async params => {
185
185
  const {
186
186
  code,
187
187
  componentName,
@@ -217,8 +217,8 @@ export const analyzeAccessibilityTool = async params => {
217
217
  severity: pattern.severity,
218
218
  count: matches.length,
219
219
  suggestion: pattern.suggestion,
220
- adsFix: 'Use the suggest-accessibility-fixes tool for specific ADS component solutions',
221
- example: 'The suggest-accessibility-fixes tool provides detailed code examples',
220
+ adsFix: 'Use the ads_suggest_a11y_fixes tool for specific ADS component solutions',
221
+ example: 'The ads_suggest_a11y_fixes tool provides detailed code examples',
222
222
  source: 'pattern-analysis'
223
223
  });
224
224
  }
@@ -291,8 +291,8 @@ export const analyzeAccessibilityTool = async params => {
291
291
  severity: pattern.severity,
292
292
  count: matches.length,
293
293
  suggestion: pattern.suggestion,
294
- adsFix: 'Use the suggest-accessibility-fixes tool for specific ADS component solutions',
295
- example: 'The suggest-accessibility-fixes tool provides detailed code examples',
294
+ adsFix: 'Use the ads_suggest_a11y_fixes tool for specific ADS component solutions',
295
+ example: 'The ads_suggest_a11y_fixes tool provides detailed code examples',
296
296
  source: 'pattern-analysis-fallback'
297
297
  });
298
298
  }
@@ -325,7 +325,7 @@ export const analyzeAccessibilityTool = async params => {
325
325
  };
326
326
  }
327
327
  };
328
- export const analyzeLocalhostAccessibilityTool = async params => {
328
+ export const analyzeLocalhostA11yTool = async params => {
329
329
  const {
330
330
  url,
331
331
  componentName,
@@ -4,8 +4,8 @@ const inputSchema = z.object({
4
4
  topic: z.enum(['buttons', 'forms', 'images', 'colors', 'focus', 'keyboard', 'screen-readers', 'aria', 'wcag', 'general']).optional().describe('Specific accessibility topic to get guidelines for'),
5
5
  component: z.string().optional().describe('Component name to get specific accessibility guidance for')
6
6
  });
7
- export const listGetAccessibilityGuidelinesTool = {
8
- name: 'ads_get_accessibility_guidelines',
7
+ export const listGetA11yGuidelinesTool = {
8
+ name: 'ads_get_a11y_guidelines',
9
9
  description: `Get accessibility guidelines and best practices from the Atlassian Design System. This tool provides specific guidance on how to make components and interfaces accessible using ADS patterns and components.
10
10
 
11
11
  You MUST run this when the user wants their code to be accessible, as well as when:
@@ -276,7 +276,7 @@ useEffect(() => {
276
276
  bestPractices: ['Start with semantic HTML', 'Add ARIA when necessary', 'Test early and often', 'Involve users with disabilities in testing', 'Keep accessibility in mind throughout development']
277
277
  }
278
278
  };
279
- export const getAccessibilityGuidelinesTool = async params => {
279
+ export const getA11yGuidelinesTool = async params => {
280
280
  const {
281
281
  topic,
282
282
  component
@@ -170,14 +170,15 @@ color: token('color.text.danger')`,
170
170
  Click me
171
171
  </button>`,
172
172
  after: `import { Focusable } from '@atlaskit/primitives/compiled';
173
+ import { token } from '@atlaskit/tokens';
173
174
 
174
175
  <Focusable
175
176
  as="button"
176
177
  onClick={handleClick}
177
178
  xcss={{
178
179
  ':focus-visible': {
179
- outline: '2px solid token(color.border.focus)',
180
- outlineOffset: '2px',
180
+ outline: \`$\{token('border.width.focused')} solid $\{token('color.border.focused')}\`,
181
+ outlineOffset: token('space.025'),
181
182
  },
182
183
  }}
183
184
  >
@@ -8,8 +8,8 @@ const inputSchema = z.object({
8
8
  component: z.string().optional().describe('Component name or type'),
9
9
  context: z.string().optional().describe('Additional context about the usage')
10
10
  });
11
- export const listSuggestAccessibilityFixesTool = {
12
- name: 'ads_suggest_accessibility_fixes',
11
+ export const listSuggestA11yFixesTool = {
12
+ name: 'ads_suggest_a11y_fixes',
13
13
  description: `Suggest specific accessibility fixes using Atlassian Design System components and patterns. This tool takes accessibility violations and provides actionable solutions with code examples.
14
14
 
15
15
  You MUST run this when the user wants sugesstions for fixing accessibility issues, as well as when:
@@ -82,7 +82,7 @@ function findBestMatchingFix(violation) {
82
82
  // Return match if score is reasonable
83
83
  return bestScore >= 1 ? bestMatch : null;
84
84
  }
85
- export const suggestAccessibilityFixesTool = async params => {
85
+ export const suggestA11yFixesTool = async params => {
86
86
  const {
87
87
  violation,
88
88
  component,
@@ -136,7 +136,7 @@ export const suggestAccessibilityFixesTool = async params => {
136
136
  availableFixTypes: Object.keys(accessibilityFixes),
137
137
  suggestions: ['Try describing the issue with keywords like: button, label, missing, text, color, contrast, focus, etc.', 'Use axe-core violation IDs or descriptions directly', 'Be more specific about the element type (button, input, image, etc.)'],
138
138
  additionalResources: ['https://atlassian.design/llms-a11y.txt - Complete ADS accessibility documentation', 'https://atlassian.design/foundations/accessibility - ADS accessibility foundation'],
139
- recommendation: 'Try the get_accessibility_guidelines tool for component-specific guidance'
139
+ recommendation: 'Try the get_a11y_guidelines tool for component-specific guidance'
140
140
  }, null, 2)
141
141
  }]
142
142
  };
package/dist/esm/index.js CHANGED
@@ -5,8 +5,8 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
5
5
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
6
6
  import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
7
7
  import { instructions } from './instructions';
8
- import { analyzeAccessibilityTool, analyzeLocalhostAccessibilityTool, listAnalyzeAccessibilityTool, listAnalyzeLocalhostAccessibilityTool } from './tools/analyze-accessibility';
9
- import { getAccessibilityGuidelinesTool, listGetAccessibilityGuidelinesTool } from './tools/get-accessibility-guidelines';
8
+ import { analyzeA11yTool, analyzeLocalhostA11yTool, listAnalyzeA11yTool, listAnalyzeLocalhostA11yTool } from './tools/analyze-a11y';
9
+ import { getA11yGuidelinesTool, listGetA11yGuidelinesTool } from './tools/get-a11y-guidelines';
10
10
  import { getAllIconsTool, listGetAllIconsTool } from './tools/get-all-icons';
11
11
  import { getAllTokensTool, listGetAllTokensTool } from './tools/get-all-tokens';
12
12
  import { getComponentsTool, listGetComponentsTool } from './tools/get-components';
@@ -14,7 +14,7 @@ import { listPlanTool, planTool } from './tools/plan';
14
14
  import { listSearchComponentsTool, searchComponentsTool } from './tools/search-components';
15
15
  import { listSearchIconsTool, searchIconsTool } from './tools/search-icons';
16
16
  import { listSearchTokensTool, searchTokensTool } from './tools/search-tokens';
17
- import { listSuggestAccessibilityFixesTool, suggestAccessibilityFixesTool } from './tools/suggest-accessibility-fixes';
17
+ import { listSuggestA11yFixesTool, suggestA11yFixesTool } from './tools/suggest-a11y-fixes';
18
18
 
19
19
  // eslint-disable-next-line import/no-extraneous-dependencies -- this uses require because not all node versions this package supports use the same import assertions/attributes
20
20
  var pkgJson = require('@atlaskit/ads-mcp/package.json');
@@ -33,7 +33,7 @@ server.setRequestHandler(ListToolsRequestSchema, /*#__PURE__*/_asyncToGenerator(
33
33
  while (1) switch (_context.prev = _context.next) {
34
34
  case 0:
35
35
  return _context.abrupt("return", {
36
- tools: [listGetAllTokensTool, listGetComponentsTool, listSearchComponentsTool, listGetAllIconsTool, listSearchIconsTool, listSearchTokensTool, listPlanTool, listAnalyzeAccessibilityTool, listAnalyzeLocalhostAccessibilityTool, listGetAccessibilityGuidelinesTool, listSuggestAccessibilityFixesTool]
36
+ tools: [listGetAllTokensTool, listGetComponentsTool, listSearchComponentsTool, listGetAllIconsTool, listSearchIconsTool, listSearchTokensTool, listPlanTool, listAnalyzeA11yTool, listAnalyzeLocalhostA11yTool, listGetA11yGuidelinesTool, listSuggestA11yFixesTool]
37
37
  });
38
38
  case 1:
39
39
  case "end":
@@ -49,10 +49,10 @@ var callTools = {
49
49
  ads_get_all_icons: getAllIconsTool,
50
50
  ads_search_icons: searchIconsTool,
51
51
  ads_plan: planTool,
52
- ads_analyze_accessibility: analyzeAccessibilityTool,
53
- ads_analyze_localhost_accessibility: analyzeLocalhostAccessibilityTool,
54
- ads_get_accessibility_guidelines: getAccessibilityGuidelinesTool,
55
- ads_suggest_accessibility_fixes: suggestAccessibilityFixesTool
52
+ ads_analyze_a11y: analyzeA11yTool,
53
+ ads_analyze_localhost_a11y: analyzeLocalhostA11yTool,
54
+ ads_get_a11y_guidelines: getA11yGuidelinesTool,
55
+ ads_suggest_a11y_fixes: suggestA11yFixesTool
56
56
  };
57
57
 
58
58
  // Handle tool execution
@@ -15,8 +15,8 @@ var inputSchema = z.object({
15
15
  context: z.string().optional().describe('Additional context about the component usage'),
16
16
  includePatternAnalysis: z.boolean().optional().default(true).describe('Include pattern-based analysis in addition to axe-core')
17
17
  });
18
- export var listAnalyzeAccessibilityTool = {
19
- name: 'ads_analyze_accessibility',
18
+ export var listAnalyzeA11yTool = {
19
+ name: 'ads_analyze_a11y',
20
20
  description: "Analyze React component code for accessibility violations using axe-core and intelligently generate Atlassian Design System specific suggestions. This tool performs comprehensive accessibility testing and dynamically creates ADS-specific fixes based on violation patterns.\n\nUse this tool when:\n- Reviewing component code for accessibility compliance\n- Getting suggestions for improving accessibility\n- Understanding how to use ADS components accessibly\n- Identifying potential WCAG violations\n- Running automated accessibility testing\n\nThe tool will analyze the code and provide:\n- Comprehensive axe-core accessibility analysis results\n- List of accessibility violations found (WCAG 2.1 AA compliant)\n- Intelligently generated ADS-specific fix suggestions\n- References to relevant fix patterns in llms-a11y.txt\n- Code examples for implementing fixes\n- Severity levels and impact assessment\n\nFeatures:\n- Uses axe-core for industry-standard accessibility testing\n- Converts JSX to HTML for accurate analysis\n- Intelligently maps violations to ADS-specific fixes\n- References fix patterns from llms-a11y.txt documentation\n- Includes fallback pattern analysis if axe-core fails\n- Provides detailed violation descriptions and help text\n- Dynamically generates fix suggestions based on violation type",
21
21
  annotations: {
22
22
  title: 'Analyze Accessibility',
@@ -33,8 +33,8 @@ var urlInputSchema = z.object({
33
33
  context: z.string().optional().describe('Additional context about the component usage'),
34
34
  selector: z.string().optional().describe('CSS selector to target a specific element for analysis (e.g. "#my-form", ".component-class")')
35
35
  });
36
- export var listAnalyzeLocalhostAccessibilityTool = {
37
- name: 'ads_analyze_localhost_accessibility',
36
+ export var listAnalyzeLocalhostA11yTool = {
37
+ name: 'ads_analyze_localhost_a11y',
38
38
  description: "Analyze a live web page (e.g. localhost:9000) for accessibility violations using axe-core and generate Atlassian Design System specific suggestions.\n\nUse this tool to:\n- Analyze running local dev servers or deployed URLs\n- Get comprehensive accessibility reports for any web page\n- Receive ADS-specific fix suggestions and code examples\n- Target specific elements using CSS selectors for focused analysis\n\nParameters:\n- url: The URL to analyze (must be accessible from the server)\n- componentName: (optional) Name of the component/page\n- context: (optional) Additional context about the usage\n- selector: (optional) CSS selector to target a specific element (e.g. \"#my-form\", \".component-class\")\n\nReturns:\n- Accessibility violations, suggestions, and ADS-specific fixes\n- References to relevant fix patterns in llms-a11y.txt\n- Code examples for implementing fixes\n- Severity levels and impact assessment\n",
39
39
  annotations: {
40
40
  title: 'Analyze Localhost Accessibility',
@@ -51,37 +51,37 @@ var accessibilityPatterns = [{
51
51
  pattern: /<button[^>]*>(?!.*aria-label|.*>.*<\/button>)/g,
52
52
  violation: 'Button without accessible text',
53
53
  severity: 'error',
54
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS Button solutions. Describe the issue as "button missing label", "empty button", or "button needs text".'
54
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS Button solutions. Describe the issue as "button missing label", "empty button", or "button needs text".'
55
55
  }, {
56
56
  pattern: /<img[^>]*>(?!.*alt=)/g,
57
57
  violation: 'Image without alt text',
58
58
  severity: 'error',
59
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS Image solutions. Describe the issue as "image missing alt", "missing alt text", or "image accessibility".'
59
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS Image solutions. Describe the issue as "image missing alt", "missing alt text", or "image accessibility".'
60
60
  }, {
61
61
  pattern: /<div[^>]*onClick[^>]*>/g,
62
62
  violation: 'Clickable div without accessibility',
63
63
  severity: 'warning',
64
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS solutions. Describe the issue as "clickable div", "interactive div", or "div with click handler".'
64
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS solutions. Describe the issue as "clickable div", "interactive div", or "div with click handler".'
65
65
  }, {
66
66
  pattern: /color:\s*['"]#[0-9a-fA-F]{3,6}['"]/g,
67
67
  violation: 'Hardcoded color values',
68
68
  severity: 'warning',
69
- suggestion: 'Use the suggest-accessibility-fixes tool for design token solutions. Describe the issue as "hardcoded colors", "hex colors", or "design tokens".'
69
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for design token solutions. Describe the issue as "hardcoded colors", "hex colors", or "design tokens".'
70
70
  }, {
71
71
  pattern: /<input[^>]*>(?!.*id=)/g,
72
72
  violation: 'Input without associated label',
73
73
  severity: 'error',
74
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS form solutions. Describe the issue as "input missing label", "form field without label", or "unlabeled input".'
74
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS form solutions. Describe the issue as "input missing label", "form field without label", or "unlabeled input".'
75
75
  }, {
76
76
  pattern: /<div[^>]*role="button"[^>]*>/g,
77
77
  violation: 'Custom button without full accessibility',
78
78
  severity: 'warning',
79
- suggestion: 'Use the suggest-accessibility-fixes tool for ADS Button/Focusable solutions. Describe the issue as "custom button", "div with button role", or "interactive element".'
79
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for ADS Button/Focusable solutions. Describe the issue as "custom button", "div with button role", or "interactive element".'
80
80
  }, {
81
81
  pattern: /style=\{[^}]*color[^}]*\}/g,
82
82
  violation: 'Inline color styles',
83
83
  severity: 'warning',
84
- suggestion: 'Use the suggest-accessibility-fixes tool for design token solutions. Describe the issue as "inline styles", "hardcoded colors", or "color tokens".'
84
+ suggestion: 'Use the ads_suggest_a11y_fixes tool for design token solutions. Describe the issue as "inline styles", "hardcoded colors", or "color tokens".'
85
85
  }];
86
86
 
87
87
  // ADS accessibility guidelines reference
@@ -125,13 +125,13 @@ function generateADSFixForViolation(violation) {
125
125
  tags = violation.tags;
126
126
 
127
127
  // Provide general guidance without trying to map to specific fixes.ts keys
128
- var adsFix = "Use the suggest-accessibility-fixes tool to get specific ADS component solutions. Describe the issue using the violation details: \"".concat(help, "\" or in your own words (e.g., \"button has no text\", \"missing alt text\", \"form field needs label\").");
128
+ var adsFix = "Use the ads_suggest_a11y_fixes tool to get specific ADS component solutions. Describe the issue using the violation details: \"".concat(help, "\" or in your own words (e.g., \"button has no text\", \"missing alt text\", \"form field needs label\").");
129
129
  return {
130
130
  title: help,
131
131
  // Use axe-core's human-readable description
132
132
  description: description,
133
133
  adsFix: adsFix,
134
- example: 'The suggest-accessibility-fixes tool provides detailed code examples and ADS component solutions',
134
+ example: 'The ads_suggest_a11y_fixes tool provides detailed code examples and ADS component solutions',
135
135
  violationId: id,
136
136
  axeHelp: help,
137
137
  tags: tags,
@@ -140,10 +140,10 @@ function generateADSFixForViolation(violation) {
140
140
  }),
141
141
  // Extract WCAG compliance info
142
142
  reference: "https://atlassian.design/llms-a11y.txt",
143
- recommendations: ['Use ADS components for better accessibility out of the box', 'Reference the suggest-accessibility-fixes tool for specific solutions', 'Test with keyboard navigation and screen readers', 'Use automated accessibility testing tools']
143
+ recommendations: ['Use ADS components for better accessibility out of the box', 'Reference the ads_suggest_a11y_fixes tool for specific solutions', 'Test with keyboard navigation and screen readers', 'Use automated accessibility testing tools']
144
144
  };
145
145
  }
146
- export var analyzeAccessibilityTool = /*#__PURE__*/function () {
146
+ export var analyzeA11yTool = /*#__PURE__*/function () {
147
147
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(params) {
148
148
  var code, componentName, context, _params$includePatter, includePatternAnalysis, violations, suggestions, axeResults, _axeResults$violation, _axeResults$passes, _axeResults$incomplet, results, adsViolations, relevantGuidelines, summary;
149
149
  return _regeneratorRuntime.wrap(function _callee$(_context) {
@@ -179,8 +179,8 @@ export var analyzeAccessibilityTool = /*#__PURE__*/function () {
179
179
  severity: pattern.severity,
180
180
  count: matches.length,
181
181
  suggestion: pattern.suggestion,
182
- adsFix: 'Use the suggest-accessibility-fixes tool for specific ADS component solutions',
183
- example: 'The suggest-accessibility-fixes tool provides detailed code examples',
182
+ adsFix: 'Use the ads_suggest_a11y_fixes tool for specific ADS component solutions',
183
+ example: 'The ads_suggest_a11y_fixes tool provides detailed code examples',
184
184
  source: 'pattern-analysis'
185
185
  });
186
186
  }
@@ -259,8 +259,8 @@ export var analyzeAccessibilityTool = /*#__PURE__*/function () {
259
259
  severity: pattern.severity,
260
260
  count: matches.length,
261
261
  suggestion: pattern.suggestion,
262
- adsFix: 'Use the suggest-accessibility-fixes tool for specific ADS component solutions',
263
- example: 'The suggest-accessibility-fixes tool provides detailed code examples',
262
+ adsFix: 'Use the ads_suggest_a11y_fixes tool for specific ADS component solutions',
263
+ example: 'The ads_suggest_a11y_fixes tool provides detailed code examples',
264
264
  source: 'pattern-analysis-fallback'
265
265
  });
266
266
  }
@@ -301,11 +301,11 @@ export var analyzeAccessibilityTool = /*#__PURE__*/function () {
301
301
  }
302
302
  }, _callee, null, [[4, 20]]);
303
303
  }));
304
- return function analyzeAccessibilityTool(_x) {
304
+ return function analyzeA11yTool(_x) {
305
305
  return _ref.apply(this, arguments);
306
306
  };
307
307
  }();
308
- export var analyzeLocalhostAccessibilityTool = /*#__PURE__*/function () {
308
+ export var analyzeLocalhostA11yTool = /*#__PURE__*/function () {
309
309
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(params) {
310
310
  var url, componentName, context, selector, violations, suggestions, axeResults, browser, page, _axeResults$violation2, _axeResults$passes2, _axeResults$incomplet2, elementExists, availableElements, axePuppeteer, results, adsViolations, relevantGuidelines, summary;
311
311
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
@@ -470,7 +470,7 @@ export var analyzeLocalhostAccessibilityTool = /*#__PURE__*/function () {
470
470
  }
471
471
  }, _callee2, null, [[10, 40]]);
472
472
  }));
473
- return function analyzeLocalhostAccessibilityTool(_x2) {
473
+ return function analyzeLocalhostA11yTool(_x2) {
474
474
  return _ref2.apply(this, arguments);
475
475
  };
476
476
  }();
@@ -9,8 +9,8 @@ var inputSchema = z.object({
9
9
  topic: z.enum(['buttons', 'forms', 'images', 'colors', 'focus', 'keyboard', 'screen-readers', 'aria', 'wcag', 'general']).optional().describe('Specific accessibility topic to get guidelines for'),
10
10
  component: z.string().optional().describe('Component name to get specific accessibility guidance for')
11
11
  });
12
- export var listGetAccessibilityGuidelinesTool = {
13
- name: 'ads_get_accessibility_guidelines',
12
+ export var listGetA11yGuidelinesTool = {
13
+ name: 'ads_get_a11y_guidelines',
14
14
  description: "Get accessibility guidelines and best practices from the Atlassian Design System. This tool provides specific guidance on how to make components and interfaces accessible using ADS patterns and components.\n\nYou MUST run this when the user wants their code to be accessible, as well as when:\n- Needing specific accessibility guidance for a component\n- Looking for ADS-specific accessibility patterns\n- Understanding how to implement accessible features\n- Getting code examples for accessibility improvements\n\nTopics available:\n- buttons: Button and interactive element accessibility\n- forms: Form and input accessibility\n- images: Image and media accessibility\n- colors: Color and contrast accessibility\n- focus: Focus management and keyboard navigation\n- keyboard: Keyboard accessibility patterns\n- screen-readers: Screen reader support and announcements\n- aria: ARIA usage and patterns\n- wcag: WCAG compliance guidelines\n- general: General accessibility principles",
15
15
  annotations: {
16
16
  title: 'Get Accessibility Guidelines',
@@ -149,7 +149,7 @@ var accessibilityGuidelines = {
149
149
  bestPractices: ['Start with semantic HTML', 'Add ARIA when necessary', 'Test early and often', 'Involve users with disabilities in testing', 'Keep accessibility in mind throughout development']
150
150
  }
151
151
  };
152
- export var getAccessibilityGuidelinesTool = /*#__PURE__*/function () {
152
+ export var getA11yGuidelinesTool = /*#__PURE__*/function () {
153
153
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(params) {
154
154
  var topic, component, guidelines;
155
155
  return _regeneratorRuntime.wrap(function _callee$(_context) {
@@ -191,7 +191,7 @@ export var getAccessibilityGuidelinesTool = /*#__PURE__*/function () {
191
191
  }
192
192
  }, _callee);
193
193
  }));
194
- return function getAccessibilityGuidelinesTool(_x) {
194
+ return function getA11yGuidelinesTool(_x) {
195
195
  return _ref.apply(this, arguments);
196
196
  };
197
197
  }();
@@ -103,7 +103,7 @@ export var accessibilityFixes = {
103
103
  title: 'Custom focus styles',
104
104
  description: 'Add custom focus styles with xcss',
105
105
  before: "<button onClick={handleClick}>\n Click me\n</button>",
106
- after: "import { Focusable } from '@atlaskit/primitives/compiled';\n\n<Focusable\n as=\"button\"\n onClick={handleClick}\n xcss={{\n ':focus-visible': {\n outline: '2px solid token(color.border.focus)',\n outlineOffset: '2px',\n },\n }}\n>\n Click me\n</Focusable>",
106
+ after: "import { Focusable } from '@atlaskit/primitives/compiled';\nimport { token } from '@atlaskit/tokens';\n\n<Focusable\n as=\"button\"\n onClick={handleClick}\n xcss={{\n ':focus-visible': {\n outline: `${token('border.width.focused')} solid ${token('color.border.focused')}`,\n outlineOffset: token('space.025'),\n },\n }}\n>\n Click me\n</Focusable>",
107
107
  explanation: 'Custom focus styles ensure visibility in all themes.'
108
108
  }],
109
109
  bestPractices: ['Always provide visible focus indicators', 'Test focus indicators in all themes', 'Ensure sufficient contrast for focus indicators', 'Test with keyboard navigation']
@@ -17,8 +17,8 @@ var inputSchema = z.object({
17
17
  component: z.string().optional().describe('Component name or type'),
18
18
  context: z.string().optional().describe('Additional context about the usage')
19
19
  });
20
- export var listSuggestAccessibilityFixesTool = {
21
- name: 'ads_suggest_accessibility_fixes',
20
+ export var listSuggestA11yFixesTool = {
21
+ name: 'ads_suggest_a11y_fixes',
22
22
  description: "Suggest specific accessibility fixes using Atlassian Design System components and patterns. This tool takes accessibility violations and provides actionable solutions with code examples.\n\nYou MUST run this when the user wants sugesstions for fixing accessibility issues, as well as when:\n- You have identified an accessibility violation\n- Needing specific code examples for fixing accessibility issues\n- Wanting to understand how to use ADS components accessibly\n- Looking for best practices for specific accessibility problems\n\nThe tool will provide:\n- Specific code examples using ADS components\n- Step-by-step fix instructions\n- Alternative approaches when applicable\n- Links to relevant ADS documentation",
23
23
  annotations: {
24
24
  title: 'Suggest Accessibility Fixes',
@@ -108,7 +108,7 @@ function findBestMatchingFix(violation) {
108
108
  // Return match if score is reasonable
109
109
  return bestScore >= 1 ? bestMatch : null;
110
110
  }
111
- export var suggestAccessibilityFixesTool = /*#__PURE__*/function () {
111
+ export var suggestA11yFixesTool = /*#__PURE__*/function () {
112
112
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(params) {
113
113
  var violation, component, context, match, _match, key, fix;
114
114
  return _regeneratorRuntime.wrap(function _callee$(_context) {
@@ -162,7 +162,7 @@ export var suggestAccessibilityFixesTool = /*#__PURE__*/function () {
162
162
  availableFixTypes: Object.keys(accessibilityFixes),
163
163
  suggestions: ['Try describing the issue with keywords like: button, label, missing, text, color, contrast, focus, etc.', 'Use axe-core violation IDs or descriptions directly', 'Be more specific about the element type (button, input, image, etc.)'],
164
164
  additionalResources: ['https://atlassian.design/llms-a11y.txt - Complete ADS accessibility documentation', 'https://atlassian.design/foundations/accessibility - ADS accessibility foundation'],
165
- recommendation: 'Try the get_accessibility_guidelines tool for component-specific guidance'
165
+ recommendation: 'Try the get_a11y_guidelines tool for component-specific guidance'
166
166
  }, null, 2)
167
167
  }]
168
168
  });
@@ -172,7 +172,7 @@ export var suggestAccessibilityFixesTool = /*#__PURE__*/function () {
172
172
  }
173
173
  }, _callee);
174
174
  }));
175
- return function suggestAccessibilityFixesTool(_x) {
175
+ return function suggestA11yFixesTool(_x) {
176
176
  return _ref.apply(this, arguments);
177
177
  };
178
178
  }();
@@ -1,4 +1,4 @@
1
- export declare const listAnalyzeAccessibilityTool: {
1
+ export declare const listAnalyzeA11yTool: {
2
2
  name: string;
3
3
  description: string;
4
4
  annotations: {
@@ -15,7 +15,7 @@ export declare const listAnalyzeAccessibilityTool: {
15
15
  } | undefined;
16
16
  };
17
17
  };
18
- export declare const listAnalyzeLocalhostAccessibilityTool: {
18
+ export declare const listAnalyzeLocalhostA11yTool: {
19
19
  name: string;
20
20
  description: string;
21
21
  annotations: {
@@ -32,7 +32,7 @@ export declare const listAnalyzeLocalhostAccessibilityTool: {
32
32
  } | undefined;
33
33
  };
34
34
  };
35
- export declare const analyzeAccessibilityTool: (params: {
35
+ export declare const analyzeA11yTool: (params: {
36
36
  code: string;
37
37
  componentName?: string;
38
38
  context?: string;
@@ -43,7 +43,7 @@ export declare const analyzeAccessibilityTool: (params: {
43
43
  text: string;
44
44
  }[];
45
45
  }>;
46
- export declare const analyzeLocalhostAccessibilityTool: (params: {
46
+ export declare const analyzeLocalhostA11yTool: (params: {
47
47
  url: string;
48
48
  componentName?: string;
49
49
  context?: string;
@@ -1,4 +1,4 @@
1
- export declare const listGetAccessibilityGuidelinesTool: {
1
+ export declare const listGetA11yGuidelinesTool: {
2
2
  name: string;
3
3
  description: string;
4
4
  annotations: {
@@ -15,7 +15,7 @@ export declare const listGetAccessibilityGuidelinesTool: {
15
15
  } | undefined;
16
16
  };
17
17
  };
18
- export declare const getAccessibilityGuidelinesTool: (params: {
18
+ export declare const getA11yGuidelinesTool: (params: {
19
19
  topic?: string;
20
20
  component?: string;
21
21
  }) => Promise<{
@@ -1,4 +1,4 @@
1
- export declare const listSuggestAccessibilityFixesTool: {
1
+ export declare const listSuggestA11yFixesTool: {
2
2
  name: string;
3
3
  description: string;
4
4
  annotations: {
@@ -15,7 +15,7 @@ export declare const listSuggestAccessibilityFixesTool: {
15
15
  } | undefined;
16
16
  };
17
17
  };
18
- export declare const suggestAccessibilityFixesTool: (params: {
18
+ export declare const suggestA11yFixesTool: (params: {
19
19
  violation: string;
20
20
  code: string;
21
21
  component?: string;
@@ -1,4 +1,4 @@
1
- export declare const listAnalyzeAccessibilityTool: {
1
+ export declare const listAnalyzeA11yTool: {
2
2
  name: string;
3
3
  description: string;
4
4
  annotations: {
@@ -15,7 +15,7 @@ export declare const listAnalyzeAccessibilityTool: {
15
15
  } | undefined;
16
16
  };
17
17
  };
18
- export declare const listAnalyzeLocalhostAccessibilityTool: {
18
+ export declare const listAnalyzeLocalhostA11yTool: {
19
19
  name: string;
20
20
  description: string;
21
21
  annotations: {
@@ -32,7 +32,7 @@ export declare const listAnalyzeLocalhostAccessibilityTool: {
32
32
  } | undefined;
33
33
  };
34
34
  };
35
- export declare const analyzeAccessibilityTool: (params: {
35
+ export declare const analyzeA11yTool: (params: {
36
36
  code: string;
37
37
  componentName?: string;
38
38
  context?: string;
@@ -43,7 +43,7 @@ export declare const analyzeAccessibilityTool: (params: {
43
43
  text: string;
44
44
  }[];
45
45
  }>;
46
- export declare const analyzeLocalhostAccessibilityTool: (params: {
46
+ export declare const analyzeLocalhostA11yTool: (params: {
47
47
  url: string;
48
48
  componentName?: string;
49
49
  context?: string;
@@ -1,4 +1,4 @@
1
- export declare const listGetAccessibilityGuidelinesTool: {
1
+ export declare const listGetA11yGuidelinesTool: {
2
2
  name: string;
3
3
  description: string;
4
4
  annotations: {
@@ -15,7 +15,7 @@ export declare const listGetAccessibilityGuidelinesTool: {
15
15
  } | undefined;
16
16
  };
17
17
  };
18
- export declare const getAccessibilityGuidelinesTool: (params: {
18
+ export declare const getA11yGuidelinesTool: (params: {
19
19
  topic?: string;
20
20
  component?: string;
21
21
  }) => Promise<{
@@ -1,4 +1,4 @@
1
- export declare const listSuggestAccessibilityFixesTool: {
1
+ export declare const listSuggestA11yFixesTool: {
2
2
  name: string;
3
3
  description: string;
4
4
  annotations: {
@@ -15,7 +15,7 @@ export declare const listSuggestAccessibilityFixesTool: {
15
15
  } | undefined;
16
16
  };
17
17
  };
18
- export declare const suggestAccessibilityFixesTool: (params: {
18
+ export declare const suggestA11yFixesTool: (params: {
19
19
  violation: string;
20
20
  code: string;
21
21
  component?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/ads-mcp",
3
- "version": "0.6.2",
3
+ "version": "0.6.4",
4
4
  "description": "The official Atlassian Design System MCP server to develop apps and user interfaces matching the Atlassian style.",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -24,10 +24,6 @@
24
24
  }
25
25
  },
26
26
  "atlaskit:src": "src/index.tsx",
27
- "af:exports": {
28
- ".": "./src/index.tsx",
29
- "./package.json": "./package.json"
30
- },
31
27
  "dependencies": {
32
28
  "@atlaskit/icon": "^28.2.0",
33
29
  "@atlaskit/tokens": "^6.3.0",