@simplysf/simply-atlassian-mcp 0.6.2 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -353,6 +353,27 @@ With writes allowed:
353
353
  | `confluence_page_children` | |
354
354
  | `confluence_page_comment_list` | |
355
355
 
356
+ ### Xray tools (`--xray`)
357
+
358
+ For Jira Server/Data Center with [Xray](https://www.getxray.app/) installed, start the server with
359
+ `--xray` to also register seven read tools: `jira_xray_fields`, `jira_xray_test_get`,
360
+ `jira_xray_test_list`, `jira_xray_test_export`, `jira_xray_plan_list`, `jira_xray_set_list`, and
361
+ `jira_xray_path_list`. They are off by default because a client shows its model every registered
362
+ tool and most instances have no Xray, and Xray Server/Data Center needs no settings of its own that
363
+ the server could detect it by. `--allow-writes` does not register them; they are all reads.
364
+
365
+ They differ from the other tools in three ways, all described in the
366
+ [Xray guide](https://simplysf.github.io/simply-cli/atlassian/guides/xray/):
367
+
368
+ - They return assembled data rather than a raw payload: `jira_xray_test_get` returns
369
+ `{ record, notes }` and `jira_xray_test_export` returns `{ records, total?, complete, notes }`, with
370
+ export records, and the list tools return `{ rows, total?, complete }`, rows keyed by field name
371
+ rather than Xray's `customfield_…` ids.
372
+ - Their `fields` input adds to the default fields instead of replacing them.
373
+ - `jira_xray_test_export` returns 100 tests unless `limit` asks for more, and at most 500, because
374
+ a host holds the whole result in its context. For larger exports, use the CLI's
375
+ `jira xray test export --format jsonl`.
376
+
356
377
  ## Results and errors
357
378
 
358
379
  A successful call returns what the CLI prints with `--json`, verbatim. A failure returns an error
@@ -385,6 +406,7 @@ installed and working, and the problem is in how the client launches it or what
385
406
  | `code: "auth"` with status `401` | The instance rejected the credentials. Cloud needs `JIRA_USERNAME` plus `JIRA_API_TOKEN`; Server/Data Center needs `JIRA_PERSONAL_TOKEN` alone. Set one style, not both. |
386
407
  | `code: "auth"` with status `403` on a write | The token is read-scoped, which is the intended outcome for the everyday server. Use the write-capable server entry for this change. |
387
408
  | The agent says it has no tool to create, update, or delete | The server was started without `--allow-writes`. That is the default; see [Let the agent write](#let-the-agent-write). |
409
+ | The agent has no `jira_xray_*` tools | The server was started without `--xray`. Add it to the server's `args`; see [Xray tools](#xray-tools---xray). |
388
410
  | A write returns `code: "config"` mentioning `ATLASSIAN_READ_ONLY` | The variable is set in the environment or the env file. Unset it, or point the write server at a credential file meant for writing. |
389
411
 
390
412
  ## Embed in your own process
@@ -404,14 +426,14 @@ await server.connect(transport);
404
426
  ```
405
427
 
406
428
  `createServer` returns the MCP SDK's `McpServer` with the tools registered and nothing connected.
407
- `TOOLS` is the full catalogue, `selectTools(allowWrites)` is the subset a given configuration
429
+ `TOOLS` is the full catalogue, `selectTools(allowWrites, xray)` is the subset a given configuration
408
430
  registers, and `invokeTool` and `mapError` run one tool and map a failure onto the error object
409
431
  above, for tests and hosts that need to drive the server without a transport.
410
432
 
411
433
  ## Options
412
434
 
413
435
  ```
414
- simply-atlassian-mcp [--allow-writes] [--env-file <path>]
436
+ simply-atlassian-mcp [--allow-writes] [--xray] [--env-file <path>]
415
437
  ```
416
438
 
417
439
  `--help` prints the options and the full tool list. Because stdout is the protocol stream, it
package/bin/run.js CHANGED
@@ -8,6 +8,7 @@ const { values } = parseArgs({
8
8
  options: {
9
9
  'allow-writes': { type: 'boolean', default: false },
10
10
  'env-file': { type: 'string' },
11
+ xray: { type: 'boolean', default: false },
11
12
  help: { type: 'boolean', short: 'h', default: false },
12
13
  },
13
14
  strict: true,
@@ -19,7 +20,7 @@ if (values.help) {
19
20
  const list = (tools) => tools.map((tool) => ` ${tool.name.padEnd(30)} ${tool.title}`).join('\n');
20
21
  process.stderr.write(
21
22
  [
22
- 'Usage: simply-atlassian-mcp [--allow-writes] [--env-file <path>]',
23
+ 'Usage: simply-atlassian-mcp [--allow-writes] [--xray] [--env-file <path>]',
23
24
  '',
24
25
  'Serves Jira and Confluence as MCP tools over stdio, one tool per simply-atlassian CLI',
25
26
  'command, calling the same library in-process. Connection settings come from the',
@@ -27,6 +28,7 @@ if (values.help) {
27
28
  '',
28
29
  ' --allow-writes Also register the tools that change or delete data (off by default).',
29
30
  ' ATLASSIAN_READ_ONLY in the environment still refuses every write.',
31
+ ' --xray Also register the Xray tools (Jira Server/Data Center, read-only).',
30
32
  ' --env-file <path> A .env file holding connection settings the environment does not.',
31
33
  '',
32
34
  'Read tools (always registered):',
@@ -35,13 +37,16 @@ if (values.help) {
35
37
  'Write tools (with --allow-writes):',
36
38
  list(selectTools(true).filter((tool) => tool.kind !== 'read')),
37
39
  '',
40
+ 'Xray tools (with --xray):',
41
+ list(selectTools(false, true).filter((tool) => tool.app === 'xray')),
42
+ '',
38
43
  ].join('\n'),
39
44
  );
40
45
  process.exit(0);
41
46
  }
42
47
 
43
48
  try {
44
- await startServer({ allowWrites: values['allow-writes'], envFile: values['env-file'] });
49
+ await startServer({ allowWrites: values['allow-writes'], xray: values.xray, envFile: values['env-file'] });
45
50
  } catch (error) {
46
51
  // A missing or unreadable --env-file is the one failure that can happen before the transport
47
52
  // is up; everything else is reported per tool call.
@@ -312,6 +312,11 @@ With writes allowed:
312
312
  `confluence_page_update` takes `append` to add to a page instead of replacing it. "Add a
313
313
  Decisions section to this page with these three bullets" becomes `confluence_page_update` with
314
314
  `markdown` and `append: true`.
315
+ - **A failed write may still have landed.** A write is never retried after a `5xx`, a dropped
316
+ connection, or a timeout, because the instance may already have applied it; the error message
317
+ says `The change may have been applied; check before retrying.` An agent that sees it should
318
+ look for the issue, comment, or page change before calling the tool again, or it may create a
319
+ duplicate. See [Write safety](/guides/write-safety/).
315
320
 
316
321
  ## Tools
317
322
 
@@ -337,6 +342,27 @@ With writes allowed:
337
342
  | `confluence_page_children` | |
338
343
  | `confluence_page_comment_list` | |
339
344
 
345
+ ### Xray tools (`--xray`)
346
+
347
+ For Jira Server/Data Center with [Xray](https://www.getxray.app/) installed, start the server with
348
+ `--xray` to also register seven read tools: `jira_xray_fields`, `jira_xray_test_get`,
349
+ `jira_xray_test_list`, `jira_xray_test_export`, `jira_xray_plan_list`, `jira_xray_set_list`, and
350
+ `jira_xray_path_list`. They are off by default because a client shows its model every registered
351
+ tool and most instances have no Xray, and Xray Server/Data Center needs no settings of its own that
352
+ the server could detect it by. `--allow-writes` does not register them; they are all reads.
353
+
354
+ They differ from the other tools in three ways, all described in the
355
+ [Xray guide](/guides/xray/):
356
+
357
+ - They return assembled data rather than a raw payload: `jira_xray_test_get` returns
358
+ `{ record, notes }` and `jira_xray_test_export` returns `{ records, total?, complete, notes }`, with
359
+ export records, and the list tools return `{ rows, total?, complete }`, rows keyed by field name
360
+ rather than Xray's `customfield_…` ids.
361
+ - Their `fields` input adds to the default fields instead of replacing them.
362
+ - `jira_xray_test_export` returns 100 tests unless `limit` asks for more, and at most 500, because
363
+ a host holds the whole result in its context. For larger exports, use the CLI's
364
+ `jira xray test export --format jsonl`.
365
+
340
366
  ## Results and errors
341
367
 
342
368
  A successful call returns what the CLI prints with `--json`, verbatim. A failure returns an error
@@ -369,6 +395,7 @@ installed and working, and the problem is in how the client launches it or what
369
395
  | `code: "auth"` with status `401` | The instance rejected the credentials. Cloud needs `JIRA_USERNAME` plus `JIRA_API_TOKEN`; Server/Data Center needs `JIRA_PERSONAL_TOKEN` alone. Set one style, not both. |
370
396
  | `code: "auth"` with status `403` on a write | The token is read-scoped, which is the intended outcome for the everyday server. Use the write-capable server entry for this change. |
371
397
  | The agent says it has no tool to create, update, or delete | The server was started without `--allow-writes`. That is the default; see [Let the agent write](#let-the-agent-write). |
398
+ | The agent has no `jira_xray_*` tools | The server was started without `--xray`. Add it to the server's `args`; see [Xray tools](#xray-tools---xray). |
372
399
  | A write returns `code: "config"` mentioning `ATLASSIAN_READ_ONLY` | The variable is set in the environment or the env file. Unset it, or point the write server at a credential file meant for writing. |
373
400
 
374
401
  ## Embed in your own process
@@ -388,14 +415,14 @@ await server.connect(transport);
388
415
  ```
389
416
 
390
417
  `createServer` returns the MCP SDK's `McpServer` with the tools registered and nothing connected.
391
- `TOOLS` is the full catalogue, `selectTools(allowWrites)` is the subset a given configuration
418
+ `TOOLS` is the full catalogue, `selectTools(allowWrites, xray)` is the subset a given configuration
392
419
  registers, and `invokeTool` and `mapError` run one tool and map a failure onto the error object
393
420
  above, for tests and hosts that need to drive the server without a transport.
394
421
 
395
422
  ## Options
396
423
 
397
424
  ```
398
- simply-atlassian-mcp [--allow-writes] [--env-file <path>]
425
+ simply-atlassian-mcp [--allow-writes] [--xray] [--env-file <path>]
399
426
  ```
400
427
 
401
428
  `--help` prints the options and the full tool list. Because stdout is the protocol stream, it
@@ -21,6 +21,7 @@ export default class AtlassianMcp extends Command {
21
21
  }[];
22
22
  static readonly flags: {
23
23
  'allow-writes': import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
+ xray: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
25
  'env-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
26
  list: import("@oclif/core/interfaces").BooleanFlag<boolean>;
26
27
  };
@@ -49,6 +49,10 @@ export default class AtlassianMcp extends Command {
49
49
  description: 'Allow writes, with settings from a file',
50
50
  command: '<%= config.bin %> <%= command.id %> --allow-writes --env-file ~/atlassian.env',
51
51
  },
52
+ {
53
+ description: 'Also register the Xray tools, for Jira Server/Data Center with Xray installed',
54
+ command: '<%= config.bin %> <%= command.id %> --xray',
55
+ },
52
56
  {
53
57
  description: 'List the tools this server would register, without starting it',
54
58
  command: '<%= config.bin %> <%= command.id %> --list',
@@ -61,6 +65,12 @@ export default class AtlassianMcp extends Command {
61
65
  'ATLASSIAN_READ_ONLY in the environment still refuses every write even when this is on.',
62
66
  default: false,
63
67
  }),
68
+ xray: Flags.boolean({
69
+ summary: 'Also register the Xray tools (Jira Server/Data Center, read-only).',
70
+ description: 'Off by default: a client shows its model every registered tool, and most instances have no Xray. ' +
71
+ 'Xray Server/Data Center needs no settings of its own, so there is nothing to detect it by.',
72
+ default: false,
73
+ }),
64
74
  'env-file': Flags.string({
65
75
  char: 'e',
66
76
  summary: 'Path to a .env file holding connection settings.',
@@ -78,7 +88,7 @@ export default class AtlassianMcp extends Command {
78
88
  if (flags.list) {
79
89
  // stderr, like every other diagnostic here: a client that inspects stdout must only ever
80
90
  // find protocol traffic on it.
81
- const tools = selectTools(flags['allow-writes']);
91
+ const tools = selectTools(flags['allow-writes'], flags.xray);
82
92
  process.stderr.write([
83
93
  `${tools.length} tool(s) would be registered${flags['allow-writes'] ? ' (writes allowed)' : ' (read-only)'}:`,
84
94
  ...tools.map((tool) => ` ${tool.name.padEnd(28)} ${tool.title}`),
@@ -88,7 +98,7 @@ export default class AtlassianMcp extends Command {
88
98
  }
89
99
  // Resolves once the transport is connected; the process then stays alive until the client
90
100
  // closes the stream, which is why this command never returns in normal use.
91
- await startServer({ allowWrites: flags['allow-writes'], envFile: flags['env-file'] });
101
+ await startServer({ allowWrites: flags['allow-writes'], xray: flags.xray, envFile: flags['env-file'] });
92
102
  }
93
103
  }
94
104
  //# sourceMappingURL=mcp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/commands/atlassian/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC/C,4FAA4F;IAC5F,uFAAuF;IAChF,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;IAEvC,MAAM,CAAmB,OAAO,GAAG,2CAA2C,CAAC;IAC/E,MAAM,CAAmB,WAAW,GACzC,yGAAyG;QACzG,gGAAgG;QAChG,4FAA4F;QAC5F,oEAAoE;QACpE,mGAAmG;QACnG,6EAA6E;QAC7E,gGAAgG;QAChG,gCAAgC,CAAC;IAE5B,MAAM,CAAmB,QAAQ,GAAG;QACzC;YACE,WAAW,EAAE,oEAAoE;YACjF,OAAO,EAAE,qCAAqC;SAC/C;QACD;YACE,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,+EAA+E;SACzF;QACD;YACE,WAAW,EAAE,gEAAgE;YAC7E,OAAO,EAAE,4CAA4C;SACtD;KACF,CAAC;IAEK,MAAM,CAAmB,KAAK,GAAG;QACtC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,2CAA2C;YACpD,WAAW,EACT,gFAAgF;gBAChF,wFAAwF;YAC1F,OAAO,EAAE,KAAK;SACf,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,kDAAkD;YAC3D,WAAW,EACT,2FAA2F;gBAC3F,0CAA0C;SAC7C,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,OAAO,EAAE,sEAAsE;YAC/E,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,yFAAyF;YACzF,+BAA+B;YAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB;gBACE,GAAG,KAAK,CAAC,MAAM,+BAA+B,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,GAAG;gBAC7G,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjE,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACF,OAAO;QACT,CAAC;QAED,0FAA0F;QAC1F,4EAA4E;QAC5E,MAAM,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/commands/atlassian/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC/C,4FAA4F;IAC5F,uFAAuF;IAChF,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;IAEvC,MAAM,CAAmB,OAAO,GAAG,2CAA2C,CAAC;IAC/E,MAAM,CAAmB,WAAW,GACzC,yGAAyG;QACzG,gGAAgG;QAChG,4FAA4F;QAC5F,oEAAoE;QACpE,mGAAmG;QACnG,6EAA6E;QAC7E,gGAAgG;QAChG,gCAAgC,CAAC;IAE5B,MAAM,CAAmB,QAAQ,GAAG;QACzC;YACE,WAAW,EAAE,oEAAoE;YACjF,OAAO,EAAE,qCAAqC;SAC/C;QACD;YACE,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,+EAA+E;SACzF;QACD;YACE,WAAW,EAAE,+EAA+E;YAC5F,OAAO,EAAE,4CAA4C;SACtD;QACD;YACE,WAAW,EAAE,gEAAgE;YAC7E,OAAO,EAAE,4CAA4C;SACtD;KACF,CAAC;IAEK,MAAM,CAAmB,KAAK,GAAG;QACtC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,2CAA2C;YACpD,WAAW,EACT,gFAAgF;gBAChF,wFAAwF;YAC1F,OAAO,EAAE,KAAK;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,OAAO,EAAE,oEAAoE;YAC7E,WAAW,EACT,mGAAmG;gBACnG,4FAA4F;YAC9F,OAAO,EAAE,KAAK;SACf,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,kDAAkD;YAC3D,WAAW,EACT,2FAA2F;gBAC3F,0CAA0C;SAC7C,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,OAAO,EAAE,sEAAsE;YAC/E,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,yFAAyF;YACzF,+BAA+B;YAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB;gBACE,GAAG,KAAK,CAAC,MAAM,+BAA+B,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,GAAG;gBAC7G,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjE,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACF,OAAO;QACT,CAAC;QAED,0FAA0F;QAC1F,4EAA4E;QAC5E,MAAM,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1G,CAAC"}
package/lib/context.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type AtlassianConfig, ConfluenceClient, type EnvLike, JiraClient } from '@simplysf/simply-atlassian-core';
1
+ import { type AtlassianConfig, ConfluenceClient, type EnvLike, JiraClient, type XrayBackend } from '@simplysf/simply-atlassian-core';
2
2
  export interface ServerOptions {
3
3
  /**
4
4
  * Register the tools that change or delete data. Off by default, so a server launched
@@ -6,6 +6,12 @@ export interface ServerOptions {
6
6
  * environment carries `ATLASSIAN_READ_ONLY`, exactly as the CLI refuses it.
7
7
  */
8
8
  readonly allowWrites?: boolean;
9
+ /**
10
+ * Register the Xray tools. Off by default: a host lists every registered tool to its model, most
11
+ * people running this server have no Xray, and Xray Server/Data Center needs no settings of its
12
+ * own that could be detected instead.
13
+ */
14
+ readonly xray?: boolean;
9
15
  /**
10
16
  * A `.env` file holding connection settings the host did not set. Loaded once, at startup,
11
17
  * with the CLI's precedence: a variable already in the environment wins over the file.
@@ -23,10 +29,13 @@ export interface ServerOptions {
23
29
  export interface ToolContext {
24
30
  readonly env: EnvLike;
25
31
  readonly allowWrites: boolean;
32
+ readonly xrayEnabled: boolean;
26
33
  jiraConfig(): AtlassianConfig;
27
34
  jira(): JiraClient;
28
35
  confluenceConfig(): AtlassianConfig;
29
36
  confluence(): ConfluenceClient;
37
+ /** Xray on the configured Jira, with the instance record in the CLI's default cache directory. */
38
+ xray(): XrayBackend;
30
39
  }
31
40
  /** Builds the context, loading the env file first so every later lookup sees it. */
32
41
  export declare function createContext(options?: ServerOptions): ToolContext;
package/lib/context.js CHANGED
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import process from 'node:process';
17
- import { ConfluenceClient, JiraClient, loadEnvFile, resolveConfluenceConfig, resolveJiraConfig, } from '@simplysf/simply-atlassian-core';
17
+ import { ConfluenceClient, createXrayBackend, defaultXrayCacheDir, JiraClient, loadEnvFile, resolveConfluenceConfig, resolveJiraConfig, stripControlOneLine, } from '@simplysf/simply-atlassian-core';
18
18
  /** Builds the context, loading the env file first so every later lookup sees it. */
19
19
  export function createContext(options = {}) {
20
20
  const env = options.env ?? process.env;
@@ -23,10 +23,16 @@ export function createContext(options = {}) {
23
23
  return {
24
24
  env,
25
25
  allowWrites: options.allowWrites ?? false,
26
+ xrayEnabled: options.xray ?? false,
26
27
  jiraConfig: () => resolveJiraConfig({}, env),
27
28
  jira: () => new JiraClient(resolveJiraConfig({}, env)),
28
29
  confluenceConfig: () => resolveConfluenceConfig({}, env),
29
30
  confluence: () => new ConfluenceClient(resolveConfluenceConfig({}, env)),
31
+ xray: () => createXrayBackend(resolveJiraConfig({}, env), {
32
+ cacheDir: defaultXrayCacheDir(env),
33
+ // stderr, never stdout: stdout is the protocol channel. A host shows this in its server log.
34
+ onWarning: (message) => process.stderr.write(`${stripControlOneLine(message)}\n`),
35
+ }),
30
36
  };
31
37
  }
32
38
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAEL,gBAAgB,EAEhB,UAAU,EACV,WAAW,EACX,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AAiCzC,oFAAoF;AACpF,MAAM,UAAU,aAAa,CAAC,UAAyB,EAAE;IACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAErE,OAAO;QACL,GAAG;QACH,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,UAAU,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC;QAC5C,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtD,gBAAgB,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC;QACxD,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;KACzE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAEL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EAEnB,UAAU,EACV,WAAW,EACX,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,iCAAiC,CAAC;AA0CzC,oFAAoF;AACpF,MAAM,UAAU,aAAa,CAAC,UAAyB,EAAE;IACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAErE,OAAO;QACL,GAAG;QACH,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,WAAW,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK;QAClC,UAAU,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC;QAC5C,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtD,gBAAgB,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC;QACxD,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACxE,IAAI,EAAE,GAAG,EAAE,CACT,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE;YAC5C,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC;YAClC,6FAA6F;YAC7F,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC;SAClF,CAAC;KACL,CAAC;AACJ,CAAC"}
package/lib/server.d.ts CHANGED
@@ -22,8 +22,11 @@ export interface ToolError {
22
22
  /** The response body, sanitised the same way the message is, when the instance sent one. */
23
23
  readonly body?: unknown;
24
24
  }
25
- /** Which tools a server with the given options registers. Exported so `--help` can list them. */
26
- export declare function selectTools(allowWrites: boolean): readonly ToolSpec[];
25
+ /**
26
+ * Which tools a server with the given options registers. Exported so `--help` can list them. App
27
+ * tools stay in the catalogue either way; only this filter decides whether they are registered.
28
+ */
29
+ export declare function selectTools(allowWrites: boolean, xray?: boolean): readonly ToolSpec[];
27
30
  /**
28
31
  * Builds the MCP server with its metadata and tools registered, but not yet connected to a
29
32
  * transport. Kept separate from {@link startServer} so tests can attach an in-memory transport
package/lib/server.js CHANGED
@@ -30,15 +30,21 @@ const INSTRUCTIONS = 'Tools mirror the simply-atlassian CLI one to one and retur
30
30
  'the request without sending it, and the irreversible ones (issue and comment deletes, and a ' +
31
31
  'page purge) additionally require confirm: true. Failures come back as isError results whose ' +
32
32
  'text is JSON with a stable "code": config, auth, error, or confirm-required. Prefer "fields" ' +
33
- 'on issue tools to keep payloads small.';
33
+ 'on issue tools to keep payloads small. Xray tools (jira_xray_*, Server/Data Center only) are ' +
34
+ 'registered only when the server was started with --xray; they return assembled records and rows ' +
35
+ 'keyed by field name rather than raw payloads, and their "fields" input adds to the defaults ' +
36
+ 'instead of replacing them.';
34
37
  const ANNOTATIONS = {
35
38
  read: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
36
39
  write: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },
37
40
  destructive: { readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: true },
38
41
  };
39
- /** Which tools a server with the given options registers. Exported so `--help` can list them. */
40
- export function selectTools(allowWrites) {
41
- return allowWrites ? TOOLS : TOOLS.filter((tool) => tool.kind === 'read');
42
+ /**
43
+ * Which tools a server with the given options registers. Exported so `--help` can list them. App
44
+ * tools stay in the catalogue either way; only this filter decides whether they are registered.
45
+ */
46
+ export function selectTools(allowWrites, xray = false) {
47
+ return TOOLS.filter((tool) => (allowWrites || tool.kind === 'read') && (tool.app === undefined || (tool.app === 'xray' && xray)));
42
48
  }
43
49
  /**
44
50
  * Builds the MCP server with its metadata and tools registered, but not yet connected to a
@@ -48,7 +54,7 @@ export function selectTools(allowWrites) {
48
54
  export function createServer(options = {}) {
49
55
  const context = createContext(options);
50
56
  const server = new McpServer({ name: SERVER_NAME, version: SERVER_VERSION }, { instructions: INSTRUCTIONS });
51
- for (const spec of selectTools(context.allowWrites)) {
57
+ for (const spec of selectTools(context.allowWrites, context.xrayEnabled)) {
52
58
  server.registerTool(spec.name, {
53
59
  title: spec.title,
54
60
  description: spec.description,
package/lib/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/lib/tools.d.ts CHANGED
@@ -14,6 +14,12 @@ export interface ToolSpec {
14
14
  /** The CLI command this tool is the equivalent of, e.g. `['atlassian', 'jira', 'issue', 'search']`. */
15
15
  readonly command: readonly string[];
16
16
  readonly kind: ToolKind;
17
+ /**
18
+ * The Marketplace app a tool needs, when it needs one. Such tools stay in the catalogue — so the
19
+ * parity check against the CLI still covers them — but are registered only when the server is
20
+ * started for that app, since most instances do not have it.
21
+ */
22
+ readonly app?: 'xray';
17
23
  readonly inputSchema: z.ZodRawShape;
18
24
  /**
19
25
  * For a destructive tool, whether this particular call needs `confirm`. Defaults to always;
package/lib/tools.js CHANGED
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { addIssuesToSprint, BODY_FORMATS, buildCommentBody, buildCommentEditBody, buildCreateIssueBody, buildIssueLinkBody, buildPageCommentBody, buildPageCreateBody, buildTransitionBody, buildUpdateIssueBody, changelogJson, currentAccount, buildRemoteLinkBody, buildSprintCreateBody, deleteComment, deleteIssue, deleteIssueLink, deletePage, describeRemoteLink, filterChangelog, issueLinkCreated, listFields, jiraTargetUrl, numericId, pageExpand, pageIdForInstance, pageIdFromInput, pageUrl, preparePageUpdate, prepareSprintUpdate, readBackIssue, resolveTransitionId, updatePage, } from '@simplysf/simply-atlassian-core';
16
+ import { addIssuesToSprint, BODY_FORMATS, buildCommentBody, buildCommentEditBody, buildCreateIssueBody, buildIssueLinkBody, buildPageCommentBody, buildPageCreateBody, buildTransitionBody, buildUpdateIssueBody, changelogJson, currentAccount, buildRemoteLinkBody, buildSprintCreateBody, deleteComment, deleteIssue, deleteIssueLink, deletePage, describeRemoteLink, exportXrayTests, getXrayTest, listXrayContainers, listXrayFolders, listXrayTests, filterChangelog, issueLinkCreated, listFields, jiraTargetUrl, numericId, pageExpand, pageIdForInstance, pageIdFromInput, pageUrl, preparePageUpdate, prepareSprintUpdate, readBackIssue, resolveTransitionId, updatePage, } from '@simplysf/simply-atlassian-core';
17
17
  import { z } from 'zod';
18
18
  function tool(spec) {
19
19
  return spec;
@@ -62,6 +62,53 @@ const storageMarkdown = z
62
62
  'blockquotes and fenced code blocks are supported; anything else — images, raw HTML, task ' +
63
63
  'lists — is refused naming the line, rather than dropped. Confluence macros such as info ' +
64
64
  'panels have no Markdown form: use body for those.');
65
+ // --- Xray building blocks, shared by the Xray tools ---
66
+ const xrayFields = z
67
+ .array(z.string())
68
+ .optional()
69
+ .describe('Extra fields to return, ADDED to the defaults: an Xray role (steps, repositoryPath, …), an Xray ' +
70
+ 'field name, or any Jira field id or name (components, "Story Points"). Unknown names are an error.');
71
+ const xrayScope = {
72
+ project: z.string().optional().describe('Project key: every Test in it, or the folder "path" names in it.'),
73
+ plan: z.string().optional().describe('Test Plan key: its tests, including any added through a Test Set.'),
74
+ set: z.string().optional().describe('Test Set key: its tests.'),
75
+ path: z
76
+ .string()
77
+ .optional()
78
+ .describe('Test repository folder inside "project", such as "/O&M/Accounts"; "/" is the root.'),
79
+ recursive: z.boolean().optional().describe('With "path", include tests in subfolders.'),
80
+ };
81
+ const xrayFilters = {
82
+ jql: z.string().optional().describe('Extra JQL ANDed onto the scope, in parentheses so it cannot widen it.'),
83
+ search: z
84
+ .string()
85
+ .optional()
86
+ .describe('Text in the summary or description, matched as typed: no wildcards or operators.'),
87
+ linkedTo: z
88
+ .array(z.string())
89
+ .optional()
90
+ .describe('Only tests linked to any of these issue keys (stories, bugs), by any link type.'),
91
+ };
92
+ const xrayContainerInput = {
93
+ project: z.string().describe('Project key.'),
94
+ jql: xrayFilters.jql,
95
+ search: xrayFilters.search,
96
+ fields: xrayFields,
97
+ limit: limit(25, 'results'),
98
+ };
99
+ /** The most an export returns in one call: a host holds the whole result in its context. */
100
+ const XRAY_EXPORT_MAX = 500;
101
+ /** A list as rows keyed by field name, since raw issues carry only `customfield_…` ids. */
102
+ function xrayRows(result) {
103
+ return { rows: result.rows, total: result.search.total, complete: result.search.complete };
104
+ }
105
+ /** The CLI's scope and filter flags, from a tool input. */
106
+ function xrayQuery(input) {
107
+ return {
108
+ scope: { project: input.project, plan: input.plan, set: input.set, path: input.path, recursive: input.recursive },
109
+ filters: { jql: input.jql, search: input.search, linkedTo: input.linkedTo },
110
+ };
111
+ }
65
112
  const WRITE_SHAPE = { dryRun };
66
113
  const DESTRUCTIVE_SHAPE = { dryRun, confirm };
67
114
  /**
@@ -764,5 +811,119 @@ export const TOOLS = [
764
811
  return input.dryRun === true ? Promise.resolve(request) : client.addLabels(pageId, request);
765
812
  },
766
813
  }),
814
+ // --- Jira: Xray (Server/Data Center, registered only with --xray) ---
815
+ tool({
816
+ name: 'jira_xray_fields',
817
+ title: 'Xray: discovered fields',
818
+ description: "Show which Jira fields and issue types hold Xray's data on this instance — discovered by schema " +
819
+ 'type, then cached as an instance record. Pass refresh: true to rediscover. Returns the record.',
820
+ command: ['atlassian', 'jira', 'xray', 'fields'],
821
+ kind: 'read',
822
+ app: 'xray',
823
+ inputSchema: { refresh: z.boolean().optional().describe('Rediscover and rewrite the instance record first.') },
824
+ run: async (ctx, input) => (await ctx.xray().instance({ refresh: input.refresh === true })).record,
825
+ }),
826
+ tool({
827
+ name: 'jira_xray_test_get',
828
+ title: 'Xray: view a test',
829
+ description: 'One Xray test. Returns { record, notes }: the export record (type, steps, definition, ' +
830
+ 'preconditions, issue links such as the requirement or bug it verifies, plans, sets and repository ' +
831
+ 'path), and notes on anything skipped because it is not visible or kept under a step\'s "extra" ' +
832
+ 'because this version does not interpret it, such as a call to another test. raw: true returns ' +
833
+ 'the underlying Jira issue instead.',
834
+ command: ['atlassian', 'jira', 'xray', 'test', 'get'],
835
+ kind: 'read',
836
+ app: 'xray',
837
+ inputSchema: {
838
+ test: z.string().describe('Test issue key, for example PROJ-12.'),
839
+ fields: xrayFields,
840
+ raw: z.boolean().optional().describe('Return the underlying Jira issue instead of the export record.'),
841
+ },
842
+ run: async (ctx, input) => {
843
+ const result = await getXrayTest(ctx.xray(), input.test, { fields: input.fields });
844
+ return input.raw === true ? result.issue : { record: result.record, notes: result.notes };
845
+ },
846
+ }),
847
+ tool({
848
+ name: 'jira_xray_test_list',
849
+ title: 'Xray: list tests',
850
+ description: 'List tests in exactly one scope — project, plan, set, or project plus path — optionally narrowed ' +
851
+ 'by jql, search and linkedTo (ANDed). Returns { rows, total?, complete }: each row is { key, type, ' +
852
+ 'status, summary, fields }, with "fields" keyed by the names asked for. Use jira_xray_test_export ' +
853
+ 'for steps.',
854
+ command: ['atlassian', 'jira', 'xray', 'test', 'list'],
855
+ kind: 'read',
856
+ app: 'xray',
857
+ inputSchema: { ...xrayScope, ...xrayFilters, fields: xrayFields, limit: limit(25, 'tests') },
858
+ run: async (ctx, input) => xrayRows(await listXrayTests(ctx.xray(), { ...xrayQuery(input), fields: input.fields, limit: input.limit ?? 25 })),
859
+ }),
860
+ tool({
861
+ name: 'jira_xray_test_export',
862
+ title: 'Xray: export tests',
863
+ description: 'Full export records for the same scopes and filters as jira_xray_test_list. Returns { records, ' +
864
+ 'total?, complete, notes }: "complete": false means limit cut it short, and "notes" lists what was ' +
865
+ 'skipped because it is not visible, and step data kept under "extra" because this version does ' +
866
+ 'not interpret it. limit defaults to 100 and is at most ' +
867
+ `${XRAY_EXPORT_MAX}, because the whole result lands in context; for more, use the CLI's ` +
868
+ '"atlassian jira xray test export --format jsonl".',
869
+ command: ['atlassian', 'jira', 'xray', 'test', 'export'],
870
+ kind: 'read',
871
+ app: 'xray',
872
+ inputSchema: {
873
+ ...xrayScope,
874
+ ...xrayFilters,
875
+ fields: xrayFields,
876
+ limit: z
877
+ .number()
878
+ .int()
879
+ .positive()
880
+ .max(XRAY_EXPORT_MAX)
881
+ .optional()
882
+ .describe(`Maximum number of tests to return, at most ${XRAY_EXPORT_MAX}. Defaults to 100.`),
883
+ },
884
+ run: (ctx, input) => exportXrayTests(ctx.xray(), {
885
+ ...xrayQuery(input),
886
+ fields: input.fields,
887
+ // Lower than the CLI's 1000: a host holds the whole tool result in context.
888
+ limit: input.limit ?? 100,
889
+ }),
890
+ }),
891
+ tool({
892
+ name: 'jira_xray_plan_list',
893
+ title: 'Xray: list test plans',
894
+ description: 'List the Test Plans in a project. Returns { rows, total?, complete }: each row is { key, status, ' +
895
+ 'summary, testCount, fields }, and each key is what jira_xray_test_list takes as "plan".',
896
+ command: ['atlassian', 'jira', 'xray', 'plan', 'list'],
897
+ kind: 'read',
898
+ app: 'xray',
899
+ inputSchema: xrayContainerInput,
900
+ run: async (ctx, input) => xrayRows(await listXrayContainers(ctx.xray(), 'plan', { ...input, limit: input.limit ?? 25 })),
901
+ }),
902
+ tool({
903
+ name: 'jira_xray_set_list',
904
+ title: 'Xray: list test sets',
905
+ description: 'List the Test Sets in a project. Returns { rows, total?, complete }: each row is { key, status, ' +
906
+ 'summary, testCount, fields }, and each key is what jira_xray_test_list takes as "set".',
907
+ command: ['atlassian', 'jira', 'xray', 'set', 'list'],
908
+ kind: 'read',
909
+ app: 'xray',
910
+ inputSchema: xrayContainerInput,
911
+ run: async (ctx, input) => xrayRows(await listXrayContainers(ctx.xray(), 'set', { ...input, limit: input.limit ?? 25 })),
912
+ }),
913
+ tool({
914
+ name: 'jira_xray_path_list',
915
+ title: 'Xray: test repository folders',
916
+ description: "A project's test repository as a nested tree { name, path, id, testCount, folders }. Each path " +
917
+ 'is what jira_xray_test_list and jira_xray_test_export take as "path".',
918
+ command: ['atlassian', 'jira', 'xray', 'path', 'list'],
919
+ kind: 'read',
920
+ app: 'xray',
921
+ inputSchema: {
922
+ project: z.string().describe('Project key.'),
923
+ path: z.string().optional().describe('Start at this folder instead of the root.'),
924
+ depth: z.number().int().nonnegative().optional().describe('Levels of subfolders to include.'),
925
+ },
926
+ run: (ctx, input) => listXrayFolders(ctx.xray(), input),
927
+ }),
767
928
  ];
768
929
  //# sourceMappingURL=tools.js.map
package/lib/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,10 @@
13
13
  "description": "Allow writes, with settings from a file",
14
14
  "command": "<%= config.bin %> <%= command.id %> --allow-writes --env-file ~/atlassian.env"
15
15
  },
16
+ {
17
+ "description": "Also register the Xray tools, for Jira Server/Data Center with Xray installed",
18
+ "command": "<%= config.bin %> <%= command.id %> --xray"
19
+ },
16
20
  {
17
21
  "description": "List the tools this server would register, without starting it",
18
22
  "command": "<%= config.bin %> <%= command.id %> --list"
@@ -26,6 +30,13 @@
26
30
  "allowNo": false,
27
31
  "type": "boolean"
28
32
  },
33
+ "xray": {
34
+ "description": "Off by default: a client shows its model every registered tool, and most instances have no Xray. Xray Server/Data Center needs no settings of its own, so there is nothing to detect it by.",
35
+ "name": "xray",
36
+ "summary": "Also register the Xray tools (Jira Server/Data Center, read-only).",
37
+ "allowNo": false,
38
+ "type": "boolean"
39
+ },
29
40
  "env-file": {
30
41
  "char": "e",
31
42
  "description": "Use an absolute path. MCP clients launch a server from a working directory of their own, so ~ and relative paths may not resolve.",
@@ -61,5 +72,5 @@
61
72
  ]
62
73
  }
63
74
  },
64
- "version": "0.6.2"
75
+ "version": "0.7.1"
65
76
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@simplysf/simply-atlassian-mcp",
3
3
  "description": "Model Context Protocol server exposing Jira and Confluence to AI agents, built on @simplysf/simply-atlassian-core",
4
- "version": "0.6.2",
4
+ "version": "0.7.1",
5
5
  "author": "@ClayChipps",
6
6
  "homepage": "https://github.com/SimplySF/simply-atlassian",
7
7
  "bugs": "https://github.com/SimplySF/simply-atlassian/issues",
@@ -34,9 +34,9 @@
34
34
  "simply-atlassian-mcp": "./bin/run.js"
35
35
  },
36
36
  "dependencies": {
37
- "@modelcontextprotocol/sdk": "^1.32.0",
37
+ "@modelcontextprotocol/sdk": "^1.32.1",
38
38
  "@oclif/core": "^4.11.2",
39
- "@simplysf/simply-atlassian-core": "^0.6.0",
39
+ "@simplysf/simply-atlassian-core": "^0.7.1",
40
40
  "zod": "^4.6.5"
41
41
  },
42
42
  "devDependencies": {
@@ -184,5 +184,5 @@
184
184
  }
185
185
  }
186
186
  },
187
- "gitHead": "2f250681d3ec630084ffa76dbf35125892404270"
187
+ "gitHead": "5958549beb084d6eb7a0fdc20be74db6f856cee2"
188
188
  }