@atlaskit/ads-mcp 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +45 -16
  3. package/dist/cjs/instructions.js +1 -1
  4. package/dist/cjs/tools/get-all-components/list-get-all-components-tool.js +1 -1
  5. package/dist/cjs/tools/get-atlaskit-components/list-get-atlaskit-components-tool.js +1 -1
  6. package/dist/cjs/tools/get-atlaskit-hooks/list-get-atlaskit-hooks-tool.js +1 -1
  7. package/dist/cjs/tools/get-atlaskit-utilities/list-get-atlaskit-utilities-tool.js +1 -1
  8. package/dist/cjs/tools/plan/list-plan-tool.js +1 -1
  9. package/dist/cjs/tools/plan/plan-input-schema.js +3 -3
  10. package/dist/cjs/tools/plan/plan-tool.js +1 -1
  11. package/dist/cjs/tools/search-atlaskit-components/list-search-atlaskit-components-tool.js +1 -1
  12. package/dist/cjs/tools/search-atlaskit-hooks/list-search-atlaskit-hooks-tool.js +1 -1
  13. package/dist/cjs/tools/search-atlaskit-utilities/list-search-atlaskit-utilities-tool.js +1 -1
  14. package/dist/cjs/tools/search-components/list-search-components-tool.js +1 -1
  15. package/dist/cjs/tools/search-components/search-components-tool.js +1 -1
  16. package/dist/es2019/instructions.js +2 -0
  17. package/dist/es2019/tools/get-all-components/list-get-all-components-tool.js +1 -1
  18. package/dist/es2019/tools/get-atlaskit-components/list-get-atlaskit-components-tool.js +2 -2
  19. package/dist/es2019/tools/get-atlaskit-hooks/list-get-atlaskit-hooks-tool.js +2 -2
  20. package/dist/es2019/tools/get-atlaskit-utilities/list-get-atlaskit-utilities-tool.js +2 -2
  21. package/dist/es2019/tools/plan/list-plan-tool.js +6 -3
  22. package/dist/es2019/tools/plan/plan-input-schema.js +3 -3
  23. package/dist/es2019/tools/plan/plan-tool.js +1 -1
  24. package/dist/es2019/tools/search-atlaskit-components/list-search-atlaskit-components-tool.js +2 -2
  25. package/dist/es2019/tools/search-atlaskit-hooks/list-search-atlaskit-hooks-tool.js +2 -2
  26. package/dist/es2019/tools/search-atlaskit-utilities/list-search-atlaskit-utilities-tool.js +2 -2
  27. package/dist/es2019/tools/search-components/list-search-components-tool.js +3 -1
  28. package/dist/es2019/tools/search-components/search-components-tool.js +1 -1
  29. package/dist/esm/instructions.js +1 -1
  30. package/dist/esm/tools/get-all-components/list-get-all-components-tool.js +1 -1
  31. package/dist/esm/tools/get-atlaskit-components/list-get-atlaskit-components-tool.js +1 -1
  32. package/dist/esm/tools/get-atlaskit-hooks/list-get-atlaskit-hooks-tool.js +1 -1
  33. package/dist/esm/tools/get-atlaskit-utilities/list-get-atlaskit-utilities-tool.js +1 -1
  34. package/dist/esm/tools/plan/list-plan-tool.js +1 -1
  35. package/dist/esm/tools/plan/plan-input-schema.js +3 -3
  36. package/dist/esm/tools/plan/plan-tool.js +1 -1
  37. package/dist/esm/tools/search-atlaskit-components/list-search-atlaskit-components-tool.js +1 -1
  38. package/dist/esm/tools/search-atlaskit-hooks/list-search-atlaskit-hooks-tool.js +1 -1
  39. package/dist/esm/tools/search-atlaskit-utilities/list-search-atlaskit-utilities-tool.js +1 -1
  40. package/dist/esm/tools/search-components/list-search-components-tool.js +1 -1
  41. package/dist/esm/tools/search-components/search-components-tool.js +1 -1
  42. package/dist/types/instructions.d.ts +1 -1
  43. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @atlaskit/ads-mcp
2
2
 
3
+ ## 1.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`f5a335ff3aa42`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f5a335ff3aa42) -
8
+ Improve MCP tool routing guidance for ADS and public Atlaskit package fallback research.
9
+
10
+ ### Patch Changes
11
+
12
+ - Updated dependencies
13
+
3
14
  ## 1.2.1
4
15
 
5
16
  ### Patch Changes
package/README.md CHANGED
@@ -21,6 +21,7 @@ to help ensure your interfaces are accessible to all users.
21
21
 
22
22
  - [Available Tools](#available-tools)
23
23
  - [Design System Tools](#design-system-tools)
24
+ - [Atlaskit Fallback Research Tools](#atlaskit-fallback-research-tools)
24
25
  - [Accessibility Tools](#accessibility-tools)
25
26
  - [Accessibility Features](#accessibility-features)
26
27
  - [Example Usage](#example-usage)
@@ -54,46 +55,74 @@ to help ensure your interfaces are accessible to all users.
54
55
 
55
56
  - `ads_get_all_tokens` - Get all available design tokens for colors, spacing, typography, etc.
56
57
  - `ads_search_tokens` - Search for specific design tokens by name, description, or example values
57
- - `ads_get_all_components` - Get all available components with basic information (full catalog)
58
- - `ads_search_components` - Search for components by name, description, category, or package name
58
+ - `ads_get_all_components` - Get all canonical ADS components with basic information (full catalog)
59
+ - `ads_search_components` - Search canonical ADS components by name, description, category, or
60
+ package name
59
61
  - `ads_get_all_icons` - Get all available icons from the design system
60
62
  - `ads_search_icons` - Search for specific icons by name, keywords, or categorization
61
63
  - `ads_plan` - Search for multiple design system resources (tokens, icons, components) in a single
62
64
  efficient operation
63
65
 
66
+ Use `ads_*` tools first for standard UI work. They are the canonical source for ADS components,
67
+ tokens, icons, foundations, accessibility, lint rules, i18n, and migrations.
68
+
69
+ ### Atlaskit Fallback Research Tools
70
+
71
+ - `atlaskit_get_components` - Get a compact inventory of public `@atlaskit/*` component packages
72
+ outside the ADS catalog
73
+ - `atlaskit_search_components` - Search non-ADS public `@atlaskit/*` components with examples and
74
+ props
75
+ - `atlaskit_get_hooks` - Get a compact inventory of public `@atlaskit/*` hooks outside the ADS
76
+ catalog
77
+ - `atlaskit_search_hooks` - Search non-ADS public `@atlaskit/*` hooks with usage details
78
+ - `atlaskit_get_utilities` - Get a compact inventory of public `@atlaskit/*` utilities outside the
79
+ ADS catalog
80
+ - `atlaskit_search_utilities` - Search non-ADS public `@atlaskit/*` utilities with usage details
81
+
82
+ Use `atlaskit_*` tools for fallback research when an ADS search has no useful match, or when you are
83
+ looking for a public `@atlaskit/*` package that is not part of ADS. Do not treat Atlaskit results as
84
+ equal-priority replacements for ADS components in standard UI decisions.
85
+
64
86
  #### Design System Tools Usage
65
87
 
66
88
  ```typescript
67
- // Search for components (recommended approach)
68
- const buttonComponents = await search_components({
89
+ // Search for canonical ADS components (recommended approach)
90
+ const buttonComponents = await ads_search_components({
69
91
  terms: ['button', 'click'],
70
92
  limit: 3,
71
93
  });
72
94
 
73
95
  // Search for specific tokens
74
- const colorTokens = await search_tokens({
96
+ const colorTokens = await ads_search_tokens({
75
97
  terms: ['color.text', 'primary'],
76
98
  limit: 5,
77
99
  });
78
100
 
79
101
  // Search for icons
80
- const addIcons = await search_icons({
102
+ const addIcons = await ads_search_icons({
81
103
  terms: ['add', 'plus', 'create'],
82
104
  limit: 2,
83
105
  });
84
106
 
85
107
  // Search for multiple resources at once (most efficient for complex UI patterns)
86
- const designResources = await plan({
87
- tokens_search: ['color.text', 'space.100', 'radius.small'],
88
- icons_search: ['add', 'edit', 'delete'],
89
- components_search: ['Button', 'TextField', 'Modal'],
108
+ const designResources = await ads_plan({
109
+ tokens: ['color.text', 'space.100', 'radius.small'],
110
+ icons: ['add', 'edit', 'delete'],
111
+ components: ['Button', 'TextField', 'Modal'],
112
+ atlaskitComponents: [],
113
+ limit: 2,
114
+ });
115
+
116
+ // Search public @atlaskit/* packages only when ADS has no useful match
117
+ const atlaskitComponents = await atlaskit_search_components({
118
+ terms: ['editor-core', 'onboarding'],
90
119
  limit: 2,
91
120
  });
92
121
 
93
122
  // Get all available items (fallback when search doesn't find what you need)
94
- const allComponents = await get_all_components();
95
- const allTokens = await get_all_tokens();
96
- const allIcons = await get_all_icons();
123
+ const allComponents = await ads_get_all_components();
124
+ const allTokens = await ads_get_all_tokens();
125
+ const allIcons = await ads_get_all_icons();
97
126
  ```
98
127
 
99
128
  ### Accessibility Tools
@@ -124,19 +153,19 @@ The ADS MCP server includes comprehensive accessibility analysis and guidance:
124
153
 
125
154
  ```typescript
126
155
  // Analyze a component for accessibility issues using axe-core
127
- const analysis = await analyze_a11y({
156
+ const analysis = await ads_analyze_a11y({
128
157
  code: `<button onClick={handleClose}><CloseIcon /></button>`,
129
158
  componentName: 'CloseButton',
130
159
  includePatternAnalysis: true, // Also include pattern-based analysis
131
160
  });
132
161
 
133
162
  // Get specific accessibility guidelines
134
- const guidelines = await get_a11y_guidelines({
163
+ const guidelines = await ads_get_a11y_guidelines({
135
164
  topic: 'buttons',
136
165
  });
137
166
 
138
167
  // Get fix suggestions for a violation
139
- const fixes = await suggest_a11y_fixes({
168
+ const fixes = await ads_suggest_a11y_fixes({
140
169
  violation: 'Button missing accessible label',
141
170
  code: `<button onClick={handleClose}><CloseIcon /></button>`,
142
171
  });
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.instructions = void 0;
7
- var instructions = exports.instructions = "\nYou are an expert in the Atlassian Design System (ADS).\nYou can search for tokens, icons, and components and return guidance on how to build user interfaces.\nYou have special accessibility knowledge and can ensure interfaces built with ADS components are accessible to all users.\nYou can analyze code for accessibility violations, provide specific fix suggestions, and offer guidance on accessibility best practices.\nFor org-wide standards alongside ADS tools: pair Context Engine `get_accessibility_docs` with `ads_get_a11y_guidelines`, `get_content_standards_docs` with `ads_get_guidelines`, and `get_i18n_docs` with `ads_i18n_conversion_guide` (Traduki/i18n policy plus the bundled formatMessage refactor guide).\nThese tools will support you, but for deep research you may also fetch https://atlassian.design/llms.txt, https://atlassian.design/llms-a11y.txt, or https://atlassian.design/ directly.\n";
7
+ var instructions = exports.instructions = "\nYou are an expert in the Atlassian Design System (ADS).\nYou can search for tokens, icons, and components and return guidance on how to build user interfaces.\nUse ads_* tools for canonical ADS resources: components, tokens, icons, foundations, accessibility, lint rules, i18n, and migrations.\nUse atlaskit_* tools only for further research into public @atlaskit/* scoped packages that are not covered by the ADS catalog, such as non-ADS components, hooks, and utilities. Prefer ADS resources first for standard UI.\nYou have special accessibility knowledge and can ensure interfaces built with ADS components are accessible to all users.\nYou can analyze code for accessibility violations, provide specific fix suggestions, and offer guidance on accessibility best practices.\nFor org-wide standards alongside ADS tools: pair Context Engine `get_accessibility_docs` with `ads_get_a11y_guidelines`, `get_content_standards_docs` with `ads_get_guidelines`, and `get_i18n_docs` with `ads_i18n_conversion_guide` (Traduki/i18n policy plus the bundled formatMessage refactor guide).\nThese tools will support you, but for deep research you may also fetch https://atlassian.design/llms.txt, https://atlassian.design/llms-a11y.txt, or https://atlassian.design/ directly.\n";
@@ -10,7 +10,7 @@ var _zodToJsonSchema = require("../../helpers/zod-to-json-schema");
10
10
 
11
11
  var listGetAllComponentsTool = exports.listGetAllComponentsTool = {
12
12
  name: 'ads_get_all_components',
13
- description: "Returns **every** Atlassian Design System component record as separate JSON text chunks (full catalog; large payload).\n\nWHEN TO USE:\nLast resort when `ads_plan` / `ads_search_components` is insufficient and you must enumerate all components. Prefer search for normal component picking.\n\nNo parameters.",
13
+ description: "Returns **every** canonical Atlassian Design System (ADS) component record as separate JSON text chunks (full catalog; large payload). For non-ADS public `@atlaskit/*` packages, use `atlaskit_get_components` or `atlaskit_search_components`.\n\nWHEN TO USE:\nLast resort when `ads_plan` / `ads_search_components` is insufficient and you must enumerate all components. Prefer search for normal component picking.\n\nNo parameters.",
14
14
  annotations: {
15
15
  title: 'Get all ADS components',
16
16
  readOnlyHint: true,
@@ -10,7 +10,7 @@ var _helpers = require("../../helpers");
10
10
 
11
11
  var listGetAtlaskitComponentsTool = exports.listGetAtlaskitComponentsTool = {
12
12
  name: 'atlaskit_get_components',
13
- description: "Returns the names and packages of all atlaskit components excluding components covered by the Atlassian Design System.\n\nWHEN TO USE:\nUse this when you want to see what components are available without the full metadata payload.\n\nNo parameters.",
13
+ description: "Returns a compact inventory of public `@atlaskit/*` component packages that are not covered by the Atlassian Design System (ADS) component catalog. Output is names and packages only.\n\nWHEN TO USE:\nUse this for fallback discovery after ADS component search is not enough, or when you need to see which non-ADS `@atlaskit/*` components are available without the full metadata payload. For implementation examples and props, use `atlaskit_search_components`.\n\nNo parameters.",
14
14
  annotations: {
15
15
  title: 'Get all Atlaskit components',
16
16
  readOnlyHint: true,
@@ -10,7 +10,7 @@ var _helpers = require("../../helpers");
10
10
 
11
11
  var listGetAtlaskitHooksTool = exports.listGetAtlaskitHooksTool = {
12
12
  name: 'atlaskit_get_hooks',
13
- description: "Returns the names and packages of all atlaskit hooks excluding hooks covered by the Atlassian Design System.\n\nWHEN TO USE:\nUse this when you want to see what hooks are available without the full metadata payload.\n\nNo parameters.",
13
+ description: "Returns a compact inventory of public `@atlaskit/*` hooks that are not covered by the Atlassian Design System (ADS) catalog. Output is names and packages only.\n\nWHEN TO USE:\nUse this for fallback discovery when you need a non-ADS `@atlaskit/*` hook inventory without the full metadata payload. For usage guidance, parameters, and return values, use `atlaskit_search_hooks`.\n\nNo parameters.",
14
14
  annotations: {
15
15
  title: 'Get all Atlaskit hooks',
16
16
  readOnlyHint: true,
@@ -10,7 +10,7 @@ var _helpers = require("../../helpers");
10
10
 
11
11
  var listGetAtlaskitUtilitiesTool = exports.listGetAtlaskitUtilitiesTool = {
12
12
  name: 'atlaskit_get_utilities',
13
- description: "Returns the names and packages of all atlaskit utilities (functions, constants, types) excluding utilities covered by the Atlassian Design System.\n\nWHEN TO USE:\nUse this when you want to see what utilities are available without the full metadata payload.\n\nNo parameters.",
13
+ description: "Returns a compact inventory of public `@atlaskit/*` utilities (functions, constants, types) that are not covered by the Atlassian Design System (ADS) catalog. Output is names and packages only.\n\nWHEN TO USE:\nUse this for fallback discovery when you need a non-ADS `@atlaskit/*` utility inventory without the full metadata payload. For usage guidance and signatures, use `atlaskit_search_utilities`.\n\nNo parameters.",
14
14
  annotations: {
15
15
  title: 'Get all Atlaskit utilities',
16
16
  readOnlyHint: true,
@@ -10,7 +10,7 @@ var _planInputSchema = require("./plan-input-schema");
10
10
 
11
11
  var listPlanTool = exports.listPlanTool = {
12
12
  name: 'ads_plan',
13
- description: "Runs **ads_search_tokens**, **ads_search_icons**, **ads_search_components**, and **ads_search_atlaskit_components** in one call and returns a single JSON payload (each section only if that list was non-empty). Use this as the default way to discover ADS **tokens**, **icons**, and **components** (including legacy/broader Atlaskit) for a UI task.\n\nWHEN TO USE:\n**Implementing or iterating on a UI**\u2014new screen, feature, or polish\u2014and you need candidate **token** names, **icon** imports, and **component** packages/props in one pass. Also use when exploring ADS building blocks before you write code.\n\nAt least one of `tokens`, `icons`, `components`, or `atlaskitComponents` must contain search terms (use `[]` for lists you do not need).\n\nPrefer supplying **multiple** terms per non-empty array when you know them\u2014broader queries improve recall. Some queries return no rows where metadata is thin; try alternate wording.\n\nThis is equivalent to calling the individual search tools; there are no extra merge semantics beyond concatenating results.\n\nExample request:\n```json\n{\n\t\"tokens\": [\"spacing\", \"inverted text\", \"background primary\", \"animation\"],\n\t\"icons\": [\"search\", \"folder\", \"user\"],\n\t\"components\": [\"button\", \"input\", \"select\", \"heading\"],\n\t\"atlaskitComponents\": [\"inline-dialog\", \"onboarding\", \"page-layout\"]\n}\n```\n\nExample token usage:\n```tsx\nimport { token } from '@atlaskit/tokens';\nconst styles = css({ color: token('color.text'), padding: token('space.100') });\n```\n\nExample icon usage:\n```tsx\nimport AddIcon from '@atlaskit/icon/core/add';\n<AddIcon label=\"Add work item\" size=\"small\" />\n```",
13
+ description: "Runs **ads_search_tokens**, **ads_search_icons**, **ads_search_components**, and optionally **atlaskit_search_components** in one call and returns a single JSON payload (each section only if that list was non-empty). Use this as the default way to discover ADS **tokens**, **icons**, and **components** for a UI task.\n\nWHEN TO USE:\n**Implementing or iterating on a UI**\u2014new screen, feature, or polish\u2014and you need candidate **token** names, **icon** imports, and **ADS component** packages/props in one pass. Also use when exploring ADS building blocks before you write code.\n\nADS-FIRST ROUTING:\nUse `components` for canonical ADS components. Use `atlaskitComponents` only as explicit fallback research for public `@atlaskit/*` packages outside the ADS catalog, or after ADS component search has no useful match. This tool does not auto-populate `atlaskitComponents` from `components`.\n\nAt least one of `tokens`, `icons`, `components`, or `atlaskitComponents` must contain search terms (use `[]` for lists you do not need).\n\nPrefer supplying **multiple** terms per non-empty array when you know them\u2014broader queries improve recall. Some queries return no rows where metadata is thin; try alternate wording.\n\nThis is equivalent to calling the individual search tools; there are no extra merge semantics beyond concatenating results.\n\nExample request:\n```json\n{\n\t\"tokens\": [\"spacing\", \"inverted text\", \"background primary\", \"animation\"],\n\t\"icons\": [\"search\", \"folder\", \"user\"],\n\t\"components\": [\"button\", \"input\", \"select\", \"heading\"],\n\t\"atlaskitComponents\": [\"editor-core\", \"onboarding\", \"page-layout\"]\n}\n```\n\nExample token usage:\n```tsx\nimport { token } from '@atlaskit/tokens';\nconst styles = css({ color: token('color.text'), padding: token('space.100') });\n```\n\nExample icon usage:\n```tsx\nimport AddIcon from '@atlaskit/icon/core/add';\n<AddIcon label=\"Add work item\" size=\"small\" />\n```",
14
14
  annotations: {
15
15
  title: 'Search ADS tokens, icons, and components to plan what to build',
16
16
  readOnlyHint: true,
@@ -10,7 +10,7 @@ var _zod = require("zod");
10
10
  var planInputSchema = exports.planInputSchema = _zod.z.object({
11
11
  tokens: _zod.z.array(_zod.z.string()).describe('Search terms for ADS design tokens (fuzzy by default). Use `[]` if you only need icons or components. Prefer **at least two** terms per non-empty list when you know what you need.'),
12
12
  icons: _zod.z.array(_zod.z.string()).describe('Search terms for ADS icons. Use `[]` if you only need tokens or components. Prefer **at least two** terms per non-empty list when known.'),
13
- components: _zod.z.array(_zod.z.string()).describe('Search terms for ADS components. Use `[]` if you only need tokens or icons. Prefer **at least two** terms per non-empty list when known.'),
14
- atlaskitComponents: _zod.z.array(_zod.z.string()).describe('Search terms for Atlaskit components. Use `[]` if you only need core ADS components. Prefer **at least two** terms per non-empty list when known.'),
15
- limit: _zod.z.number().default(2).describe('Max matches **per term** for each non-empty list (default 2). Same limit applies to tokens, icons, and both ADS and atlaskit component searches.').optional()
13
+ components: _zod.z.array(_zod.z.string()).describe('Search terms for canonical ADS components. Use `[]` if you only need tokens, icons, or explicit Atlaskit fallback research. Prefer **at least two** terms per non-empty list when known.'),
14
+ atlaskitComponents: _zod.z.array(_zod.z.string()).describe('Search terms for public `@atlaskit/*` components outside the ADS catalog. Use only as explicit fallback research when ADS component search is not enough; this is not auto-populated from `components`. Use `[]` if you only need canonical ADS components. Prefer **at least two** terms per non-empty list when known.'),
15
+ limit: _zod.z.number().default(2).describe('Max matches **per term** for each non-empty list (default 2). Same limit applies to tokens, icons, ADS components, and explicit Atlaskit component fallback searches.').optional()
16
16
  });
@@ -29,7 +29,7 @@ var planTool = exports.planTool = /*#__PURE__*/function () {
29
29
  isError: true,
30
30
  content: [{
31
31
  type: 'text',
32
- text: 'Error: At least one search type (tokens_search, icons_search, components_search, or atlaskit_components_search) must be provided with search terms'
32
+ text: 'Error: At least one search type (tokens, icons, components, or atlaskitComponents) must be provided with search terms'
33
33
  }]
34
34
  });
35
35
  case 1:
@@ -10,7 +10,7 @@ var _searchAtlaskitComponentsInputSchema = require("./search-atlaskit-components
10
10
 
11
11
  var listSearchAtlaskitComponentsTool = exports.listSearchAtlaskitComponentsTool = {
12
12
  name: 'atlaskit_search_components',
13
- description: "Searches the bundled Atlaskit component catalog. Returns JSON objects with **name**, **package**, **examples**, and **props** for each match (trimmed payload).\n\nWHEN TO USE:\n**Selecting which Atlaskit component to use**\u2014package name, examples, and props\u2014before implementation. Use when searching for specific Atlaskit components that might not be in the core ADS catalog.",
13
+ description: "Searches the bundled public `@atlaskit/*` component catalog outside the Atlassian Design System (ADS) component catalog. Returns JSON objects with **name**, **package**, **examples**, and **props** for each match (trimmed payload).\n\nWHEN TO USE:\nUse this for fallback research when `ads_search_components` or `ads_plan.components` does not find a useful ADS component, or when the user asks about a specific public `@atlaskit/*` package that is not part of ADS. Prefer canonical ADS components first for standard UI.",
14
14
  annotations: {
15
15
  title: 'Search Atlaskit components',
16
16
  readOnlyHint: true,
@@ -10,7 +10,7 @@ var _searchAtlaskitHooksInputSchema = require("./search-atlaskit-hooks-input-sch
10
10
 
11
11
  var listSearchAtlaskitHooksTool = exports.listSearchAtlaskitHooksTool = {
12
12
  name: 'atlaskit_search_hooks',
13
- description: "Search for atlaskit hooks by name, package, category, description, or keywords.\n\nWHEN TO USE:\nUse this when you want to find a hook but don't know its exact name or package.",
13
+ description: "Search public `@atlaskit/*` hooks outside the Atlassian Design System (ADS) catalog by name, package, category, description, or keywords.\n\nWHEN TO USE:\nUse this for fallback research when you want to find a non-ADS `@atlaskit/*` hook but do not know its exact name or package.",
14
14
  annotations: {
15
15
  title: 'Search Atlaskit hooks',
16
16
  readOnlyHint: true,
@@ -10,7 +10,7 @@ var _searchAtlaskitUtilitiesInputSchema = require("./search-atlaskit-utilities-i
10
10
 
11
11
  var listSearchAtlaskitUtilitiesTool = exports.listSearchAtlaskitUtilitiesTool = {
12
12
  name: 'atlaskit_search_utilities',
13
- description: "Search for atlaskit utilities (functions, constants, types) by name, package, category, description, or keywords.\n\nWHEN TO USE:\nUse this when you want to find a utility but don't know its exact name or package.",
13
+ description: "Search public `@atlaskit/*` utilities (functions, constants, types) outside the Atlassian Design System (ADS) catalog by name, package, category, description, or keywords.\n\nWHEN TO USE:\nUse this for fallback research when you want to find a non-ADS `@atlaskit/*` utility but do not know its exact name or package.",
14
14
  annotations: {
15
15
  title: 'Search Atlaskit utilities',
16
16
  readOnlyHint: true,
@@ -10,7 +10,7 @@ var _searchComponentsInputSchema = require("./search-components-input-schema");
10
10
 
11
11
  var listSearchComponentsTool = exports.listSearchComponentsTool = {
12
12
  name: 'ads_search_components',
13
- description: "Searches the bundled Atlassian Design System (ADS) component catalog. Returns JSON objects with **name**, **package**, **examples**, and **props** for each match (trimmed payload).\n\nWHEN TO USE:\n**Selecting which ADS component to use**\u2014package name, examples, and props\u2014before implementation. Use when composing a new view or swapping a primitive. Prefer `ads_plan` when you also need token and icon discovery in one shot.",
13
+ description: "Searches the bundled Atlassian Design System (ADS) component catalog. Returns JSON objects with **name**, **package**, **examples**, and **props** for each match (trimmed payload).\n\nWHEN TO USE:\n**Selecting which canonical ADS component to use**\u2014package name, examples, and props\u2014before implementation. Use when composing a new view or swapping a primitive. Prefer `ads_plan` when you also need token and icon discovery in one shot.\n\nIf you are looking for a public `@atlaskit/*` scoped package that is not part of the ADS component catalog, use `atlaskit_search_components` for fallback research instead of this ADS-only search.",
14
14
  annotations: {
15
15
  title: 'Search ADS components',
16
16
  readOnlyHint: true,
@@ -93,7 +93,7 @@ var searchComponentsTool = exports.searchComponentsTool = /*#__PURE__*/function
93
93
  return _context.abrupt("return", {
94
94
  content: [{
95
95
  type: 'text',
96
- text: "Error: No components found for '".concat(terms.join(', '), "'. Available components: ").concat(components.map(function (c) {
96
+ text: "Error: No ADS components found for '".concat(terms.join(', '), "'. If this is a public @atlaskit/* package outside the ADS catalog, call atlaskit_search_components with the same terms. Available ADS components: ").concat(components.map(function (c) {
97
97
  return c.name;
98
98
  }).join(', '))
99
99
  }]
@@ -1,6 +1,8 @@
1
1
  export const instructions = `
2
2
  You are an expert in the Atlassian Design System (ADS).
3
3
  You can search for tokens, icons, and components and return guidance on how to build user interfaces.
4
+ Use ads_* tools for canonical ADS resources: components, tokens, icons, foundations, accessibility, lint rules, i18n, and migrations.
5
+ Use atlaskit_* tools only for further research into public @atlaskit/* scoped packages that are not covered by the ADS catalog, such as non-ADS components, hooks, and utilities. Prefer ADS resources first for standard UI.
4
6
  You have special accessibility knowledge and can ensure interfaces built with ADS components are accessible to all users.
5
7
  You can analyze code for accessibility violations, provide specific fix suggestions, and offer guidance on accessibility best practices.
6
8
  For org-wide standards alongside ADS tools: pair Context Engine \`get_accessibility_docs\` with \`ads_get_a11y_guidelines\`, \`get_content_standards_docs\` with \`ads_get_guidelines\`, and \`get_i18n_docs\` with \`ads_i18n_conversion_guide\` (Traduki/i18n policy plus the bundled formatMessage refactor guide).
@@ -4,7 +4,7 @@ import { z } from 'zod';
4
4
  import { zodToJsonSchema } from '../../helpers/zod-to-json-schema';
5
5
  export const listGetAllComponentsTool = {
6
6
  name: 'ads_get_all_components',
7
- description: `Returns **every** Atlassian Design System component record as separate JSON text chunks (full catalog; large payload).
7
+ description: `Returns **every** canonical Atlassian Design System (ADS) component record as separate JSON text chunks (full catalog; large payload). For non-ADS public \`@atlaskit/*\` packages, use \`atlaskit_get_components\` or \`atlaskit_search_components\`.
8
8
 
9
9
  WHEN TO USE:
10
10
  Last resort when \`ads_plan\` / \`ads_search_components\` is insufficient and you must enumerate all components. Prefer search for normal component picking.
@@ -4,10 +4,10 @@ import { z } from 'zod';
4
4
  import { zodToJsonSchema } from '../../helpers';
5
5
  export const listGetAtlaskitComponentsTool = {
6
6
  name: 'atlaskit_get_components',
7
- description: `Returns the names and packages of all atlaskit components excluding components covered by the Atlassian Design System.
7
+ description: `Returns a compact inventory of public \`@atlaskit/*\` component packages that are not covered by the Atlassian Design System (ADS) component catalog. Output is names and packages only.
8
8
 
9
9
  WHEN TO USE:
10
- Use this when you want to see what components are available without the full metadata payload.
10
+ Use this for fallback discovery after ADS component search is not enough, or when you need to see which non-ADS \`@atlaskit/*\` components are available without the full metadata payload. For implementation examples and props, use \`atlaskit_search_components\`.
11
11
 
12
12
  No parameters.`,
13
13
  annotations: {
@@ -4,10 +4,10 @@ import { z } from 'zod';
4
4
  import { zodToJsonSchema } from '../../helpers';
5
5
  export const listGetAtlaskitHooksTool = {
6
6
  name: 'atlaskit_get_hooks',
7
- description: `Returns the names and packages of all atlaskit hooks excluding hooks covered by the Atlassian Design System.
7
+ description: `Returns a compact inventory of public \`@atlaskit/*\` hooks that are not covered by the Atlassian Design System (ADS) catalog. Output is names and packages only.
8
8
 
9
9
  WHEN TO USE:
10
- Use this when you want to see what hooks are available without the full metadata payload.
10
+ Use this for fallback discovery when you need a non-ADS \`@atlaskit/*\` hook inventory without the full metadata payload. For usage guidance, parameters, and return values, use \`atlaskit_search_hooks\`.
11
11
 
12
12
  No parameters.`,
13
13
  annotations: {
@@ -4,10 +4,10 @@ import { z } from 'zod';
4
4
  import { zodToJsonSchema } from '../../helpers';
5
5
  export const listGetAtlaskitUtilitiesTool = {
6
6
  name: 'atlaskit_get_utilities',
7
- description: `Returns the names and packages of all atlaskit utilities (functions, constants, types) excluding utilities covered by the Atlassian Design System.
7
+ description: `Returns a compact inventory of public \`@atlaskit/*\` utilities (functions, constants, types) that are not covered by the Atlassian Design System (ADS) catalog. Output is names and packages only.
8
8
 
9
9
  WHEN TO USE:
10
- Use this when you want to see what utilities are available without the full metadata payload.
10
+ Use this for fallback discovery when you need a non-ADS \`@atlaskit/*\` utility inventory without the full metadata payload. For usage guidance and signatures, use \`atlaskit_search_utilities\`.
11
11
 
12
12
  No parameters.`,
13
13
  annotations: {
@@ -4,10 +4,13 @@ import { zodToJsonSchema } from '../../helpers/zod-to-json-schema';
4
4
  import { planInputSchema } from './plan-input-schema';
5
5
  export const listPlanTool = {
6
6
  name: 'ads_plan',
7
- description: `Runs **ads_search_tokens**, **ads_search_icons**, **ads_search_components**, and **ads_search_atlaskit_components** in one call and returns a single JSON payload (each section only if that list was non-empty). Use this as the default way to discover ADS **tokens**, **icons**, and **components** (including legacy/broader Atlaskit) for a UI task.
7
+ description: `Runs **ads_search_tokens**, **ads_search_icons**, **ads_search_components**, and optionally **atlaskit_search_components** in one call and returns a single JSON payload (each section only if that list was non-empty). Use this as the default way to discover ADS **tokens**, **icons**, and **components** for a UI task.
8
8
 
9
9
  WHEN TO USE:
10
- **Implementing or iterating on a UI**—new screen, feature, or polish—and you need candidate **token** names, **icon** imports, and **component** packages/props in one pass. Also use when exploring ADS building blocks before you write code.
10
+ **Implementing or iterating on a UI**—new screen, feature, or polish—and you need candidate **token** names, **icon** imports, and **ADS component** packages/props in one pass. Also use when exploring ADS building blocks before you write code.
11
+
12
+ ADS-FIRST ROUTING:
13
+ Use \`components\` for canonical ADS components. Use \`atlaskitComponents\` only as explicit fallback research for public \`@atlaskit/*\` packages outside the ADS catalog, or after ADS component search has no useful match. This tool does not auto-populate \`atlaskitComponents\` from \`components\`.
11
14
 
12
15
  At least one of \`tokens\`, \`icons\`, \`components\`, or \`atlaskitComponents\` must contain search terms (use \`[]\` for lists you do not need).
13
16
 
@@ -21,7 +24,7 @@ Example request:
21
24
  "tokens": ["spacing", "inverted text", "background primary", "animation"],
22
25
  "icons": ["search", "folder", "user"],
23
26
  "components": ["button", "input", "select", "heading"],
24
- "atlaskitComponents": ["inline-dialog", "onboarding", "page-layout"]
27
+ "atlaskitComponents": ["editor-core", "onboarding", "page-layout"]
25
28
  }
26
29
  \`\`\`
27
30
 
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  export const planInputSchema = z.object({
4
4
  tokens: z.array(z.string()).describe('Search terms for ADS design tokens (fuzzy by default). Use `[]` if you only need icons or components. Prefer **at least two** terms per non-empty list when you know what you need.'),
5
5
  icons: z.array(z.string()).describe('Search terms for ADS icons. Use `[]` if you only need tokens or components. Prefer **at least two** terms per non-empty list when known.'),
6
- components: z.array(z.string()).describe('Search terms for ADS components. Use `[]` if you only need tokens or icons. Prefer **at least two** terms per non-empty list when known.'),
7
- atlaskitComponents: z.array(z.string()).describe('Search terms for Atlaskit components. Use `[]` if you only need core ADS components. Prefer **at least two** terms per non-empty list when known.'),
8
- limit: z.number().default(2).describe('Max matches **per term** for each non-empty list (default 2). Same limit applies to tokens, icons, and both ADS and atlaskit component searches.').optional()
6
+ components: z.array(z.string()).describe('Search terms for canonical ADS components. Use `[]` if you only need tokens, icons, or explicit Atlaskit fallback research. Prefer **at least two** terms per non-empty list when known.'),
7
+ atlaskitComponents: z.array(z.string()).describe('Search terms for public `@atlaskit/*` components outside the ADS catalog. Use only as explicit fallback research when ADS component search is not enough; this is not auto-populated from `components`. Use `[]` if you only need canonical ADS components. Prefer **at least two** terms per non-empty list when known.'),
8
+ limit: z.number().default(2).describe('Max matches **per term** for each non-empty list (default 2). Same limit applies to tokens, icons, ADS components, and explicit Atlaskit component fallback searches.').optional()
9
9
  });
@@ -17,7 +17,7 @@ export const planTool = async ({
17
17
  isError: true,
18
18
  content: [{
19
19
  type: 'text',
20
- text: 'Error: At least one search type (tokens_search, icons_search, components_search, or atlaskit_components_search) must be provided with search terms'
20
+ text: 'Error: At least one search type (tokens, icons, components, or atlaskitComponents) must be provided with search terms'
21
21
  }]
22
22
  };
23
23
  }
@@ -4,10 +4,10 @@ import { zodToJsonSchema } from '../../helpers/zod-to-json-schema';
4
4
  import { searchAtlaskitComponentsInputSchema } from './search-atlaskit-components-input-schema';
5
5
  export const listSearchAtlaskitComponentsTool = {
6
6
  name: 'atlaskit_search_components',
7
- description: `Searches the bundled Atlaskit component catalog. Returns JSON objects with **name**, **package**, **examples**, and **props** for each match (trimmed payload).
7
+ description: `Searches the bundled public \`@atlaskit/*\` component catalog outside the Atlassian Design System (ADS) component catalog. Returns JSON objects with **name**, **package**, **examples**, and **props** for each match (trimmed payload).
8
8
 
9
9
  WHEN TO USE:
10
- **Selecting which Atlaskit component to use**—package name, examples, and props—before implementation. Use when searching for specific Atlaskit components that might not be in the core ADS catalog.`,
10
+ Use this for fallback research when \`ads_search_components\` or \`ads_plan.components\` does not find a useful ADS component, or when the user asks about a specific public \`@atlaskit/*\` package that is not part of ADS. Prefer canonical ADS components first for standard UI.`,
11
11
  annotations: {
12
12
  title: 'Search Atlaskit components',
13
13
  readOnlyHint: true,
@@ -4,10 +4,10 @@ import { zodToJsonSchema } from '../../helpers';
4
4
  import { searchAtlaskitHooksInputSchema } from './search-atlaskit-hooks-input-schema';
5
5
  export const listSearchAtlaskitHooksTool = {
6
6
  name: 'atlaskit_search_hooks',
7
- description: `Search for atlaskit hooks by name, package, category, description, or keywords.
7
+ description: `Search public \`@atlaskit/*\` hooks outside the Atlassian Design System (ADS) catalog by name, package, category, description, or keywords.
8
8
 
9
9
  WHEN TO USE:
10
- Use this when you want to find a hook but don't know its exact name or package.`,
10
+ Use this for fallback research when you want to find a non-ADS \`@atlaskit/*\` hook but do not know its exact name or package.`,
11
11
  annotations: {
12
12
  title: 'Search Atlaskit hooks',
13
13
  readOnlyHint: true,
@@ -4,10 +4,10 @@ import { zodToJsonSchema } from '../../helpers';
4
4
  import { searchAtlaskitUtilitiesInputSchema } from './search-atlaskit-utilities-input-schema';
5
5
  export const listSearchAtlaskitUtilitiesTool = {
6
6
  name: 'atlaskit_search_utilities',
7
- description: `Search for atlaskit utilities (functions, constants, types) by name, package, category, description, or keywords.
7
+ description: `Search public \`@atlaskit/*\` utilities (functions, constants, types) outside the Atlassian Design System (ADS) catalog by name, package, category, description, or keywords.
8
8
 
9
9
  WHEN TO USE:
10
- Use this when you want to find a utility but don't know its exact name or package.`,
10
+ Use this for fallback research when you want to find a non-ADS \`@atlaskit/*\` utility but do not know its exact name or package.`,
11
11
  annotations: {
12
12
  title: 'Search Atlaskit utilities',
13
13
  readOnlyHint: true,
@@ -7,7 +7,9 @@ export const listSearchComponentsTool = {
7
7
  description: `Searches the bundled Atlassian Design System (ADS) component catalog. Returns JSON objects with **name**, **package**, **examples**, and **props** for each match (trimmed payload).
8
8
 
9
9
  WHEN TO USE:
10
- **Selecting which ADS component to use**—package name, examples, and props—before implementation. Use when composing a new view or swapping a primitive. Prefer \`ads_plan\` when you also need token and icon discovery in one shot.`,
10
+ **Selecting which canonical ADS component to use**—package name, examples, and props—before implementation. Use when composing a new view or swapping a primitive. Prefer \`ads_plan\` when you also need token and icon discovery in one shot.
11
+
12
+ If you are looking for a public \`@atlaskit/*\` scoped package that is not part of the ADS component catalog, use \`atlaskit_search_components\` for fallback research instead of this ADS-only search.`,
11
13
  annotations: {
12
14
  title: 'Search ADS components',
13
15
  readOnlyHint: true,
@@ -72,7 +72,7 @@ export const searchComponentsTool = async ({
72
72
  return {
73
73
  content: [{
74
74
  type: 'text',
75
- text: `Error: No components found for '${terms.join(', ')}'. Available components: ${components.map(c => c.name).join(', ')}`
75
+ text: `Error: No ADS components found for '${terms.join(', ')}'. If this is a public @atlaskit/* package outside the ADS catalog, call atlaskit_search_components with the same terms. Available ADS components: ${components.map(c => c.name).join(', ')}`
76
76
  }]
77
77
  };
78
78
  }
@@ -1 +1 @@
1
- export var instructions = "\nYou are an expert in the Atlassian Design System (ADS).\nYou can search for tokens, icons, and components and return guidance on how to build user interfaces.\nYou have special accessibility knowledge and can ensure interfaces built with ADS components are accessible to all users.\nYou can analyze code for accessibility violations, provide specific fix suggestions, and offer guidance on accessibility best practices.\nFor org-wide standards alongside ADS tools: pair Context Engine `get_accessibility_docs` with `ads_get_a11y_guidelines`, `get_content_standards_docs` with `ads_get_guidelines`, and `get_i18n_docs` with `ads_i18n_conversion_guide` (Traduki/i18n policy plus the bundled formatMessage refactor guide).\nThese tools will support you, but for deep research you may also fetch https://atlassian.design/llms.txt, https://atlassian.design/llms-a11y.txt, or https://atlassian.design/ directly.\n";
1
+ export var instructions = "\nYou are an expert in the Atlassian Design System (ADS).\nYou can search for tokens, icons, and components and return guidance on how to build user interfaces.\nUse ads_* tools for canonical ADS resources: components, tokens, icons, foundations, accessibility, lint rules, i18n, and migrations.\nUse atlaskit_* tools only for further research into public @atlaskit/* scoped packages that are not covered by the ADS catalog, such as non-ADS components, hooks, and utilities. Prefer ADS resources first for standard UI.\nYou have special accessibility knowledge and can ensure interfaces built with ADS components are accessible to all users.\nYou can analyze code for accessibility violations, provide specific fix suggestions, and offer guidance on accessibility best practices.\nFor org-wide standards alongside ADS tools: pair Context Engine `get_accessibility_docs` with `ads_get_a11y_guidelines`, `get_content_standards_docs` with `ads_get_guidelines`, and `get_i18n_docs` with `ads_i18n_conversion_guide` (Traduki/i18n policy plus the bundled formatMessage refactor guide).\nThese tools will support you, but for deep research you may also fetch https://atlassian.design/llms.txt, https://atlassian.design/llms-a11y.txt, or https://atlassian.design/ directly.\n";
@@ -4,7 +4,7 @@ import { z } from 'zod';
4
4
  import { zodToJsonSchema } from '../../helpers/zod-to-json-schema';
5
5
  export var listGetAllComponentsTool = {
6
6
  name: 'ads_get_all_components',
7
- description: "Returns **every** Atlassian Design System component record as separate JSON text chunks (full catalog; large payload).\n\nWHEN TO USE:\nLast resort when `ads_plan` / `ads_search_components` is insufficient and you must enumerate all components. Prefer search for normal component picking.\n\nNo parameters.",
7
+ description: "Returns **every** canonical Atlassian Design System (ADS) component record as separate JSON text chunks (full catalog; large payload). For non-ADS public `@atlaskit/*` packages, use `atlaskit_get_components` or `atlaskit_search_components`.\n\nWHEN TO USE:\nLast resort when `ads_plan` / `ads_search_components` is insufficient and you must enumerate all components. Prefer search for normal component picking.\n\nNo parameters.",
8
8
  annotations: {
9
9
  title: 'Get all ADS components',
10
10
  readOnlyHint: true,
@@ -4,7 +4,7 @@ import { z } from 'zod';
4
4
  import { zodToJsonSchema } from '../../helpers';
5
5
  export var listGetAtlaskitComponentsTool = {
6
6
  name: 'atlaskit_get_components',
7
- description: "Returns the names and packages of all atlaskit components excluding components covered by the Atlassian Design System.\n\nWHEN TO USE:\nUse this when you want to see what components are available without the full metadata payload.\n\nNo parameters.",
7
+ description: "Returns a compact inventory of public `@atlaskit/*` component packages that are not covered by the Atlassian Design System (ADS) component catalog. Output is names and packages only.\n\nWHEN TO USE:\nUse this for fallback discovery after ADS component search is not enough, or when you need to see which non-ADS `@atlaskit/*` components are available without the full metadata payload. For implementation examples and props, use `atlaskit_search_components`.\n\nNo parameters.",
8
8
  annotations: {
9
9
  title: 'Get all Atlaskit components',
10
10
  readOnlyHint: true,
@@ -4,7 +4,7 @@ import { z } from 'zod';
4
4
  import { zodToJsonSchema } from '../../helpers';
5
5
  export var listGetAtlaskitHooksTool = {
6
6
  name: 'atlaskit_get_hooks',
7
- description: "Returns the names and packages of all atlaskit hooks excluding hooks covered by the Atlassian Design System.\n\nWHEN TO USE:\nUse this when you want to see what hooks are available without the full metadata payload.\n\nNo parameters.",
7
+ description: "Returns a compact inventory of public `@atlaskit/*` hooks that are not covered by the Atlassian Design System (ADS) catalog. Output is names and packages only.\n\nWHEN TO USE:\nUse this for fallback discovery when you need a non-ADS `@atlaskit/*` hook inventory without the full metadata payload. For usage guidance, parameters, and return values, use `atlaskit_search_hooks`.\n\nNo parameters.",
8
8
  annotations: {
9
9
  title: 'Get all Atlaskit hooks',
10
10
  readOnlyHint: true,
@@ -4,7 +4,7 @@ import { z } from 'zod';
4
4
  import { zodToJsonSchema } from '../../helpers';
5
5
  export var listGetAtlaskitUtilitiesTool = {
6
6
  name: 'atlaskit_get_utilities',
7
- description: "Returns the names and packages of all atlaskit utilities (functions, constants, types) excluding utilities covered by the Atlassian Design System.\n\nWHEN TO USE:\nUse this when you want to see what utilities are available without the full metadata payload.\n\nNo parameters.",
7
+ description: "Returns a compact inventory of public `@atlaskit/*` utilities (functions, constants, types) that are not covered by the Atlassian Design System (ADS) catalog. Output is names and packages only.\n\nWHEN TO USE:\nUse this for fallback discovery when you need a non-ADS `@atlaskit/*` utility inventory without the full metadata payload. For usage guidance and signatures, use `atlaskit_search_utilities`.\n\nNo parameters.",
8
8
  annotations: {
9
9
  title: 'Get all Atlaskit utilities',
10
10
  readOnlyHint: true,
@@ -4,7 +4,7 @@ import { zodToJsonSchema } from '../../helpers/zod-to-json-schema';
4
4
  import { planInputSchema } from './plan-input-schema';
5
5
  export var listPlanTool = {
6
6
  name: 'ads_plan',
7
- description: "Runs **ads_search_tokens**, **ads_search_icons**, **ads_search_components**, and **ads_search_atlaskit_components** in one call and returns a single JSON payload (each section only if that list was non-empty). Use this as the default way to discover ADS **tokens**, **icons**, and **components** (including legacy/broader Atlaskit) for a UI task.\n\nWHEN TO USE:\n**Implementing or iterating on a UI**\u2014new screen, feature, or polish\u2014and you need candidate **token** names, **icon** imports, and **component** packages/props in one pass. Also use when exploring ADS building blocks before you write code.\n\nAt least one of `tokens`, `icons`, `components`, or `atlaskitComponents` must contain search terms (use `[]` for lists you do not need).\n\nPrefer supplying **multiple** terms per non-empty array when you know them\u2014broader queries improve recall. Some queries return no rows where metadata is thin; try alternate wording.\n\nThis is equivalent to calling the individual search tools; there are no extra merge semantics beyond concatenating results.\n\nExample request:\n```json\n{\n\t\"tokens\": [\"spacing\", \"inverted text\", \"background primary\", \"animation\"],\n\t\"icons\": [\"search\", \"folder\", \"user\"],\n\t\"components\": [\"button\", \"input\", \"select\", \"heading\"],\n\t\"atlaskitComponents\": [\"inline-dialog\", \"onboarding\", \"page-layout\"]\n}\n```\n\nExample token usage:\n```tsx\nimport { token } from '@atlaskit/tokens';\nconst styles = css({ color: token('color.text'), padding: token('space.100') });\n```\n\nExample icon usage:\n```tsx\nimport AddIcon from '@atlaskit/icon/core/add';\n<AddIcon label=\"Add work item\" size=\"small\" />\n```",
7
+ description: "Runs **ads_search_tokens**, **ads_search_icons**, **ads_search_components**, and optionally **atlaskit_search_components** in one call and returns a single JSON payload (each section only if that list was non-empty). Use this as the default way to discover ADS **tokens**, **icons**, and **components** for a UI task.\n\nWHEN TO USE:\n**Implementing or iterating on a UI**\u2014new screen, feature, or polish\u2014and you need candidate **token** names, **icon** imports, and **ADS component** packages/props in one pass. Also use when exploring ADS building blocks before you write code.\n\nADS-FIRST ROUTING:\nUse `components` for canonical ADS components. Use `atlaskitComponents` only as explicit fallback research for public `@atlaskit/*` packages outside the ADS catalog, or after ADS component search has no useful match. This tool does not auto-populate `atlaskitComponents` from `components`.\n\nAt least one of `tokens`, `icons`, `components`, or `atlaskitComponents` must contain search terms (use `[]` for lists you do not need).\n\nPrefer supplying **multiple** terms per non-empty array when you know them\u2014broader queries improve recall. Some queries return no rows where metadata is thin; try alternate wording.\n\nThis is equivalent to calling the individual search tools; there are no extra merge semantics beyond concatenating results.\n\nExample request:\n```json\n{\n\t\"tokens\": [\"spacing\", \"inverted text\", \"background primary\", \"animation\"],\n\t\"icons\": [\"search\", \"folder\", \"user\"],\n\t\"components\": [\"button\", \"input\", \"select\", \"heading\"],\n\t\"atlaskitComponents\": [\"editor-core\", \"onboarding\", \"page-layout\"]\n}\n```\n\nExample token usage:\n```tsx\nimport { token } from '@atlaskit/tokens';\nconst styles = css({ color: token('color.text'), padding: token('space.100') });\n```\n\nExample icon usage:\n```tsx\nimport AddIcon from '@atlaskit/icon/core/add';\n<AddIcon label=\"Add work item\" size=\"small\" />\n```",
8
8
  annotations: {
9
9
  title: 'Search ADS tokens, icons, and components to plan what to build',
10
10
  readOnlyHint: true,
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  export var planInputSchema = z.object({
4
4
  tokens: z.array(z.string()).describe('Search terms for ADS design tokens (fuzzy by default). Use `[]` if you only need icons or components. Prefer **at least two** terms per non-empty list when you know what you need.'),
5
5
  icons: z.array(z.string()).describe('Search terms for ADS icons. Use `[]` if you only need tokens or components. Prefer **at least two** terms per non-empty list when known.'),
6
- components: z.array(z.string()).describe('Search terms for ADS components. Use `[]` if you only need tokens or icons. Prefer **at least two** terms per non-empty list when known.'),
7
- atlaskitComponents: z.array(z.string()).describe('Search terms for Atlaskit components. Use `[]` if you only need core ADS components. Prefer **at least two** terms per non-empty list when known.'),
8
- limit: z.number().default(2).describe('Max matches **per term** for each non-empty list (default 2). Same limit applies to tokens, icons, and both ADS and atlaskit component searches.').optional()
6
+ components: z.array(z.string()).describe('Search terms for canonical ADS components. Use `[]` if you only need tokens, icons, or explicit Atlaskit fallback research. Prefer **at least two** terms per non-empty list when known.'),
7
+ atlaskitComponents: z.array(z.string()).describe('Search terms for public `@atlaskit/*` components outside the ADS catalog. Use only as explicit fallback research when ADS component search is not enough; this is not auto-populated from `components`. Use `[]` if you only need canonical ADS components. Prefer **at least two** terms per non-empty list when known.'),
8
+ limit: z.number().default(2).describe('Max matches **per term** for each non-empty list (default 2). Same limit applies to tokens, icons, ADS components, and explicit Atlaskit component fallback searches.').optional()
9
9
  });
@@ -24,7 +24,7 @@ export var planTool = /*#__PURE__*/function () {
24
24
  isError: true,
25
25
  content: [{
26
26
  type: 'text',
27
- text: 'Error: At least one search type (tokens_search, icons_search, components_search, or atlaskit_components_search) must be provided with search terms'
27
+ text: 'Error: At least one search type (tokens, icons, components, or atlaskitComponents) must be provided with search terms'
28
28
  }]
29
29
  });
30
30
  case 1:
@@ -4,7 +4,7 @@ import { zodToJsonSchema } from '../../helpers/zod-to-json-schema';
4
4
  import { searchAtlaskitComponentsInputSchema } from './search-atlaskit-components-input-schema';
5
5
  export var listSearchAtlaskitComponentsTool = {
6
6
  name: 'atlaskit_search_components',
7
- description: "Searches the bundled Atlaskit component catalog. Returns JSON objects with **name**, **package**, **examples**, and **props** for each match (trimmed payload).\n\nWHEN TO USE:\n**Selecting which Atlaskit component to use**\u2014package name, examples, and props\u2014before implementation. Use when searching for specific Atlaskit components that might not be in the core ADS catalog.",
7
+ description: "Searches the bundled public `@atlaskit/*` component catalog outside the Atlassian Design System (ADS) component catalog. Returns JSON objects with **name**, **package**, **examples**, and **props** for each match (trimmed payload).\n\nWHEN TO USE:\nUse this for fallback research when `ads_search_components` or `ads_plan.components` does not find a useful ADS component, or when the user asks about a specific public `@atlaskit/*` package that is not part of ADS. Prefer canonical ADS components first for standard UI.",
8
8
  annotations: {
9
9
  title: 'Search Atlaskit components',
10
10
  readOnlyHint: true,
@@ -4,7 +4,7 @@ import { zodToJsonSchema } from '../../helpers';
4
4
  import { searchAtlaskitHooksInputSchema } from './search-atlaskit-hooks-input-schema';
5
5
  export var listSearchAtlaskitHooksTool = {
6
6
  name: 'atlaskit_search_hooks',
7
- description: "Search for atlaskit hooks by name, package, category, description, or keywords.\n\nWHEN TO USE:\nUse this when you want to find a hook but don't know its exact name or package.",
7
+ description: "Search public `@atlaskit/*` hooks outside the Atlassian Design System (ADS) catalog by name, package, category, description, or keywords.\n\nWHEN TO USE:\nUse this for fallback research when you want to find a non-ADS `@atlaskit/*` hook but do not know its exact name or package.",
8
8
  annotations: {
9
9
  title: 'Search Atlaskit hooks',
10
10
  readOnlyHint: true,
@@ -4,7 +4,7 @@ import { zodToJsonSchema } from '../../helpers';
4
4
  import { searchAtlaskitUtilitiesInputSchema } from './search-atlaskit-utilities-input-schema';
5
5
  export var listSearchAtlaskitUtilitiesTool = {
6
6
  name: 'atlaskit_search_utilities',
7
- description: "Search for atlaskit utilities (functions, constants, types) by name, package, category, description, or keywords.\n\nWHEN TO USE:\nUse this when you want to find a utility but don't know its exact name or package.",
7
+ description: "Search public `@atlaskit/*` utilities (functions, constants, types) outside the Atlassian Design System (ADS) catalog by name, package, category, description, or keywords.\n\nWHEN TO USE:\nUse this for fallback research when you want to find a non-ADS `@atlaskit/*` utility but do not know its exact name or package.",
8
8
  annotations: {
9
9
  title: 'Search Atlaskit utilities',
10
10
  readOnlyHint: true,
@@ -4,7 +4,7 @@ import { zodToJsonSchema } from '../../helpers/zod-to-json-schema';
4
4
  import { searchComponentsInputSchema } from './search-components-input-schema';
5
5
  export var listSearchComponentsTool = {
6
6
  name: 'ads_search_components',
7
- description: "Searches the bundled Atlassian Design System (ADS) component catalog. Returns JSON objects with **name**, **package**, **examples**, and **props** for each match (trimmed payload).\n\nWHEN TO USE:\n**Selecting which ADS component to use**\u2014package name, examples, and props\u2014before implementation. Use when composing a new view or swapping a primitive. Prefer `ads_plan` when you also need token and icon discovery in one shot.",
7
+ description: "Searches the bundled Atlassian Design System (ADS) component catalog. Returns JSON objects with **name**, **package**, **examples**, and **props** for each match (trimmed payload).\n\nWHEN TO USE:\n**Selecting which canonical ADS component to use**\u2014package name, examples, and props\u2014before implementation. Use when composing a new view or swapping a primitive. Prefer `ads_plan` when you also need token and icon discovery in one shot.\n\nIf you are looking for a public `@atlaskit/*` scoped package that is not part of the ADS component catalog, use `atlaskit_search_components` for fallback research instead of this ADS-only search.",
8
8
  annotations: {
9
9
  title: 'Search ADS components',
10
10
  readOnlyHint: true,
@@ -86,7 +86,7 @@ export var searchComponentsTool = /*#__PURE__*/function () {
86
86
  return _context.abrupt("return", {
87
87
  content: [{
88
88
  type: 'text',
89
- text: "Error: No components found for '".concat(terms.join(', '), "'. Available components: ").concat(components.map(function (c) {
89
+ text: "Error: No ADS components found for '".concat(terms.join(', '), "'. If this is a public @atlaskit/* package outside the ADS catalog, call atlaskit_search_components with the same terms. Available ADS components: ").concat(components.map(function (c) {
90
90
  return c.name;
91
91
  }).join(', '))
92
92
  }]
@@ -1 +1 @@
1
- export declare const instructions = "\nYou are an expert in the Atlassian Design System (ADS).\nYou can search for tokens, icons, and components and return guidance on how to build user interfaces.\nYou have special accessibility knowledge and can ensure interfaces built with ADS components are accessible to all users.\nYou can analyze code for accessibility violations, provide specific fix suggestions, and offer guidance on accessibility best practices.\nFor org-wide standards alongside ADS tools: pair Context Engine `get_accessibility_docs` with `ads_get_a11y_guidelines`, `get_content_standards_docs` with `ads_get_guidelines`, and `get_i18n_docs` with `ads_i18n_conversion_guide` (Traduki/i18n policy plus the bundled formatMessage refactor guide).\nThese tools will support you, but for deep research you may also fetch https://atlassian.design/llms.txt, https://atlassian.design/llms-a11y.txt, or https://atlassian.design/ directly.\n";
1
+ export declare const instructions = "\nYou are an expert in the Atlassian Design System (ADS).\nYou can search for tokens, icons, and components and return guidance on how to build user interfaces.\nUse ads_* tools for canonical ADS resources: components, tokens, icons, foundations, accessibility, lint rules, i18n, and migrations.\nUse atlaskit_* tools only for further research into public @atlaskit/* scoped packages that are not covered by the ADS catalog, such as non-ADS components, hooks, and utilities. Prefer ADS resources first for standard UI.\nYou have special accessibility knowledge and can ensure interfaces built with ADS components are accessible to all users.\nYou can analyze code for accessibility violations, provide specific fix suggestions, and offer guidance on accessibility best practices.\nFor org-wide standards alongside ADS tools: pair Context Engine `get_accessibility_docs` with `ads_get_a11y_guidelines`, `get_content_standards_docs` with `ads_get_guidelines`, and `get_i18n_docs` with `ads_i18n_conversion_guide` (Traduki/i18n policy plus the bundled formatMessage refactor guide).\nThese tools will support you, but for deep research you may also fetch https://atlassian.design/llms.txt, https://atlassian.design/llms-a11y.txt, or https://atlassian.design/ directly.\n";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/ads-mcp",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
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",
@@ -21,10 +21,10 @@
21
21
  "types": "dist/types/index.d.ts",
22
22
  "atlaskit:src": "src/index.tsx",
23
23
  "dependencies": {
24
- "@atlaskit/icon": "^36.0.0",
25
- "@atlaskit/icon-lab": "^7.1.0",
24
+ "@atlaskit/icon": "^36.1.0",
25
+ "@atlaskit/icon-lab": "^7.2.0",
26
26
  "@atlaskit/platform-feature-flags": "^2.0.0",
27
- "@atlaskit/tokens": "^15.0.0",
27
+ "@atlaskit/tokens": "^15.1.0",
28
28
  "@axe-core/playwright": "^4.11.1",
29
29
  "@axe-core/puppeteer": "^4.11.1",
30
30
  "@babel/runtime": "^7.0.0",