mcp-jira-stdio 1.10.2 → 1.11.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/README.md +4 -2
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
<!-- mcp-name: io.github.freema/mcp-jira-stdio -->
|
|
2
|
+
|
|
1
3
|
# MCP Jira Server
|
|
2
4
|
|
|
3
5
|
[](https://www.typescriptlang.org)
|
|
4
|
-
[](https://nodejs.org)
|
|
5
7
|
[](https://opensource.org/licenses/MIT)
|
|
6
8
|
[](https://www.npmjs.com/package/mcp-jira-stdio)
|
|
7
9
|
[](https://glama.ai/mcp/servers)
|
|
@@ -42,7 +44,7 @@ If you prefer to configure manually or use Claude Desktop, see the [Configuratio
|
|
|
42
44
|
|
|
43
45
|
### 1. Prerequisites
|
|
44
46
|
|
|
45
|
-
- Node.js
|
|
47
|
+
- Node.js v20 or higher
|
|
46
48
|
- Jira instance (Cloud or Server)
|
|
47
49
|
- Jira API token
|
|
48
50
|
|
package/dist/index.js
CHANGED
|
@@ -440,7 +440,8 @@ var require_package2 = __commonJS({
|
|
|
440
440
|
"package.json"(exports$1, module) {
|
|
441
441
|
module.exports = {
|
|
442
442
|
name: "mcp-jira-stdio",
|
|
443
|
-
version: "1.
|
|
443
|
+
version: "1.11.0",
|
|
444
|
+
mcpName: "io.github.freema/mcp-jira-stdio",
|
|
444
445
|
description: "Model Context Protocol (MCP) server for Jira API integration",
|
|
445
446
|
author: "graslt",
|
|
446
447
|
license: "MIT",
|
|
@@ -493,7 +494,7 @@ var require_package2 = __commonJS({
|
|
|
493
494
|
axios: "^1.7.0",
|
|
494
495
|
"form-data": "^4.0.5",
|
|
495
496
|
"md-to-adf": "^0.5.0",
|
|
496
|
-
zod: "^
|
|
497
|
+
zod: "^4.4.2"
|
|
497
498
|
},
|
|
498
499
|
devDependencies: {
|
|
499
500
|
"@types/node": "^25.3.3",
|
|
@@ -503,7 +504,7 @@ var require_package2 = __commonJS({
|
|
|
503
504
|
"@vitest/ui": "^4.0.10",
|
|
504
505
|
dotenv: "^17.2.1",
|
|
505
506
|
eslint: "^9.9.0",
|
|
506
|
-
"eslint-config-prettier": "^
|
|
507
|
+
"eslint-config-prettier": "^10.1.8",
|
|
507
508
|
"eslint-plugin-prettier": "^5.2.0",
|
|
508
509
|
prettier: "^3.5.0",
|
|
509
510
|
tsup: "^8.5.1",
|
|
@@ -817,7 +818,7 @@ function validateInput(schema, input) {
|
|
|
817
818
|
return schema.parse(input);
|
|
818
819
|
} catch (error) {
|
|
819
820
|
if (error instanceof z.ZodError) {
|
|
820
|
-
const errorMessages = error.
|
|
821
|
+
const errorMessages = error.issues.map((err) => `${err.path.join(".")}: ${err.message}`);
|
|
821
822
|
throw new Error(`${ERROR_MESSAGES.VALIDATION_ERROR}
|
|
822
823
|
${errorMessages.join("\n")}`);
|
|
823
824
|
}
|
|
@@ -869,7 +870,7 @@ var CreateIssueInputSchema = z.object({
|
|
|
869
870
|
assignee: z.string().optional().describe("Assignee account ID"),
|
|
870
871
|
labels: z.array(z.string()).optional().describe("Issue labels"),
|
|
871
872
|
components: z.array(z.string()).optional().describe("Component names"),
|
|
872
|
-
customFields: z.record(z.any()).optional().describe(
|
|
873
|
+
customFields: z.record(z.string(), z.any()).optional().describe(
|
|
873
874
|
'Additional Jira field mappings, e.g. { "customfield_12345": value }. Use for required custom fields.'
|
|
874
875
|
),
|
|
875
876
|
returnIssue: z.boolean().optional().describe("When false, skip fetching full issue after creation"),
|
|
@@ -1557,7 +1558,7 @@ async function addAttachmentFromUrl(issueKey, fileUrl, filename) {
|
|
|
1557
1558
|
const formData = new FormData();
|
|
1558
1559
|
formData.append("file", fileBuffer, {
|
|
1559
1560
|
filename,
|
|
1560
|
-
contentType: response.headers["content-type"]
|
|
1561
|
+
contentType: typeof response.headers["content-type"] === "string" ? response.headers["content-type"] : "application/octet-stream"
|
|
1561
1562
|
});
|
|
1562
1563
|
return await makeMultipartRequest(`/issue/${issueKey}/attachments`, formData);
|
|
1563
1564
|
}
|