@atlassian-dc-mcp/jira 0.36.2 → 0.38.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.
- package/CHANGELOG.md +19 -0
- package/build/index.js +7 -7
- package/build/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +7 -1
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.38.0](https://github.com/b1ff/atlassian-dc-mcp/compare/v0.37.0...v0.38.0) (2026-10-12)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* declare read-only tools with readOnlyHint ([5f2125b](https://github.com/b1ff/atlassian-dc-mcp/commit/5f2125b253ae6de111924875cadeac95952d3756))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [0.37.0](https://github.com/b1ff/atlassian-dc-mcp/compare/v0.36.2...v0.37.0) (2026-10-09)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @atlassian-dc-mcp/jira
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
6
25
|
## [0.36.2](https://github.com/b1ff/atlassian-dc-mcp/compare/v0.36.1...v0.36.2) (2026-10-09)
|
|
7
26
|
|
|
8
27
|
**Note:** Version bump only for package @atlassian-dc-mcp/jira
|
package/build/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { connectServer, createMcpServer, formatToolResponse, initializeRuntimeConfig, resolveAttachmentGateway } from '@atlassian-dc-mcp/common';
|
|
1
|
+
import { connectServer, createMcpServer, formatToolResponse, initializeRuntimeConfig, readOnlyToolAnnotations, resolveAttachmentGateway } from '@atlassian-dc-mcp/common';
|
|
2
2
|
import { JiraService, jiraToolSchemas } from './jira-service.js';
|
|
3
3
|
import { getDefaultPageSize, getJiraRuntimeConfig, JIRA_PRODUCT } from './config.js';
|
|
4
4
|
import { createRequire } from 'node:module';
|
|
@@ -16,15 +16,15 @@ const server = createMcpServer({
|
|
|
16
16
|
version
|
|
17
17
|
});
|
|
18
18
|
const jiraInstanceType = "JIRA Data Center edition instance";
|
|
19
|
-
server.tool("jira_searchIssues", `Search for JIRA issues using JQL in the ${jiraInstanceType}`, jiraToolSchemas.searchIssues, async ({ jql, expand, startAt, maxResults, fields }) => {
|
|
19
|
+
server.tool("jira_searchIssues", `Search for JIRA issues using JQL in the ${jiraInstanceType}`, jiraToolSchemas.searchIssues, readOnlyToolAnnotations, async ({ jql, expand, startAt, maxResults, fields }) => {
|
|
20
20
|
const result = await jiraService.searchIssues(jql, startAt, expand, maxResults, fields);
|
|
21
21
|
return formatToolResponse(result);
|
|
22
22
|
});
|
|
23
|
-
server.tool("jira_getIssue", `Get details of a JIRA issue by its key from the ${jiraInstanceType}`, jiraToolSchemas.getIssue, async ({ issueKey, expand, fields }) => {
|
|
23
|
+
server.tool("jira_getIssue", `Get details of a JIRA issue by its key from the ${jiraInstanceType}`, jiraToolSchemas.getIssue, readOnlyToolAnnotations, async ({ issueKey, expand, fields }) => {
|
|
24
24
|
const result = await jiraService.getIssue(issueKey, expand, fields);
|
|
25
25
|
return formatToolResponse(result);
|
|
26
26
|
});
|
|
27
|
-
server.tool('jira_getIssueComments', `Get comments of a JIRA issue by its key from the ${jiraInstanceType}`, jiraToolSchemas.getIssueComments, async ({ issueKey, expand, maxResults, startAt }) => {
|
|
27
|
+
server.tool('jira_getIssueComments', `Get comments of a JIRA issue by its key from the ${jiraInstanceType}`, jiraToolSchemas.getIssueComments, readOnlyToolAnnotations, async ({ issueKey, expand, maxResults, startAt }) => {
|
|
28
28
|
const result = await jiraService.getIssueComments(issueKey, expand, maxResults, startAt);
|
|
29
29
|
return formatToolResponse(result);
|
|
30
30
|
});
|
|
@@ -44,11 +44,11 @@ server.tool("jira_updateIssueComment", `Update the body of an existing comment o
|
|
|
44
44
|
const result = await jiraService.updateIssueComment(issueKey, commentId, comment);
|
|
45
45
|
return formatToolResponse(result);
|
|
46
46
|
});
|
|
47
|
-
server.tool("jira_getTransitions", `Get available status transitions for a JIRA issue in the ${jiraInstanceType}. Returns a list of transitions with their IDs, names, and target statuses.`, jiraToolSchemas.getTransitions, async ({ issueKey }) => {
|
|
47
|
+
server.tool("jira_getTransitions", `Get available status transitions for a JIRA issue in the ${jiraInstanceType}. Returns a list of transitions with their IDs, names, and target statuses.`, jiraToolSchemas.getTransitions, readOnlyToolAnnotations, async ({ issueKey }) => {
|
|
48
48
|
const result = await jiraService.getTransitions(issueKey);
|
|
49
49
|
return formatToolResponse(result);
|
|
50
50
|
});
|
|
51
|
-
server.tool("jira_getIssueDevelopmentInfo", `Get linked development information (pull requests, commits, or branches) shown in the Development panel of a JIRA issue in the ${jiraInstanceType}. Defaults to pull requests from Bitbucket.`, jiraToolSchemas.getIssueDevelopmentInfo, async ({ issueKey, dataType, applicationType }) => {
|
|
51
|
+
server.tool("jira_getIssueDevelopmentInfo", `Get linked development information (pull requests, commits, or branches) shown in the Development panel of a JIRA issue in the ${jiraInstanceType}. Defaults to pull requests from Bitbucket.`, jiraToolSchemas.getIssueDevelopmentInfo, readOnlyToolAnnotations, async ({ issueKey, dataType, applicationType }) => {
|
|
52
52
|
const result = await jiraService.getIssueDevelopmentInfo(issueKey, dataType, applicationType);
|
|
53
53
|
return formatToolResponse(result);
|
|
54
54
|
});
|
|
@@ -56,7 +56,7 @@ server.tool("jira_transitionIssue", `Transition a JIRA issue to a new status in
|
|
|
56
56
|
const result = await jiraService.transitionIssue(params);
|
|
57
57
|
return formatToolResponse(result);
|
|
58
58
|
});
|
|
59
|
-
server.tool("jira_getIssueLinkTypes", `Get the list of available issue link types (e.g. Blocks, Relates, Duplicate) in the ${jiraInstanceType}. Use this to discover valid link type names before calling jira_linkIssues.`, jiraToolSchemas.getIssueLinkTypes, async () => {
|
|
59
|
+
server.tool("jira_getIssueLinkTypes", `Get the list of available issue link types (e.g. Blocks, Relates, Duplicate) in the ${jiraInstanceType}. Use this to discover valid link type names before calling jira_linkIssues.`, jiraToolSchemas.getIssueLinkTypes, readOnlyToolAnnotations, async () => {
|
|
60
60
|
const result = await jiraService.getIssueLinkTypes();
|
|
61
61
|
return formatToolResponse(result);
|
|
62
62
|
});
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlassian-dc-mcp/jira",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.38.0",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": "./bin/run.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"test": "jest"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@atlassian-dc-mcp/common": "^0.
|
|
35
|
+
"@atlassian-dc-mcp/common": "^0.38.0",
|
|
36
36
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
37
37
|
"dotenv": "^16.4.7",
|
|
38
38
|
"zod": "^3.24.2"
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"publishConfig": {
|
|
47
47
|
"access": "public"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "caded44d5c27a428ea94cbda03d3d4086c3fad31"
|
|
50
50
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { connectServer, createMcpServer, formatToolResponse, initializeRuntimeConfig, resolveAttachmentGateway } from '@atlassian-dc-mcp/common';
|
|
1
|
+
import { connectServer, createMcpServer, formatToolResponse, initializeRuntimeConfig, readOnlyToolAnnotations, resolveAttachmentGateway } from '@atlassian-dc-mcp/common';
|
|
2
2
|
import { JiraService, jiraToolSchemas } from './jira-service.js';
|
|
3
3
|
import { getDefaultPageSize, getJiraRuntimeConfig, JIRA_PRODUCT } from './config.js';
|
|
4
4
|
import { createRequire } from 'node:module';
|
|
@@ -32,6 +32,7 @@ server.tool(
|
|
|
32
32
|
"jira_searchIssues",
|
|
33
33
|
`Search for JIRA issues using JQL in the ${jiraInstanceType}`,
|
|
34
34
|
jiraToolSchemas.searchIssues,
|
|
35
|
+
readOnlyToolAnnotations,
|
|
35
36
|
async ({ jql, expand, startAt, maxResults, fields }) => {
|
|
36
37
|
const result = await jiraService.searchIssues(jql, startAt, expand, maxResults, fields);
|
|
37
38
|
return formatToolResponse(result);
|
|
@@ -42,6 +43,7 @@ server.tool(
|
|
|
42
43
|
"jira_getIssue",
|
|
43
44
|
`Get details of a JIRA issue by its key from the ${jiraInstanceType}`,
|
|
44
45
|
jiraToolSchemas.getIssue,
|
|
46
|
+
readOnlyToolAnnotations,
|
|
45
47
|
async ({ issueKey, expand, fields }) => {
|
|
46
48
|
const result = await jiraService.getIssue(issueKey, expand, fields);
|
|
47
49
|
return formatToolResponse(result);
|
|
@@ -52,6 +54,7 @@ server.tool(
|
|
|
52
54
|
'jira_getIssueComments',
|
|
53
55
|
`Get comments of a JIRA issue by its key from the ${jiraInstanceType}`,
|
|
54
56
|
jiraToolSchemas.getIssueComments,
|
|
57
|
+
readOnlyToolAnnotations,
|
|
55
58
|
async ({ issueKey, expand, maxResults, startAt }) => {
|
|
56
59
|
const result = await jiraService.getIssueComments(issueKey, expand, maxResults, startAt);
|
|
57
60
|
return formatToolResponse(result);
|
|
@@ -101,6 +104,7 @@ server.tool(
|
|
|
101
104
|
"jira_getTransitions",
|
|
102
105
|
`Get available status transitions for a JIRA issue in the ${jiraInstanceType}. Returns a list of transitions with their IDs, names, and target statuses.`,
|
|
103
106
|
jiraToolSchemas.getTransitions,
|
|
107
|
+
readOnlyToolAnnotations,
|
|
104
108
|
async ({ issueKey }) => {
|
|
105
109
|
const result = await jiraService.getTransitions(issueKey);
|
|
106
110
|
return formatToolResponse(result);
|
|
@@ -111,6 +115,7 @@ server.tool(
|
|
|
111
115
|
"jira_getIssueDevelopmentInfo",
|
|
112
116
|
`Get linked development information (pull requests, commits, or branches) shown in the Development panel of a JIRA issue in the ${jiraInstanceType}. Defaults to pull requests from Bitbucket.`,
|
|
113
117
|
jiraToolSchemas.getIssueDevelopmentInfo,
|
|
118
|
+
readOnlyToolAnnotations,
|
|
114
119
|
async ({ issueKey, dataType, applicationType }) => {
|
|
115
120
|
const result = await jiraService.getIssueDevelopmentInfo(issueKey, dataType, applicationType);
|
|
116
121
|
return formatToolResponse(result);
|
|
@@ -131,6 +136,7 @@ server.tool(
|
|
|
131
136
|
"jira_getIssueLinkTypes",
|
|
132
137
|
`Get the list of available issue link types (e.g. Blocks, Relates, Duplicate) in the ${jiraInstanceType}. Use this to discover valid link type names before calling jira_linkIssues.`,
|
|
133
138
|
jiraToolSchemas.getIssueLinkTypes,
|
|
139
|
+
readOnlyToolAnnotations,
|
|
134
140
|
async () => {
|
|
135
141
|
const result = await jiraService.getIssueLinkTypes();
|
|
136
142
|
return formatToolResponse(result);
|