@nexus2520/jira-mcp-server 1.0.0 → 1.0.3

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
@@ -1,8 +1,9 @@
1
1
  # Jira MCP Server
2
2
 
3
3
  [![npm version](https://badge.fury.io/js/@nexus2520%2Fjira-mcp-server.svg)](https://www.npmjs.com/package/@nexus2520/jira-mcp-server)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
5
 
5
- A Model Context Protocol (MCP) server for Jira API integration. This server enables AI assistants like Claude to interact with Jira Cloud instances for issue management, search, comments, and workflow transitions.
6
+ A Model Context Protocol (MCP) server for Jira API integration. This server enables AI assistants like Claude to interact with Jira Cloud instances for issue management, search, comments, workflow transitions, and attachment handling.
6
7
 
7
8
  ## Features
8
9
 
@@ -13,6 +14,7 @@ A Model Context Protocol (MCP) server for Jira API integration. This server enab
13
14
  - **Metadata Discovery**: Get field requirements and allowed values for projects
14
15
  - **User Search**: Find users by email or name for assignments
15
16
  - **Projects**: List all accessible projects
17
+ - **Attachments**: List, upload, delete attachments and retrieve their content — text files returned as text, images rendered inline via Claude vision
16
18
  - **API Token Authentication**: Secure authentication using email + API token
17
19
 
18
20
  ## Installation
@@ -238,52 +240,58 @@ Change the status of an issue.
238
240
  - `transitionId` (required): Transition ID (from get_transitions)
239
241
  - `comment` (optional): Comment to add with transition
240
242
 
241
- ## Usage Examples
243
+ ### Attachments
242
244
 
243
- ### With Claude Desktop
245
+ #### `list_attachments`
246
+ List all attachments for a Jira issue, including metadata such as filename, size, MIME type, author, and ID.
244
247
 
245
- Once configured, you can interact with Jira naturally:
248
+ **Parameters**:
249
+ - `issueKey` (required): Issue key (e.g., "PROJ-123")
246
250
 
251
+ **Example**:
247
252
  ```
248
- "Show me all open bugs in project PROJ"
249
- "Create a new task in PROJ with summary 'Update documentation'"
250
- "Add a comment to PROJ-123 saying 'Fixed in latest release'"
251
- "What are the available transitions for PROJ-123?"
252
- "Move PROJ-123 to In Progress"
253
- "Assign PROJ-123 to john.doe@company.com"
254
- "Get the required fields for creating issues in PROJ"
253
+ List attachments on PROJ-123
255
254
  ```
256
255
 
257
- ## Development
256
+ #### `get_attachment_content`
257
+ Download and return the content of a Jira attachment. Use `list_attachments` first to get attachment IDs.
258
258
 
259
- ### Project Structure
259
+ - **Text files** (`text/*`, `application/json`, `application/xml`): returned as readable text
260
+ - **Images** (`image/*`): returned as base64 — Claude will render them inline
261
+ - **Other types** (PDF, zip, etc.): returns a descriptive message with file metadata
260
262
 
263
+ **Parameters**:
264
+ - `attachmentId` (required): Attachment ID (from list_attachments)
265
+ - `mimeType` (optional): MIME type hint; auto-detected from Jira metadata if omitted
266
+
267
+ **Example**:
261
268
  ```
262
- jira-mcp-server/
263
- ├── src/
264
- │ ├── index.ts # Main server entry point
265
- │ ├── utils/
266
- │ │ ├── api-client.ts # Jira API client
267
- │ │ └── formatters.ts # Response formatters
268
- │ ├── handlers/
269
- │ │ ├── issue-handlers.ts # Issue CRUD operations
270
- │ │ ├── search-handlers.ts # JQL search
271
- │ │ ├── comment-handlers.ts # Comment operations
272
- │ │ ├── transition-handlers.ts # Workflow transitions
273
- │ │ └── project-handlers.ts # Project operations
274
- │ └── tools/
275
- │ └── definitions.ts # MCP tool definitions
276
- ├── build/ # Compiled JavaScript output
277
- ├── package.json
278
- ├── tsconfig.json
279
- └── README.md
269
+ Get the content of attachment 136904
280
270
  ```
281
271
 
282
- ### Build Commands
272
+ #### `upload_attachment`
273
+ Upload a local file as an attachment to a Jira issue.
283
274
 
284
- - `pnpm run build` - Compile TypeScript to JavaScript
285
- - `pnpm run dev` - Watch mode for development
286
- - `pnpm start` - Run the compiled server
275
+ **Parameters**:
276
+ - `issueKey` (required): The issue to attach the file to (e.g., `PROJ-123`)
277
+ - `filePath` (required): Absolute or relative local file path to upload
278
+ - `fileName` (optional): Override the filename shown in Jira (defaults to the file's basename)
279
+
280
+ **Example**:
281
+ ```
282
+ Upload /tmp/report.pdf to PROJ-123
283
+ ```
284
+
285
+ #### `delete_attachment`
286
+ Delete a Jira attachment by its ID. Use `list_attachments` first to get the attachment ID.
287
+
288
+ **Parameters**:
289
+ - `attachmentId` (required): The attachment ID to delete (from `list_attachments`)
290
+
291
+ **Example**:
292
+ ```
293
+ Delete attachment 136904
294
+ ```
287
295
 
288
296
  ### API Reference
289
297
 
@@ -0,0 +1,65 @@
1
+ import { JiraApiClient } from '../utils/api-client.js';
2
+ export declare class AttachmentHandlers {
3
+ private apiClient;
4
+ constructor(apiClient: JiraApiClient);
5
+ handleListAttachments(args: any): Promise<{
6
+ content: {
7
+ type: string;
8
+ text: string;
9
+ }[];
10
+ isError?: undefined;
11
+ } | {
12
+ content: {
13
+ type: string;
14
+ text: string;
15
+ }[];
16
+ isError: boolean;
17
+ }>;
18
+ handleGetAttachmentContent(args: any): Promise<{
19
+ content: ({
20
+ type: string;
21
+ text: string;
22
+ data?: undefined;
23
+ mimeType?: undefined;
24
+ } | {
25
+ type: string;
26
+ data: string;
27
+ mimeType: string;
28
+ text?: undefined;
29
+ })[];
30
+ isError?: undefined;
31
+ } | {
32
+ content: {
33
+ type: string;
34
+ text: string;
35
+ }[];
36
+ isError: boolean;
37
+ }>;
38
+ handleUploadAttachment(args: any): Promise<{
39
+ content: {
40
+ type: string;
41
+ text: string;
42
+ }[];
43
+ isError?: undefined;
44
+ } | {
45
+ content: {
46
+ type: string;
47
+ text: string;
48
+ }[];
49
+ isError: boolean;
50
+ }>;
51
+ handleDeleteAttachment(args: any): Promise<{
52
+ content: {
53
+ type: string;
54
+ text: string;
55
+ }[];
56
+ isError?: undefined;
57
+ } | {
58
+ content: {
59
+ type: string;
60
+ text: string;
61
+ }[];
62
+ isError: boolean;
63
+ }>;
64
+ }
65
+ //# sourceMappingURL=attachment-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/attachment-handlers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,qBAAa,kBAAkB;IACjB,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAEtC,qBAAqB,CAAC,IAAI,EAAE,GAAG;;;;;;;;;;;;;IAgC/B,0BAA0B,CAAC,IAAI,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;IAsEpC,sBAAsB,CAAC,IAAI,EAAE,GAAG;;;;;;;;;;;;;IAwChC,sBAAsB,CAAC,IAAI,EAAE,GAAG;;;;;;;;;;;;;CAqCvC"}
@@ -0,0 +1,176 @@
1
+ import { existsSync } from 'fs';
2
+ import { basename } from 'path';
3
+ import { JiraFormatters } from '../utils/formatters.js';
4
+ export class AttachmentHandlers {
5
+ apiClient;
6
+ constructor(apiClient) {
7
+ this.apiClient = apiClient;
8
+ }
9
+ async handleListAttachments(args) {
10
+ try {
11
+ const { issueKey } = args;
12
+ if (!issueKey) {
13
+ throw new Error('issueKey is required');
14
+ }
15
+ const issue = await this.apiClient.get(`/issue/${issueKey}`, { fields: 'attachment' });
16
+ const attachments = issue.fields?.attachment || [];
17
+ return {
18
+ content: [
19
+ {
20
+ type: 'text',
21
+ text: JiraFormatters.formatAttachments(attachments),
22
+ },
23
+ ],
24
+ };
25
+ }
26
+ catch (error) {
27
+ return {
28
+ content: [
29
+ {
30
+ type: 'text',
31
+ text: JiraFormatters.formatError(error),
32
+ },
33
+ ],
34
+ isError: true,
35
+ };
36
+ }
37
+ }
38
+ async handleGetAttachmentContent(args) {
39
+ try {
40
+ const { attachmentId } = args;
41
+ if (!attachmentId) {
42
+ throw new Error('attachmentId is required');
43
+ }
44
+ // Fetch metadata to get filename and MIME type
45
+ const metadata = await this.apiClient.get(`/attachment/${attachmentId}`);
46
+ const filename = metadata.filename || 'unknown';
47
+ const mimeType = args.mimeType || metadata.mimeType || 'application/octet-stream';
48
+ const sizeBytes = metadata.size || 0;
49
+ const sizeKB = (sizeBytes / 1024).toFixed(1);
50
+ // Download the actual file bytes
51
+ const { data, contentType } = await this.apiClient.downloadAttachment(attachmentId);
52
+ const effectiveMime = contentType.split(';')[0].trim() || mimeType;
53
+ if (effectiveMime.startsWith('text/') || effectiveMime === 'application/json' || effectiveMime === 'application/xml') {
54
+ const text = data.toString('utf-8');
55
+ return {
56
+ content: [
57
+ {
58
+ type: 'text',
59
+ text: `**Attachment**: ${filename} (${effectiveMime}, ${sizeKB} KB)\n\n${text}`,
60
+ },
61
+ ],
62
+ };
63
+ }
64
+ if (effectiveMime.startsWith('image/')) {
65
+ const base64String = data.toString('base64');
66
+ return {
67
+ content: [
68
+ {
69
+ type: 'text',
70
+ text: `**Attachment**: ${filename} (${effectiveMime}, ${sizeKB} KB)`,
71
+ },
72
+ {
73
+ type: 'image',
74
+ data: base64String,
75
+ mimeType: effectiveMime,
76
+ },
77
+ ],
78
+ };
79
+ }
80
+ // Unsupported type (PDF, zip, etc.)
81
+ return {
82
+ content: [
83
+ {
84
+ type: 'text',
85
+ text: `**Attachment**: ${filename}\n**Type**: ${effectiveMime}\n**Size**: ${sizeKB} KB\n\nThis attachment cannot be displayed as text or image. Download it directly from Jira.`,
86
+ },
87
+ ],
88
+ };
89
+ }
90
+ catch (error) {
91
+ return {
92
+ content: [
93
+ {
94
+ type: 'text',
95
+ text: JiraFormatters.formatError(error),
96
+ },
97
+ ],
98
+ isError: true,
99
+ };
100
+ }
101
+ }
102
+ async handleUploadAttachment(args) {
103
+ try {
104
+ const { issueKey, filePath, fileName } = args;
105
+ if (!issueKey) {
106
+ throw new Error('issueKey is required');
107
+ }
108
+ if (!filePath) {
109
+ throw new Error('filePath is required');
110
+ }
111
+ if (!existsSync(filePath)) {
112
+ throw new Error(`File not found: ${filePath}`);
113
+ }
114
+ const name = fileName || basename(filePath);
115
+ const result = await this.apiClient.uploadAttachment(issueKey, filePath, name);
116
+ const attachment = result[0];
117
+ const sizeKB = attachment.size ? (attachment.size / 1024).toFixed(1) : 'unknown';
118
+ return {
119
+ content: [
120
+ {
121
+ type: 'text',
122
+ text: `Attachment uploaded successfully to ${issueKey}.\n\n**ID**: ${attachment.id}\n**Filename**: ${attachment.filename}\n**Size**: ${sizeKB} KB\n**MIME type**: ${attachment.mimeType || 'unknown'}`,
123
+ },
124
+ ],
125
+ };
126
+ }
127
+ catch (error) {
128
+ return {
129
+ content: [
130
+ {
131
+ type: 'text',
132
+ text: JiraFormatters.formatError(error),
133
+ },
134
+ ],
135
+ isError: true,
136
+ };
137
+ }
138
+ }
139
+ async handleDeleteAttachment(args) {
140
+ try {
141
+ const { attachmentId } = args;
142
+ if (!attachmentId) {
143
+ throw new Error('attachmentId is required');
144
+ }
145
+ try {
146
+ await this.apiClient.delete(`/attachment/${attachmentId}`);
147
+ }
148
+ catch (err) {
149
+ if (err.message?.includes('(404)')) {
150
+ throw new Error(`Attachment not found: ${attachmentId}`);
151
+ }
152
+ throw err;
153
+ }
154
+ return {
155
+ content: [
156
+ {
157
+ type: 'text',
158
+ text: `Attachment ${attachmentId} deleted successfully.`,
159
+ },
160
+ ],
161
+ };
162
+ }
163
+ catch (error) {
164
+ return {
165
+ content: [
166
+ {
167
+ type: 'text',
168
+ text: JiraFormatters.formatError(error),
169
+ },
170
+ ],
171
+ isError: true,
172
+ };
173
+ }
174
+ }
175
+ }
176
+ //# sourceMappingURL=attachment-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-handlers.js","sourceRoot":"","sources":["../../src/handlers/attachment-handlers.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -10,6 +10,7 @@ import { TransitionHandlers } from './handlers/transition-handlers.js';
10
10
  import { ProjectHandlers } from './handlers/project-handlers.js';
11
11
  import { MetadataHandlers } from './handlers/metadata-handlers.js';
12
12
  import { UserHandlers } from './handlers/user-handlers.js';
13
+ import { AttachmentHandlers } from './handlers/attachment-handlers.js';
13
14
  import { toolDefinitions } from './tools/definitions.js';
14
15
  // Get environment variables
15
16
  const JIRA_EMAIL = process.env.JIRA_EMAIL;
@@ -36,6 +37,7 @@ class JiraMCPServer {
36
37
  projectHandlers;
37
38
  metadataHandlers;
38
39
  userHandlers;
40
+ attachmentHandlers;
39
41
  constructor() {
40
42
  this.server = new Server({
41
43
  name: 'jira-mcp-server',
@@ -55,6 +57,7 @@ class JiraMCPServer {
55
57
  this.transitionHandlers = new TransitionHandlers(this.apiClient);
56
58
  this.projectHandlers = new ProjectHandlers(this.apiClient);
57
59
  this.metadataHandlers = new MetadataHandlers(this.apiClient);
60
+ this.attachmentHandlers = new AttachmentHandlers(this.apiClient);
58
61
  this.setupToolHandlers();
59
62
  // Error handling
60
63
  this.server.onerror = (error) => console.error('[MCP Error]', error);
@@ -101,6 +104,15 @@ class JiraMCPServer {
101
104
  return this.transitionHandlers.handleGetTransitions(request.params.arguments);
102
105
  case 'transition_issue':
103
106
  return this.transitionHandlers.handleTransitionIssue(request.params.arguments);
107
+ // Attachment tools
108
+ case 'list_attachments':
109
+ return this.attachmentHandlers.handleListAttachments(request.params.arguments);
110
+ case 'get_attachment_content':
111
+ return this.attachmentHandlers.handleGetAttachmentContent(request.params.arguments);
112
+ case 'upload_attachment':
113
+ return this.attachmentHandlers.handleUploadAttachment(request.params.arguments);
114
+ case 'delete_attachment':
115
+ return this.attachmentHandlers.handleDeleteAttachment(request.params.arguments);
104
116
  default:
105
117
  throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${request.params.name}`);
106
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@ export declare const toolDefinitions: ({
21
21
  query?: undefined;
22
22
  comment?: undefined;
23
23
  transitionId?: undefined;
24
+ attachmentId?: undefined;
25
+ mimeType?: undefined;
26
+ filePath?: undefined;
27
+ fileName?: undefined;
24
28
  };
25
29
  required: string[];
26
30
  };
@@ -70,6 +74,10 @@ export declare const toolDefinitions: ({
70
74
  query?: undefined;
71
75
  comment?: undefined;
72
76
  transitionId?: undefined;
77
+ attachmentId?: undefined;
78
+ mimeType?: undefined;
79
+ filePath?: undefined;
80
+ fileName?: undefined;
73
81
  };
74
82
  required: string[];
75
83
  };
@@ -116,6 +124,10 @@ export declare const toolDefinitions: ({
116
124
  query?: undefined;
117
125
  comment?: undefined;
118
126
  transitionId?: undefined;
127
+ attachmentId?: undefined;
128
+ mimeType?: undefined;
129
+ filePath?: undefined;
130
+ fileName?: undefined;
119
131
  };
120
132
  required: string[];
121
133
  };
@@ -145,6 +157,10 @@ export declare const toolDefinitions: ({
145
157
  query?: undefined;
146
158
  comment?: undefined;
147
159
  transitionId?: undefined;
160
+ attachmentId?: undefined;
161
+ mimeType?: undefined;
162
+ filePath?: undefined;
163
+ fileName?: undefined;
148
164
  };
149
165
  required: string[];
150
166
  };
@@ -174,6 +190,10 @@ export declare const toolDefinitions: ({
174
190
  query?: undefined;
175
191
  comment?: undefined;
176
192
  transitionId?: undefined;
193
+ attachmentId?: undefined;
194
+ mimeType?: undefined;
195
+ filePath?: undefined;
196
+ fileName?: undefined;
177
197
  };
178
198
  required: string[];
179
199
  };
@@ -200,6 +220,10 @@ export declare const toolDefinitions: ({
200
220
  query?: undefined;
201
221
  comment?: undefined;
202
222
  transitionId?: undefined;
223
+ attachmentId?: undefined;
224
+ mimeType?: undefined;
225
+ filePath?: undefined;
226
+ fileName?: undefined;
203
227
  };
204
228
  required?: undefined;
205
229
  };
@@ -229,6 +253,10 @@ export declare const toolDefinitions: ({
229
253
  query?: undefined;
230
254
  comment?: undefined;
231
255
  transitionId?: undefined;
256
+ attachmentId?: undefined;
257
+ mimeType?: undefined;
258
+ filePath?: undefined;
259
+ fileName?: undefined;
232
260
  };
233
261
  required: string[];
234
262
  };
@@ -258,6 +286,10 @@ export declare const toolDefinitions: ({
258
286
  jql?: undefined;
259
287
  comment?: undefined;
260
288
  transitionId?: undefined;
289
+ attachmentId?: undefined;
290
+ mimeType?: undefined;
291
+ filePath?: undefined;
292
+ fileName?: undefined;
261
293
  };
262
294
  required: string[];
263
295
  };
@@ -287,6 +319,10 @@ export declare const toolDefinitions: ({
287
319
  maxResults?: undefined;
288
320
  query?: undefined;
289
321
  transitionId?: undefined;
322
+ attachmentId?: undefined;
323
+ mimeType?: undefined;
324
+ filePath?: undefined;
325
+ fileName?: undefined;
290
326
  };
291
327
  required: string[];
292
328
  };
@@ -319,6 +355,109 @@ export declare const toolDefinitions: ({
319
355
  jql?: undefined;
320
356
  maxResults?: undefined;
321
357
  query?: undefined;
358
+ attachmentId?: undefined;
359
+ mimeType?: undefined;
360
+ filePath?: undefined;
361
+ fileName?: undefined;
362
+ };
363
+ required: string[];
364
+ };
365
+ } | {
366
+ name: string;
367
+ description: string;
368
+ inputSchema: {
369
+ type: string;
370
+ properties: {
371
+ attachmentId: {
372
+ type: string;
373
+ description: string;
374
+ };
375
+ mimeType: {
376
+ type: string;
377
+ description: string;
378
+ };
379
+ issueKey?: undefined;
380
+ projectKey?: undefined;
381
+ summary?: undefined;
382
+ issueType?: undefined;
383
+ description?: undefined;
384
+ priority?: undefined;
385
+ assignee?: undefined;
386
+ labels?: undefined;
387
+ customFields?: undefined;
388
+ jql?: undefined;
389
+ maxResults?: undefined;
390
+ query?: undefined;
391
+ comment?: undefined;
392
+ transitionId?: undefined;
393
+ filePath?: undefined;
394
+ fileName?: undefined;
395
+ };
396
+ required: string[];
397
+ };
398
+ } | {
399
+ name: string;
400
+ description: string;
401
+ inputSchema: {
402
+ type: string;
403
+ properties: {
404
+ issueKey: {
405
+ type: string;
406
+ description: string;
407
+ };
408
+ filePath: {
409
+ type: string;
410
+ description: string;
411
+ };
412
+ fileName: {
413
+ type: string;
414
+ description: string;
415
+ };
416
+ projectKey?: undefined;
417
+ summary?: undefined;
418
+ issueType?: undefined;
419
+ description?: undefined;
420
+ priority?: undefined;
421
+ assignee?: undefined;
422
+ labels?: undefined;
423
+ customFields?: undefined;
424
+ jql?: undefined;
425
+ maxResults?: undefined;
426
+ query?: undefined;
427
+ comment?: undefined;
428
+ transitionId?: undefined;
429
+ attachmentId?: undefined;
430
+ mimeType?: undefined;
431
+ };
432
+ required: string[];
433
+ };
434
+ } | {
435
+ name: string;
436
+ description: string;
437
+ inputSchema: {
438
+ type: string;
439
+ properties: {
440
+ attachmentId: {
441
+ type: string;
442
+ description: string;
443
+ };
444
+ issueKey?: undefined;
445
+ projectKey?: undefined;
446
+ summary?: undefined;
447
+ issueType?: undefined;
448
+ description?: undefined;
449
+ priority?: undefined;
450
+ assignee?: undefined;
451
+ labels?: undefined;
452
+ customFields?: undefined;
453
+ jql?: undefined;
454
+ maxResults?: undefined;
455
+ query?: undefined;
456
+ comment?: undefined;
457
+ transitionId?: undefined;
458
+ mimeType?: undefined;
459
+ filePath?: undefined;
460
+ fileName?: undefined;
322
461
  };
323
462
  required: string[];
324
463
  };
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkQ3B,CAAC"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwU3B,CAAC"}
@@ -251,5 +251,74 @@ export const toolDefinitions = [
251
251
  required: ['issueKey', 'transitionId'],
252
252
  },
253
253
  },
254
+ // Attachment Tools
255
+ {
256
+ name: 'list_attachments',
257
+ description: 'List all attachments for a Jira issue, including metadata such as filename, size, MIME type, author, and ID',
258
+ inputSchema: {
259
+ type: 'object',
260
+ properties: {
261
+ issueKey: {
262
+ type: 'string',
263
+ description: 'The issue key (e.g., PROJ-123)',
264
+ },
265
+ },
266
+ required: ['issueKey'],
267
+ },
268
+ },
269
+ {
270
+ name: 'get_attachment_content',
271
+ description: 'Download and return the content of a Jira attachment. Text files are returned as text, images as base64 for rendering. Use list_attachments first to get attachment IDs.',
272
+ inputSchema: {
273
+ type: 'object',
274
+ properties: {
275
+ attachmentId: {
276
+ type: 'string',
277
+ description: 'The attachment ID (obtained from list_attachments)',
278
+ },
279
+ mimeType: {
280
+ type: 'string',
281
+ description: 'Optional MIME type hint; auto-detected from Jira metadata if omitted',
282
+ },
283
+ },
284
+ required: ['attachmentId'],
285
+ },
286
+ },
287
+ {
288
+ name: 'upload_attachment',
289
+ description: 'Upload a local file as an attachment to a Jira issue',
290
+ inputSchema: {
291
+ type: 'object',
292
+ properties: {
293
+ issueKey: {
294
+ type: 'string',
295
+ description: 'The issue key to attach the file to (e.g., PROJ-123)',
296
+ },
297
+ filePath: {
298
+ type: 'string',
299
+ description: 'Absolute or relative local file path to upload',
300
+ },
301
+ fileName: {
302
+ type: 'string',
303
+ description: 'Override the filename shown in Jira (optional, defaults to the file\'s basename)',
304
+ },
305
+ },
306
+ required: ['issueKey', 'filePath'],
307
+ },
308
+ },
309
+ {
310
+ name: 'delete_attachment',
311
+ description: 'Delete a Jira attachment by its ID. Use list_attachments first to get attachment IDs.',
312
+ inputSchema: {
313
+ type: 'object',
314
+ properties: {
315
+ attachmentId: {
316
+ type: 'string',
317
+ description: 'The attachment ID to delete (obtained from list_attachments)',
318
+ },
319
+ },
320
+ required: ['attachmentId'],
321
+ },
322
+ },
254
323
  ];
255
324
  //# sourceMappingURL=definitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,yBAAyB;IACzB;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,8DAA8D;QAC3E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2DAA2D;iBACzE;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,+LAA+L;QAC5M,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mEAAmE;iBACjF;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yBAAyB;iBACvC;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;gBACD,WAAW,EAAE;oBACX,WAAW,EAAE,uQAAuQ;iBACrR;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oDAAoD;iBAClE;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kFAAkF;iBAChG;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2IAA2I;iBACzJ;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC;SACjD;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,qJAAqJ;QAClK,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,WAAW,EAAE;oBACX,WAAW,EAAE,0DAA0D;iBACxE;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sFAAsF;iBACpG;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,6BAA6B;iBAC3C;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2IAA2I;iBACzJ;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,+BAA+B;QAC5C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2EAA2E;iBACzF;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;SACnC;KACF;IAED,eAAe;IACf;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,wHAAwH;QACrI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6DAA6D;iBAC3E;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;iBACjE;aACF;YACD,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,mCAAmC;QAChD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oDAAoD;iBAClE;aACF;SACF;KACF;IAED,iBAAiB;IACjB;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,iIAAiI;QAC9I,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2DAA2D;iBACzE;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;IAED,aAAa;IACb;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,oHAAoH;QACjI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kGAAkG;iBAChH;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;iBACjE;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IAED,gBAAgB;IAChB;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,+BAA+B;QAC5C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,OAAO,EAAE;oBACP,WAAW,EAAE,uKAAuK;iBACrL;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;SAClC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,mCAAmC;QAChD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IAED,mBAAmB;IACnB;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,mDAAmD;QAChE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yDAAyD;iBACvE;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6CAA6C;iBAC3D;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;SACvC;KACF;IAED,mBAAmB;IACnB;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,6GAA6G;QAC1H,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,0KAA0K;QACvL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oDAAoD;iBAClE;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sEAAsE;iBACpF;aACF;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sDAAsD;iBACpE;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gDAAgD;iBAC9D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kFAAkF;iBAChG;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,uFAAuF;QACpG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8DAA8D;iBAC5E;aACF;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;KACF;CACF,CAAC"}
@@ -2,11 +2,17 @@ export declare class JiraApiClient {
2
2
  private client;
3
3
  private baseUrl;
4
4
  private email;
5
+ private authHeader;
5
6
  constructor(baseUrl: string, email: string, apiToken: string);
6
7
  get<T = any>(endpoint: string, params?: any): Promise<T>;
7
8
  post<T = any>(endpoint: string, data?: any): Promise<T>;
8
9
  put<T = any>(endpoint: string, data?: any): Promise<T>;
9
10
  delete<T = any>(endpoint: string): Promise<T>;
11
+ uploadAttachment(issueKey: string, filePath: string, fileName?: string): Promise<any[]>;
12
+ downloadAttachment(attachmentId: string): Promise<{
13
+ data: Buffer;
14
+ contentType: string;
15
+ }>;
10
16
  getBaseUrl(): string;
11
17
  getEmail(): string;
12
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAEA,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAqDtD,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAKxD,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAKvD,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAKtD,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAKnD,UAAU,IAAI,MAAM;IAIpB,QAAQ,IAAI,MAAM;CAGnB"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAKA,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAsDtD,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAKxD,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAKvD,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAKtD,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAK7C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAkBvF,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAoB9F,UAAU,IAAI,MAAM;IAIpB,QAAQ,IAAI,MAAM;CAGnB"}
@@ -1,13 +1,18 @@
1
1
  import axios from 'axios';
2
+ import FormData from 'form-data';
3
+ import { createReadStream } from 'fs';
4
+ import { basename } from 'path';
2
5
  export class JiraApiClient {
3
6
  client;
4
7
  baseUrl;
5
8
  email;
9
+ authHeader;
6
10
  constructor(baseUrl, email, apiToken) {
7
11
  this.baseUrl = baseUrl.replace(/\/$/, ''); // Remove trailing slash
8
12
  this.email = email;
9
13
  // Create base64 encoded auth token
10
14
  const authToken = Buffer.from(`${email}:${apiToken}`).toString('base64');
15
+ this.authHeader = `Basic ${authToken}`;
11
16
  this.client = axios.create({
12
17
  baseURL: `${this.baseUrl}/rest/api/3`,
13
18
  headers: {
@@ -60,6 +65,33 @@ export class JiraApiClient {
60
65
  const response = await this.client.delete(endpoint);
61
66
  return response.data;
62
67
  }
68
+ async uploadAttachment(issueKey, filePath, fileName) {
69
+ const form = new FormData();
70
+ const name = fileName || basename(filePath);
71
+ form.append('file', createReadStream(filePath), { filename: name });
72
+ const response = await this.client.post(`/issue/${issueKey}/attachments`, form, {
73
+ headers: {
74
+ 'X-Atlassian-Token': 'no-check',
75
+ ...form.getHeaders(),
76
+ },
77
+ });
78
+ return response.data;
79
+ }
80
+ async downloadAttachment(attachmentId) {
81
+ const response = await axios.get(`${this.baseUrl}/rest/api/3/attachment/content/${attachmentId}`, {
82
+ headers: {
83
+ 'Authorization': this.authHeader,
84
+ 'Accept': '*/*',
85
+ },
86
+ responseType: 'arraybuffer',
87
+ timeout: 60000,
88
+ maxRedirects: 5,
89
+ });
90
+ return {
91
+ data: Buffer.from(response.data),
92
+ contentType: response.headers['content-type'] || 'application/octet-stream',
93
+ };
94
+ }
63
95
  getBaseUrl() {
64
96
  return this.baseUrl;
65
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare class JiraFormatters {
18
18
  static formatComments(comments: any): string;
19
19
  static formatTransitions(transitions: any[]): string;
20
20
  static formatProjects(projects: any[]): string;
21
+ static formatAttachments(attachments: any[]): string;
21
22
  static formatError(error: any): string;
22
23
  }
23
24
  //# sourceMappingURL=formatters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACzB;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAcjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAyE3B,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAkE3E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiCrC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM;IAoB7C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM;IAsB5C,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM;IAiBpD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM;IAmB9C,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;CAQvC"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACzB;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAcjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAyE3B,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAkE3E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiCrC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM;IAoB7C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM;IAsB5C,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM;IAiBpD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM;IAmB9C,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM;IA0BpD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;CAQvC"}
@@ -233,6 +233,27 @@ export class JiraFormatters {
233
233
  });
234
234
  return formatted;
235
235
  }
236
+ static formatAttachments(attachments) {
237
+ if (!attachments || attachments.length === 0) {
238
+ return 'No attachments found.';
239
+ }
240
+ let formatted = `# Attachments (${attachments.length})\n\n`;
241
+ formatted += `| # | Filename | Size | Type | Author | Date | ID |\n`;
242
+ formatted += `|---|----------|------|------|--------|------|----|\n`;
243
+ attachments.forEach((attachment, index) => {
244
+ const filename = attachment.filename || 'Unknown';
245
+ const sizeBytes = attachment.size || 0;
246
+ const size = sizeBytes >= 1024 * 1024
247
+ ? `${(sizeBytes / (1024 * 1024)).toFixed(1)} MB`
248
+ : `${(sizeBytes / 1024).toFixed(1)} KB`;
249
+ const mimeType = attachment.mimeType || 'Unknown';
250
+ const author = attachment.author?.displayName || 'Unknown';
251
+ const created = attachment.created ? new Date(attachment.created).toLocaleString() : 'Unknown';
252
+ const id = attachment.id || 'Unknown';
253
+ formatted += `| ${index + 1} | ${filename} | ${size} | ${mimeType} | ${author} | ${created} | ${id} |\n`;
254
+ });
255
+ return formatted;
256
+ }
236
257
  static formatError(error) {
237
258
  if (typeof error === 'string') {
238
259
  return `Error: ${error}`;
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus2520/jira-mcp-server",
3
- "version": "1.0.0",
3
+ "version": "1.0.3",
4
4
  "description": "MCP server for Jira API integration - supports Jira Cloud",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",
@@ -46,7 +46,8 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@modelcontextprotocol/sdk": "^1.12.1",
49
- "axios": "^1.10.0"
49
+ "axios": "^1.10.0",
50
+ "form-data": "^4.0.4"
50
51
  },
51
52
  "devDependencies": {
52
53
  "@types/node": "^22.15.29",