@stubbedev/atlassian-mcp 0.1.18 → 0.1.19

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
@@ -54,7 +54,7 @@ A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server for **s
54
54
  | `bitbucket_decline_pr` | Decline a pull request |
55
55
  | `bitbucket_get_pr_comments` | Get PR comment threads in bulk, including task-style BLOCKER comments and blocker counts |
56
56
  | `bitbucket_add_pr_comment` | Add a PR comment; when remarking on an existing comment, pass `commentId` so it is posted as a thread reply |
57
- | `bitbucket_update_pr_comment` | Update comment text/severity, resolve or reopen normal threads via `threadResolved`, and resolve/reopen BLOCKER tasks via `state` (strictly enforced) |
57
+ | `bitbucket_update_pr_comment` | Update comment text/severity (own comments only), resolve or reopen normal threads via `threadResolved`, and resolve/reopen BLOCKER tasks via `state` |
58
58
  | `bitbucket_delete_pr_comment` | Delete a PR comment by comment ID |
59
59
  | `bitbucket_get_pr_commits` | List commits included in a pull request |
60
60
  | `bitbucket_get_branches` | List branches in a repository |
package/dist/bitbucket.js CHANGED
@@ -791,8 +791,15 @@ export class BitbucketClient {
791
791
  const current = await this.request('GET', `/projects/${projectKey}/repos/${repoSlug}/pull-requests/${args.prId}/comments/${args.commentId}`);
792
792
  if (!current)
793
793
  throw new Error(`Comment #${args.commentId} not found.`);
794
- await this.assertOwnComment(current);
795
- const targetSeverity = args.severity ?? current.severity ?? 'NORMAL';
794
+ const currentSeverity = current.severity ?? 'NORMAL';
795
+ const severityIsChanging = args.severity !== undefined && args.severity !== currentSeverity;
796
+ const isResolutionOnlyUpdate = (args.state !== undefined || args.threadResolved !== undefined)
797
+ && args.text === undefined
798
+ && !severityIsChanging;
799
+ if (!isResolutionOnlyUpdate) {
800
+ await this.assertOwnComment(current);
801
+ }
802
+ const targetSeverity = args.severity ?? currentSeverity;
796
803
  if (args.state && targetSeverity !== 'BLOCKER') {
797
804
  throw new Error('state is only supported for BLOCKER comments (tasks). Use threadResolved for normal comment threads.');
798
805
  }
package/dist/index.js CHANGED
@@ -630,7 +630,7 @@ Keep comments concise, plain text, and free of filler. Never include emojis. You
630
630
  },
631
631
  {
632
632
  name: 'bitbucket_update_pr_comment',
633
- description: 'Use when you want to edit your own PR comments, resolve/reopen normal discussion threads, or manage task-style BLOCKER comments. Editing comments from other users is rejected. Hint: for normal comments, resolve/reopen means threadResolved; for BLOCKER tasks, resolve/reopen uses state. Keep comments concise, plain text, and free of filler. Never include emojis. You can pass projectKey/repoSlug or project/repo.',
633
+ description: 'Use when you want to edit your own PR comments, resolve/reopen normal discussion threads, or manage task-style BLOCKER comments. Text/severity edits are limited to your own comments, but thread/task resolution via threadResolved/state is allowed for comments from other users. Hint: for normal comments, resolve/reopen means threadResolved; for BLOCKER tasks, resolve/reopen uses state. Keep comments concise, plain text, and free of filler. Never include emojis. You can pass projectKey/repoSlug or project/repo.',
634
634
  inputSchema: {
635
635
  type: 'object',
636
636
  properties: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stubbedev/atlassian-mcp",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "description": "MCP server for self-hosted Jira and Bitbucket",
5
5
  "license": "MIT",
6
6
  "type": "module",