@jagadeesh52423/atlassian-mcp-server 1.1.0 → 1.1.2
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 +165 -36
- package/dist/formatters/adf-formatter.d.ts +30 -2
- package/dist/formatters/adf-formatter.d.ts.map +1 -1
- package/dist/formatters/adf-formatter.js +423 -107
- package/dist/formatters/adf-formatter.js.map +1 -1
- package/dist/formatters/index.d.ts +1 -1
- package/dist/formatters/index.d.ts.map +1 -1
- package/dist/formatters/index.js +1 -1
- package/dist/formatters/index.js.map +1 -1
- package/dist/handlers/base-handler.d.ts +5 -0
- package/dist/handlers/base-handler.d.ts.map +1 -0
- package/dist/handlers/base-handler.js +7 -0
- package/dist/handlers/base-handler.js.map +1 -0
- package/dist/handlers/bitbucket-handlers.d.ts +2 -1
- package/dist/handlers/bitbucket-handlers.d.ts.map +1 -1
- package/dist/handlers/bitbucket-handlers.js +31 -191
- package/dist/handlers/bitbucket-handlers.js.map +1 -1
- package/dist/handlers/confluence-handlers.d.ts +2 -1
- package/dist/handlers/confluence-handlers.d.ts.map +1 -1
- package/dist/handlers/confluence-handlers.js +46 -243
- package/dist/handlers/confluence-handlers.js.map +1 -1
- package/dist/handlers/jira-handlers.d.ts +9 -1
- package/dist/handlers/jira-handlers.d.ts.map +1 -1
- package/dist/handlers/jira-handlers.js +144 -575
- package/dist/handlers/jira-handlers.js.map +1 -1
- package/dist/index.js +111 -189
- package/dist/index.js.map +1 -1
- package/dist/registry/tool-registry.d.ts +11 -0
- package/dist/registry/tool-registry.d.ts.map +1 -0
- package/dist/registry/tool-registry.js +24 -0
- package/dist/registry/tool-registry.js.map +1 -0
- package/dist/services/bitbucket.d.ts +2 -0
- package/dist/services/bitbucket.d.ts.map +1 -1
- package/dist/services/bitbucket.js +22 -74
- package/dist/services/bitbucket.js.map +1 -1
- package/dist/services/confluence.d.ts.map +1 -1
- package/dist/services/confluence.js +5 -4
- package/dist/services/confluence.js.map +1 -1
- package/dist/services/jira/agile.d.ts +33 -0
- package/dist/services/jira/agile.d.ts.map +1 -0
- package/dist/services/jira/agile.js +118 -0
- package/dist/services/jira/agile.js.map +1 -0
- package/dist/services/jira/attachments.d.ts +7 -0
- package/dist/services/jira/attachments.d.ts.map +1 -0
- package/dist/services/jira/attachments.js +26 -0
- package/dist/services/jira/attachments.js.map +1 -0
- package/dist/services/jira/base.d.ts +9 -0
- package/dist/services/jira/base.d.ts.map +1 -0
- package/dist/services/jira/base.js +11 -0
- package/dist/services/jira/base.js.map +1 -0
- package/dist/services/jira/comments.d.ts +8 -0
- package/dist/services/jira/comments.d.ts.map +1 -0
- package/dist/services/jira/comments.js +33 -0
- package/dist/services/jira/comments.js.map +1 -0
- package/dist/services/jira/issues.d.ts +32 -0
- package/dist/services/jira/issues.d.ts.map +1 -0
- package/dist/services/jira/issues.js +177 -0
- package/dist/services/jira/issues.js.map +1 -0
- package/dist/services/jira/labels.d.ts +7 -0
- package/dist/services/jira/labels.d.ts.map +1 -0
- package/dist/services/jira/labels.js +21 -0
- package/dist/services/jira/labels.js.map +1 -0
- package/dist/services/jira/links.d.ts +9 -0
- package/dist/services/jira/links.d.ts.map +1 -0
- package/dist/services/jira/links.js +55 -0
- package/dist/services/jira/links.js.map +1 -0
- package/dist/services/jira/metadata.d.ts +8 -0
- package/dist/services/jira/metadata.d.ts.map +1 -0
- package/dist/services/jira/metadata.js +32 -0
- package/dist/services/jira/metadata.js.map +1 -0
- package/dist/services/jira/subtasks.d.ts +9 -0
- package/dist/services/jira/subtasks.d.ts.map +1 -0
- package/dist/services/jira/subtasks.js +32 -0
- package/dist/services/jira/subtasks.js.map +1 -0
- package/dist/services/jira/transitions.d.ts +16 -0
- package/dist/services/jira/transitions.d.ts.map +1 -0
- package/dist/services/jira/transitions.js +203 -0
- package/dist/services/jira/transitions.js.map +1 -0
- package/dist/services/jira/versions.d.ts +19 -0
- package/dist/services/jira/versions.d.ts.map +1 -0
- package/dist/services/jira/versions.js +62 -0
- package/dist/services/jira/versions.js.map +1 -0
- package/dist/services/jira/watchers.d.ts +7 -0
- package/dist/services/jira/watchers.d.ts.map +1 -0
- package/dist/services/jira/watchers.js +23 -0
- package/dist/services/jira/watchers.js.map +1 -0
- package/dist/services/jira/worklogs.d.ts +8 -0
- package/dist/services/jira/worklogs.d.ts.map +1 -0
- package/dist/services/jira/worklogs.js +37 -0
- package/dist/services/jira/worklogs.js.map +1 -0
- package/dist/services/jira.d.ts +58 -103
- package/dist/services/jira.d.ts.map +1 -1
- package/dist/services/jira.js +100 -1481
- package/dist/services/jira.js.map +1 -1
- package/dist/tools/jira-tools.d.ts.map +1 -1
- package/dist/tools/jira-tools.js +35 -3
- package/dist/tools/jira-tools.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,33 +3,104 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@jagadeesh52423/atlassian-mcp-server)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
|
|
6
|
-
A comprehensive Model Context Protocol (MCP) server that provides AI assistants with access to Atlassian APIs including Jira, Confluence, and Bitbucket.
|
|
6
|
+
A comprehensive Model Context Protocol (MCP) server that provides AI assistants with access to Atlassian APIs including Jira, Confluence, and Bitbucket. **84 tools** across 3 services — the most complete Atlassian MCP server available.
|
|
7
|
+
|
|
8
|
+
## Feature Comparison
|
|
9
|
+
|
|
10
|
+
How we stack up against the official Atlassian MCP server and the popular sooperset/mcp-atlassian:
|
|
11
|
+
|
|
12
|
+
### Confluence
|
|
13
|
+
|
|
14
|
+
| Feature | Ours | Official Atlassian | sooperset |
|
|
15
|
+
|---|:---:|:---:|:---:|
|
|
16
|
+
| Search / Get / Create / Update page | YES | YES | YES |
|
|
17
|
+
| Delete page | YES | NO | YES |
|
|
18
|
+
| Get spaces / pages by space | YES | YES | NO |
|
|
19
|
+
| Get child pages | YES | YES | YES |
|
|
20
|
+
| Get/Add comments | YES | YES | YES |
|
|
21
|
+
| **Update/Delete comment** | **YES** | NO | NO |
|
|
22
|
+
| Get/Add/Delete attachments | YES | NO | YES |
|
|
23
|
+
| **Embed image (with positioning)** | **YES** | NO | NO |
|
|
24
|
+
| **Create page with inline images** | **YES** | NO | NO |
|
|
25
|
+
| Get/Add/Remove labels | YES | NO | Partial |
|
|
26
|
+
| **Page version history** | YES | NO | YES |
|
|
27
|
+
|
|
28
|
+
### Jira
|
|
29
|
+
|
|
30
|
+
| Feature | Ours | Official Atlassian | sooperset |
|
|
31
|
+
|---|:---:|:---:|:---:|
|
|
32
|
+
| Search/Get/Create/Update issue | YES | YES | YES |
|
|
33
|
+
| Delete issue | YES | NO | YES |
|
|
34
|
+
| Comments (full CRUD) | YES | Partial | Partial |
|
|
35
|
+
| **Smart transition (AI auto-fill)** | **YES** | NO | NO |
|
|
36
|
+
| Attachments (get/add/delete) | YES | NO | NO |
|
|
37
|
+
| Issue links (full CRUD) | YES | NO | Partial |
|
|
38
|
+
| Worklogs (full CRUD) | YES | Partial | Partial |
|
|
39
|
+
| **Watchers (get/add/remove)** | **YES** | NO | NO |
|
|
40
|
+
| **Subtasks (get/create)** | **YES** | NO | NO |
|
|
41
|
+
| **Labels (get/add/remove)** | **YES** | NO | NO |
|
|
42
|
+
| Agile boards & board issues | YES | NO | YES |
|
|
43
|
+
| Sprints (list/create/update) | YES | NO | YES |
|
|
44
|
+
| Sprint issues | YES | NO | YES |
|
|
45
|
+
| Batch create issues | YES | NO | YES |
|
|
46
|
+
| Dev status (PRs/branches/commits) | YES | NO | YES |
|
|
47
|
+
| Issue history | YES | NO | YES |
|
|
48
|
+
| Fields discovery | YES | NO | YES |
|
|
49
|
+
| User lookup by name/email | YES | YES | YES |
|
|
50
|
+
| Issue type metadata | YES | YES | NO |
|
|
51
|
+
| Version/release management | YES | NO | YES |
|
|
52
|
+
| Epic linking | YES | NO | YES |
|
|
53
|
+
|
|
54
|
+
### Bitbucket
|
|
55
|
+
|
|
56
|
+
| Feature | Ours | Official Atlassian | sooperset |
|
|
57
|
+
|---|:---:|:---:|:---:|
|
|
58
|
+
| **Full Bitbucket support (16 tools)** | **YES** | NO | NO |
|
|
59
|
+
|
|
60
|
+
### Key Differentiators
|
|
61
|
+
|
|
62
|
+
- **Only MCP server covering all 3 Atlassian products** — Confluence + Jira + Bitbucket
|
|
63
|
+
- **Deepest CRUD coverage** — update/delete on comments, worklogs, labels where competitors only do create/read
|
|
64
|
+
- **Smart Field Handling** — AI-driven field suggestions during Jira transitions, unique to this server
|
|
65
|
+
- **Image embedding** — Confluence image embedding with positioning control, unique to this server
|
|
66
|
+
- **84 total tools** vs ~45 (Official) and ~58 (sooperset)
|
|
7
67
|
|
|
8
68
|
## Features
|
|
9
69
|
|
|
10
|
-
### Confluence Integration (
|
|
70
|
+
### Confluence Integration (20 tools)
|
|
11
71
|
- Search pages by text query
|
|
12
|
-
- Get
|
|
13
|
-
- Create and update pages with content
|
|
72
|
+
- Get, create, update, and delete pages
|
|
14
73
|
- List spaces and pages within spaces
|
|
74
|
+
- **Child Pages**: Get child pages of a parent page
|
|
75
|
+
- **Page History**: View version history of a page
|
|
15
76
|
- **Attachments**: Add, list, and delete attachments
|
|
16
77
|
- **Comments**: Full CRUD operations on page comments
|
|
17
|
-
- **
|
|
78
|
+
- **Labels**: Get, add, and remove labels on pages
|
|
79
|
+
- **Images**: Embed images in page content with positioning control
|
|
18
80
|
- Full support for Confluence storage format
|
|
19
81
|
|
|
20
|
-
### Jira Integration (
|
|
21
|
-
- Search issues by text or JQL query
|
|
22
|
-
- Get
|
|
23
|
-
- Create and update issues with customizable fields
|
|
82
|
+
### Jira Integration (48 tools)
|
|
83
|
+
- Search issues by text, filters, or JQL query
|
|
84
|
+
- Get, create, update, and delete issues
|
|
24
85
|
- **Comments**: Full CRUD operations on issue comments
|
|
25
86
|
- **Transitions**: Move issues between statuses with **Smart Field Handling**
|
|
26
87
|
- **Attachments**: Add, list, and delete attachments
|
|
27
88
|
- **Issue Links**: Create and manage links between issues
|
|
28
|
-
- **Worklogs**:
|
|
89
|
+
- **Worklogs**: Full CRUD for time tracking entries
|
|
29
90
|
- **Watchers**: Manage issue watchers
|
|
30
91
|
- **Subtasks**: Create and list subtasks
|
|
31
92
|
- **History**: View issue change history
|
|
32
|
-
-
|
|
93
|
+
- **Labels**: Get, add, and remove labels on issues
|
|
94
|
+
- **Fields**: Discover available standard and custom fields
|
|
95
|
+
- **Agile**: List boards, get board issues, manage sprints
|
|
96
|
+
- **Sprints**: Create, update, list sprint issues
|
|
97
|
+
- **Versions**: Get, create, and update project versions/releases
|
|
98
|
+
- **Batch Operations**: Bulk create up to 50 issues at once
|
|
99
|
+
- **Dev Status**: View linked PRs, branches, and commits
|
|
100
|
+
- **User Lookup**: Search users by name or email
|
|
101
|
+
- **Issue Types**: Get available issue types per project
|
|
102
|
+
- **Epic Linking**: Link issues to epics (next-gen + classic)
|
|
103
|
+
- List projects
|
|
33
104
|
|
|
34
105
|
#### Smart Field Handling
|
|
35
106
|
Advanced transition management with intelligent field suggestions:
|
|
@@ -38,12 +109,12 @@ Advanced transition management with intelligent field suggestions:
|
|
|
38
109
|
- **Auto-Suggestions**: Provides context-aware suggestions with reasoning
|
|
39
110
|
- **Enhanced Error Handling**: Returns detailed field information instead of cryptic errors
|
|
40
111
|
|
|
41
|
-
### Bitbucket Integration (
|
|
112
|
+
### Bitbucket Integration (16 tools)
|
|
42
113
|
- List and search repositories
|
|
43
|
-
- Get repository details
|
|
44
|
-
- Create new repositories
|
|
114
|
+
- Get repository details and create new repositories
|
|
45
115
|
- Manage branches and commits
|
|
46
116
|
- **Pull Requests**: Create, list, and get PR details with diffs
|
|
117
|
+
- **PR Comments**: Full CRUD with resolve/unresolve support
|
|
47
118
|
- Issue tracking within repositories
|
|
48
119
|
|
|
49
120
|
## Installation
|
|
@@ -121,7 +192,7 @@ ATLASSIAN_API_TOKEN=your-api-token
|
|
|
121
192
|
4. Copy the token to your `.env` file
|
|
122
193
|
|
|
123
194
|
#### Bitbucket API Token
|
|
124
|
-
1. Go to your Bitbucket settings
|
|
195
|
+
1. Go to your Bitbucket settings > Personal access tokens
|
|
125
196
|
2. Create a new API token with required scopes:
|
|
126
197
|
- Repositories: Read, Write
|
|
127
198
|
- Issues: Read, Write
|
|
@@ -216,34 +287,45 @@ Add the following to your Claude Desktop configuration file:
|
|
|
216
287
|
|
|
217
288
|
## Available Tools
|
|
218
289
|
|
|
219
|
-
### Confluence Tools (
|
|
290
|
+
### Confluence Tools (20 tools)
|
|
220
291
|
|
|
221
292
|
| Tool | Description |
|
|
222
293
|
|------|-------------|
|
|
223
294
|
| `confluence_search_pages` | Search pages by text query |
|
|
224
295
|
| `confluence_get_page` | Get specific page by ID |
|
|
225
|
-
| `confluence_create_page` | Create new page with content |
|
|
296
|
+
| `confluence_create_page` | Create new page with content and optional inline images |
|
|
226
297
|
| `confluence_update_page` | Update existing page |
|
|
298
|
+
| `confluence_delete_page` | Delete a page |
|
|
227
299
|
| `confluence_get_spaces` | List all spaces |
|
|
228
300
|
| `confluence_get_pages_by_space` | Get pages from specific space |
|
|
301
|
+
| `confluence_get_page_children` | Get child pages of a parent page |
|
|
302
|
+
| `confluence_get_page_history` | Get page version history |
|
|
229
303
|
| `confluence_get_attachments` | List attachments on a page |
|
|
230
304
|
| `confluence_add_attachment` | Add attachment to a page |
|
|
231
305
|
| `confluence_delete_attachment` | Delete attachment from a page |
|
|
232
|
-
| `confluence_embed_image` | Embed image in page content |
|
|
306
|
+
| `confluence_embed_image` | Embed image in page content with positioning |
|
|
233
307
|
| `confluence_get_comments` | Get comments on a page |
|
|
234
308
|
| `confluence_add_comment` | Add comment to a page |
|
|
235
309
|
| `confluence_update_comment` | Update existing comment |
|
|
236
310
|
| `confluence_delete_comment` | Delete comment from a page |
|
|
311
|
+
| `confluence_get_labels` | Get labels on a page |
|
|
312
|
+
| `confluence_add_labels` | Add labels to a page |
|
|
313
|
+
| `confluence_remove_label` | Remove a label from a page |
|
|
237
314
|
|
|
238
|
-
### Jira Tools (
|
|
315
|
+
### Jira Tools (48 tools)
|
|
239
316
|
|
|
240
317
|
| Tool | Description |
|
|
241
318
|
|------|-------------|
|
|
242
|
-
|
|
|
319
|
+
| **Core** | |
|
|
320
|
+
| `jira_search_issues` | Search issues by text, filters, or JQL |
|
|
243
321
|
| `jira_get_issue` | Get specific issue by key |
|
|
244
|
-
| `jira_create_issue` | Create new issue |
|
|
322
|
+
| `jira_create_issue` | Create new issue with custom fields |
|
|
245
323
|
| `jira_update_issue` | Update existing issue |
|
|
324
|
+
| `jira_delete_issue` | Delete issue with optional subtask deletion |
|
|
246
325
|
| `jira_get_projects` | List all projects |
|
|
326
|
+
| `jira_get_issue_types` | Get available issue types for a project |
|
|
327
|
+
| `jira_get_fields` | Discover available standard and custom fields |
|
|
328
|
+
| `jira_lookup_user` | Look up users by name or email |
|
|
247
329
|
| **Comments** | |
|
|
248
330
|
| `jira_add_comment` | Add comment to issue |
|
|
249
331
|
| `jira_get_comments` | Get comments on an issue |
|
|
@@ -251,7 +333,7 @@ Add the following to your Claude Desktop configuration file:
|
|
|
251
333
|
| `jira_delete_comment` | Delete comment from issue |
|
|
252
334
|
| **Transitions** | |
|
|
253
335
|
| `jira_get_issue_transitions` | Get available transitions |
|
|
254
|
-
| `jira_transition_issue` | Change issue status
|
|
336
|
+
| `jira_transition_issue` | Change issue status |
|
|
255
337
|
| `jira_transition_issue_interactive` | Change status with smart field handling |
|
|
256
338
|
| **Attachments** | |
|
|
257
339
|
| `jira_get_attachments` | List attachments on an issue |
|
|
@@ -271,12 +353,33 @@ Add the following to your Claude Desktop configuration file:
|
|
|
271
353
|
| `jira_get_watchers` | Get issue watchers |
|
|
272
354
|
| `jira_add_watcher` | Add watcher to issue |
|
|
273
355
|
| `jira_remove_watcher` | Remove watcher from issue |
|
|
274
|
-
| **Subtasks
|
|
356
|
+
| **Subtasks** | |
|
|
275
357
|
| `jira_get_subtasks` | Get subtasks of an issue |
|
|
276
358
|
| `jira_create_subtask` | Create subtask for an issue |
|
|
359
|
+
| **Labels** | |
|
|
360
|
+
| `jira_get_labels` | Get available labels |
|
|
361
|
+
| `jira_add_labels` | Add labels to an issue |
|
|
362
|
+
| `jira_remove_labels` | Remove labels from an issue |
|
|
363
|
+
| **History** | |
|
|
277
364
|
| `jira_get_issue_history` | Get issue change history |
|
|
278
|
-
|
|
279
|
-
|
|
365
|
+
| **Agile / Sprints** | |
|
|
366
|
+
| `jira_get_agile_boards` | List agile boards with optional filters |
|
|
367
|
+
| `jira_get_board_issues` | Get issues on a board |
|
|
368
|
+
| `jira_get_sprints` | Get sprints for a board |
|
|
369
|
+
| `jira_get_sprint_issues` | Get issues in a sprint |
|
|
370
|
+
| `jira_create_sprint` | Create a new sprint |
|
|
371
|
+
| `jira_update_sprint` | Update sprint (name, state, dates, goal) |
|
|
372
|
+
| **Versions / Releases** | |
|
|
373
|
+
| `jira_get_project_versions` | Get all versions for a project |
|
|
374
|
+
| `jira_create_version` | Create a new version/release |
|
|
375
|
+
| `jira_update_version` | Update version (release, archive, dates) |
|
|
376
|
+
| **Batch & Dev** | |
|
|
377
|
+
| `jira_batch_create_issues` | Bulk create up to 50 issues |
|
|
378
|
+
| `jira_get_dev_status` | Get linked PRs, branches, commits |
|
|
379
|
+
| **Epic** | |
|
|
380
|
+
| `jira_link_to_epic` | Link an issue to an epic |
|
|
381
|
+
|
|
382
|
+
### Bitbucket Tools (16 tools)
|
|
280
383
|
|
|
281
384
|
| Tool | Description |
|
|
282
385
|
|------|-------------|
|
|
@@ -290,6 +393,12 @@ Add the following to your Claude Desktop configuration file:
|
|
|
290
393
|
| `bitbucket_get_commits` | List commits |
|
|
291
394
|
| `bitbucket_get_issues` | List repository issues |
|
|
292
395
|
| `bitbucket_create_issue` | Create new issue |
|
|
396
|
+
| `bitbucket_get_pr_comments` | Get PR comments |
|
|
397
|
+
| `bitbucket_add_pr_comment` | Add comment to a PR |
|
|
398
|
+
| `bitbucket_update_pr_comment` | Update PR comment |
|
|
399
|
+
| `bitbucket_delete_pr_comment` | Delete PR comment |
|
|
400
|
+
| `bitbucket_resolve_pr_comment` | Resolve a PR comment |
|
|
401
|
+
| `bitbucket_unresolve_pr_comment` | Unresolve a PR comment |
|
|
293
402
|
|
|
294
403
|
## Example Usage with AI Assistant
|
|
295
404
|
|
|
@@ -308,6 +417,12 @@ AI: Uses jira_transition_issue_interactive which automatically:
|
|
|
308
417
|
|
|
309
418
|
User: "What pull requests are open in my main repository?"
|
|
310
419
|
AI: Uses bitbucket_get_pull_requests with your repository name
|
|
420
|
+
|
|
421
|
+
User: "Create 10 issues for the sprint backlog"
|
|
422
|
+
AI: Uses jira_batch_create_issues to create all at once
|
|
423
|
+
|
|
424
|
+
User: "Show me the active sprint and its issues"
|
|
425
|
+
AI: Uses jira_get_sprints then jira_get_sprint_issues
|
|
311
426
|
```
|
|
312
427
|
|
|
313
428
|
### Smart Field Handling Examples
|
|
@@ -329,16 +444,29 @@ Smart Suggestion: DB Script = "Yes" (New features typically need database change
|
|
|
329
444
|
### Project Structure
|
|
330
445
|
```
|
|
331
446
|
src/
|
|
332
|
-
├── index.ts
|
|
333
|
-
├── types.ts
|
|
334
|
-
├── config.ts
|
|
335
|
-
├──
|
|
336
|
-
├──
|
|
337
|
-
├──
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
447
|
+
├── index.ts # Main MCP server & tool routing
|
|
448
|
+
├── types.ts # TypeScript interfaces
|
|
449
|
+
├── config.ts # Configuration management
|
|
450
|
+
├── constants.ts # Application-wide constants
|
|
451
|
+
├── error-handler.ts # Structured error handling
|
|
452
|
+
├── clients/
|
|
453
|
+
│ ├── base-client.ts # Base HTTP client
|
|
454
|
+
│ ├── confluence-client.ts
|
|
455
|
+
│ ├── jira-client.ts
|
|
456
|
+
│ └── bitbucket-client.ts
|
|
457
|
+
├── services/
|
|
458
|
+
│ ├── confluence.ts # Confluence API service
|
|
459
|
+
│ ├── jira.ts # Jira API service (with smart field handling)
|
|
460
|
+
│ └── bitbucket.ts # Bitbucket API service
|
|
461
|
+
├── tools/
|
|
462
|
+
│ ├── index.ts # Tool aggregation
|
|
463
|
+
│ ├── confluence-tools.ts # Confluence tool definitions
|
|
464
|
+
│ ├── jira-tools.ts # Jira tool definitions
|
|
465
|
+
│ └── bitbucket-tools.ts # Bitbucket tool definitions
|
|
466
|
+
└── handlers/
|
|
467
|
+
├── confluence-handlers.ts
|
|
468
|
+
├── jira-handlers.ts
|
|
469
|
+
└── bitbucket-handlers.ts
|
|
342
470
|
```
|
|
343
471
|
|
|
344
472
|
### Building and Testing
|
|
@@ -369,6 +497,7 @@ The server includes comprehensive error handling:
|
|
|
369
497
|
- Network connectivity issues
|
|
370
498
|
- Invalid parameters
|
|
371
499
|
- Resource not found errors
|
|
500
|
+
- Actionable tips for common issues
|
|
372
501
|
|
|
373
502
|
## Rate Limiting
|
|
374
503
|
|
|
@@ -393,4 +522,4 @@ MIT License - see LICENSE file for details
|
|
|
393
522
|
|
|
394
523
|
- **npm package**: [@jagadeesh52423/atlassian-mcp-server](https://www.npmjs.com/package/@jagadeesh52423/atlassian-mcp-server)
|
|
395
524
|
- **Issues & Feature Requests**: [GitHub Issues](https://github.com/jagadeeshpulamarasetti/atlassian-mcp-server/issues)
|
|
396
|
-
- **Source Code**: [GitHub Repository](https://github.com/jagadeeshpulamarasetti/atlassian-mcp-server)
|
|
525
|
+
- **Source Code**: [GitHub Repository](https://github.com/jagadeeshpulamarasetti/atlassian-mcp-server)
|
|
@@ -3,11 +3,24 @@
|
|
|
3
3
|
* Handles conversion between plain text/markdown and ADF format used by Jira API v3
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* Extracts plain text from ADF (Atlassian Document Format) body
|
|
6
|
+
* Extracts plain text from ADF (Atlassian Document Format) body.
|
|
7
|
+
* Follows sooperset's recursive '\n'-joining approach.
|
|
7
8
|
*/
|
|
8
9
|
export declare function extractTextFromADF(body: any): string;
|
|
9
10
|
/**
|
|
10
|
-
* Formats wiki markup to cleaner text
|
|
11
|
+
* Formats wiki markup to cleaner markdown text.
|
|
12
|
+
*
|
|
13
|
+
* Handles (in order):
|
|
14
|
+
* - {code} / {noformat} blocks → fenced code (extracted as placeholders first
|
|
15
|
+
* so their contents are never touched by later transforms)
|
|
16
|
+
* - Wiki tables ||h|| → markdown tables (pre-pass)
|
|
17
|
+
* - {quote} → > blockquote
|
|
18
|
+
* - {note}/{warning}/{info}/{tip}→ labelled blockquote
|
|
19
|
+
* - [text|url] / [~user] / [url] → markdown links / @mention / bare URL
|
|
20
|
+
* - \\ → newline
|
|
21
|
+
* - # item / ## item → 1. / nested ordered list (wiki list syntax)
|
|
22
|
+
* - h1. … h6. → # … ###### (must come AFTER list conversion)
|
|
23
|
+
* - ---- / {panel} / {color} / checkboxes (existing)
|
|
11
24
|
*/
|
|
12
25
|
export declare function formatWikiMarkup(text: string): string;
|
|
13
26
|
/**
|
|
@@ -22,4 +35,19 @@ export declare function parseDescriptionToADF(description: string): any;
|
|
|
22
35
|
* Convert description to wiki markup text format
|
|
23
36
|
*/
|
|
24
37
|
export declare function parseDescriptionToWikiMarkup(description: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Converts LLM-produced markdown to Confluence storage format (XHTML).
|
|
40
|
+
* If the input already looks like storage format it is returned unchanged.
|
|
41
|
+
*
|
|
42
|
+
* Supported elements:
|
|
43
|
+
* - ATX headings (#–######)
|
|
44
|
+
* - Fenced code blocks (``` lang … ```) → ac:structured-macro "code"
|
|
45
|
+
* - Blockquotes (> …)
|
|
46
|
+
* - Unordered lists (- / * / +)
|
|
47
|
+
* - Ordered lists (1. …)
|
|
48
|
+
* - Markdown tables
|
|
49
|
+
* - Horizontal rules (---, ***, ___)
|
|
50
|
+
* - Inline: **bold**, *italic*, ~~strike~~, `code`, [text](url)
|
|
51
|
+
*/
|
|
52
|
+
export declare function markdownToConfluenceStorage(markdown: string): string;
|
|
25
53
|
//# sourceMappingURL=adf-formatter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adf-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/adf-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"adf-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/adf-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmHH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAKpD;AAqDD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqErD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,CAoHzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAsT9D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA6HxE;AA0DD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2HpE"}
|