@stubbedev/atlassian-mcp 0.5.23 → 0.5.25
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 +105 -35
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -124,8 +124,12 @@ cannot get them wrong, and they need no prompting:
|
|
|
124
124
|
(including worklog comments) and Bitbucket PR description / PR comment posted
|
|
125
125
|
through this server ends with a bold `[AI]` line, added after markdown→wiki
|
|
126
126
|
conversion so it never lands inside a code block, and skipped rather than
|
|
127
|
-
mangled when the text ends inside an open code fence.
|
|
128
|
-
|
|
127
|
+
mangled when the text ends inside an open code fence. A comment the user
|
|
128
|
+
explicitly asked the agent to post for them is left unmarked via
|
|
129
|
+
`commentUserAuthored=true` (`jira_mutate`) or `userAuthored=true`
|
|
130
|
+
(`bitbucket_comment`), so `[AI]` only flags text the agent wrote on its own.
|
|
131
|
+
Disable marking entirely with `"markAIText": false` in the config file or
|
|
132
|
+
`ATLASSIAN_MCP_MARK_AI_TEXT=false`.
|
|
129
133
|
|
|
130
134
|
## Setup
|
|
131
135
|
|
|
@@ -171,9 +175,95 @@ BITBUCKET_ACCESS_TOKEN=your-bitbucket-personal-access-token
|
|
|
171
175
|
|
|
172
176
|
Config is resolved in this order: `--config <path>` CLI arg → `ATLASSIAN_MCP_CONFIG` env var → `~/.atlassian-mcp.json` → `$XDG_CONFIG_HOME/atlassian-mcp/config.json` (default `~/.config/atlassian-mcp/config.json`) → `.atlassian-mcp.json` in cwd → environment variables. A leading `~` in the first two is expanded by the server, so a client that spawns it without a shell still resolves the path. Within a file, per-field: a value in the config file wins, environment variables fill the gaps.
|
|
173
177
|
|
|
174
|
-
### 2.
|
|
178
|
+
### 2. Install
|
|
175
179
|
|
|
176
|
-
|
|
180
|
+
Every option below runs the same single static Go binary — no `git`, `ffmpeg` or other
|
|
181
|
+
program needed on the machine. Pick whichever package manager you already have:
|
|
182
|
+
|
|
183
|
+
| Option | Install | Command for your MCP client |
|
|
184
|
+
|---|---|---|
|
|
185
|
+
| **npx** (Node 18+) | nothing — fetched on first run | `npx -y @stubbedev/atlassian-mcp@latest` |
|
|
186
|
+
| **npm global** (Node 18+) | `npm install -g @stubbedev/atlassian-mcp` | `atlassian-mcp` |
|
|
187
|
+
| **Composer** (PHP 8.1+) | `composer global require stubbedev/atlassian-mcp` | the native binary it downloads — see [Composer](#composer) |
|
|
188
|
+
| **Composer, per project** | `composer require --dev stubbedev/atlassian-mcp` | `vendor/stubbedev/atlassian-mcp/bin/atlassian-mcp-native` |
|
|
189
|
+
| **Claude Desktop bundle** | double-click the `.mcpb` from the [latest release](https://github.com/stubbedev/atlassian-mcp/releases/latest) | — (see [Claude Desktop](#claude-desktop)) |
|
|
190
|
+
| **Prebuilt binary** | download `atlassian-mcp_<os>_<arch>` from the [latest release](https://github.com/stubbedev/atlassian-mcp/releases/latest) | path to that file |
|
|
191
|
+
| **Go** | `go install -tags nodynamic github.com/stubbedev/atlassian-mcp@latest` | `atlassian-mcp` (in `$GOBIN`) |
|
|
192
|
+
| **Nix** | `nix profile install github:stubbedev/atlassian-mcp` | `atlassian-mcp` |
|
|
193
|
+
|
|
194
|
+
The client examples in [step 3](#3-connect-to-your-ai-tool) use `npx`. With any other
|
|
195
|
+
option, replace `npx -y @stubbedev/atlassian-mcp@latest` (or `"command": "npx"` plus its
|
|
196
|
+
`args`) with that option's command. MCP clients often start servers without your shell's
|
|
197
|
+
`PATH`, so an absolute path is the safest choice (`which atlassian-mcp`).
|
|
198
|
+
|
|
199
|
+
#### npm / npx
|
|
200
|
+
|
|
201
|
+
`npx` downloads the package and the prebuilt binary for your platform on first run, so
|
|
202
|
+
there is nothing to install up front. `npm install -g` does the same once and puts
|
|
203
|
+
`atlassian-mcp` on your `PATH`.
|
|
204
|
+
|
|
205
|
+
#### Composer
|
|
206
|
+
|
|
207
|
+
The Composer package `stubbedev/atlassian-mcp` is for PHP projects, or machines with PHP
|
|
208
|
+
but no Node. It is a Composer plugin: on `composer install` / `update` it downloads the
|
|
209
|
+
prebuilt binary for your OS and architecture (the same 14 targets as npm), from the release
|
|
210
|
+
matching the installed version, so a pinned version pins the binary. Your MCP client then
|
|
211
|
+
runs that native binary directly, and PHP is never in the request path:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
composer require --dev stubbedev/atlassian-mcp # per project
|
|
215
|
+
composer global require stubbedev/atlassian-mcp # per user
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Composer asks once whether to trust the plugin. For non-interactive installs (CI,
|
|
219
|
+
provisioning), allow it up front:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
composer config allow-plugins.stubbedev/atlassian-mcp true # per project
|
|
223
|
+
composer global config allow-plugins.stubbedev/atlassian-mcp true # per user
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
The install prints the binary's path. Point your client at it:
|
|
227
|
+
|
|
228
|
+
| Install | Native binary (no PHP at runtime) | PHP launcher |
|
|
229
|
+
|---|---|---|
|
|
230
|
+
| per project | `vendor/stubbedev/atlassian-mcp/bin/atlassian-mcp-native` | `vendor/bin/atlassian-mcp` |
|
|
231
|
+
| per user | `$(composer global config home)/vendor/stubbedev/atlassian-mcp/bin/atlassian-mcp-native` | `$(composer global config bin-dir --absolute)/atlassian-mcp` |
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
claude mcp add atlassian -- "$PWD/vendor/stubbedev/atlassian-mcp/bin/atlassian-mcp-native" --config ~/.atlassian-mcp.json
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
On Windows the binary is `atlassian-mcp-native.exe`. The PHP launcher works even if
|
|
238
|
+
you declined the plugin: it downloads the binary on its first run, then hands over to it.
|
|
239
|
+
Clients start the server from their own working directory, so use absolute paths. Set
|
|
240
|
+
`ATLASSIAN_MCP_SKIP_DOWNLOAD=1` to skip the install-time download.
|
|
241
|
+
|
|
242
|
+
#### Standalone binary (Go, Nix, release download)
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
go install -tags nodynamic github.com/stubbedev/atlassian-mcp@latest # → $GOBIN / $GOPATH/bin
|
|
246
|
+
nix run github:stubbedev/atlassian-mcp -- --config ~/.atlassian-mcp.json
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Or download `atlassian-mcp_<os>_<arch>` from the
|
|
250
|
+
[latest release](https://github.com/stubbedev/atlassian-mcp/releases/latest), then
|
|
251
|
+
`chmod +x` it (macOS/Linux/FreeBSD).
|
|
252
|
+
|
|
253
|
+
#### Updating
|
|
254
|
+
|
|
255
|
+
| Option | Update |
|
|
256
|
+
|---|---|
|
|
257
|
+
| npx | `npx clear-npx-cache`, then restart your MCP client |
|
|
258
|
+
| npm global | `npm update -g @stubbedev/atlassian-mcp` |
|
|
259
|
+
| Composer | `composer global update stubbedev/atlassian-mcp` (or `composer update stubbedev/atlassian-mcp` in the project) |
|
|
260
|
+
| Claude Desktop | install the newer `.mcpb` over the old one |
|
|
261
|
+
| Go / Nix / binary | re-run the install command or download the newer release |
|
|
262
|
+
|
|
263
|
+
### 3. Connect to your AI tool
|
|
264
|
+
|
|
265
|
+
The examples below use `npx`. If you installed another way, swap in that option's command
|
|
266
|
+
from the [table above](#2-install).
|
|
177
267
|
|
|
178
268
|
CLI-driven clients need one line:
|
|
179
269
|
|
|
@@ -181,12 +271,14 @@ CLI-driven clients need one line:
|
|
|
181
271
|
claude mcp add atlassian -- npx -y @stubbedev/atlassian-mcp@latest # Claude Code
|
|
182
272
|
codex mcp add atlassian -- npx -y @stubbedev/atlassian-mcp@latest # Codex CLI / IDE / app
|
|
183
273
|
code --add-mcp '{"name":"atlassian","command":"npx","args":["-y","@stubbedev/atlassian-mcp@latest"]}' # VS Code
|
|
274
|
+
|
|
275
|
+
claude mcp add atlassian -- atlassian-mcp # e.g. after npm -g / Composer / Go / Nix
|
|
184
276
|
```
|
|
185
277
|
|
|
186
278
|
Desktop apps: **Claude Desktop** installs a one-click [`.mcpb` bundle](#claude-desktop) —
|
|
187
279
|
no Node, no JSON. Everything else takes a config file; see below.
|
|
188
280
|
|
|
189
|
-
> Note: `--prefer-online` can break MCP startup in some clients. Keep the command simple and use the update steps
|
|
281
|
+
> Note: `--prefer-online` can break MCP startup in some clients. Keep the command simple and use the [update steps](#updating) when you want to refresh.
|
|
190
282
|
|
|
191
283
|
---
|
|
192
284
|
|
|
@@ -429,37 +521,8 @@ the right protocol, but making it work would mean exposing an endpoint that reac
|
|
|
429
521
|
self-hosted Jira/Bitbucket to OpenAI's servers, and ChatGPT offers no place for the static
|
|
430
522
|
bearer token this server uses. Use a client from the list above.
|
|
431
523
|
|
|
432
|
-
### Updating existing installs
|
|
433
|
-
|
|
434
|
-
If your MCP client is already configured and you want the newest package version:
|
|
435
|
-
|
|
436
|
-
```bash
|
|
437
|
-
npx clear-npx-cache
|
|
438
|
-
```
|
|
439
|
-
|
|
440
|
-
Then restart your MCP client.
|
|
441
|
-
|
|
442
524
|
---
|
|
443
525
|
|
|
444
|
-
### Install without npm
|
|
445
|
-
|
|
446
|
-
The server is a single static Go binary. The `npx` path above downloads the prebuilt
|
|
447
|
-
binary for your platform on first run; these alternatives skip Node entirely — as does the
|
|
448
|
-
[`.mcpb` bundle](#claude-desktop) for Claude Desktop, and the per-platform binaries
|
|
449
|
-
attached to every [release](https://github.com/stubbedev/atlassian-mcp/releases/latest):
|
|
450
|
-
|
|
451
|
-
```bash
|
|
452
|
-
# Go toolchain — installs to $GOBIN / $GOPATH/bin
|
|
453
|
-
go install -tags nodynamic github.com/stubbedev/atlassian-mcp@latest
|
|
454
|
-
|
|
455
|
-
# Nix flake
|
|
456
|
-
nix run github:stubbedev/atlassian-mcp -- --config ~/.atlassian-mcp.json
|
|
457
|
-
```
|
|
458
|
-
|
|
459
|
-
Then point your MCP client's `command` at the resulting `atlassian-mcp` binary
|
|
460
|
-
instead of `npx`. Every install path is the same single static binary: it needs no `git`,
|
|
461
|
-
`ffmpeg` or other program on the machine.
|
|
462
|
-
|
|
463
526
|
### Running as an HTTP server (shared / behind a proxy)
|
|
464
527
|
|
|
465
528
|
By default the server speaks MCP over **stdio** (one process per client, launched
|
|
@@ -650,7 +713,8 @@ the binary can be rebuilt against a modified copy.
|
|
|
650
713
|
|
|
651
714
|
## Releases (Maintainers)
|
|
652
715
|
|
|
653
|
-
This package is published to npm as `@stubbedev/atlassian-mcp
|
|
716
|
+
This package is published to npm as `@stubbedev/atlassian-mcp` and to Packagist as
|
|
717
|
+
`stubbedev/atlassian-mcp`.
|
|
654
718
|
|
|
655
719
|
Use semantic versioning for releases. Breaking tool-surface changes should bump the minor version while `<1.0.0` (for example `0.0.x` -> `0.1.0`).
|
|
656
720
|
|
|
@@ -681,6 +745,12 @@ Required npm setup (one-time):
|
|
|
681
745
|
|
|
682
746
|
- In npm package settings, add this GitHub repo/workflow as a Trusted Publisher
|
|
683
747
|
|
|
748
|
+
Packagist needs no workflow step: it reads `composer.json` straight from each pushed `v*`
|
|
749
|
+
tag (no `version` field — the tag is the version, and the launcher reads `package.json`
|
|
750
|
+
to pick the release binary). One-time setup: submit the repo at
|
|
751
|
+
<https://packagist.org/packages/submit> and keep the Packagist GitHub integration enabled
|
|
752
|
+
so new tags are picked up automatically.
|
|
753
|
+
|
|
684
754
|
---
|
|
685
755
|
|
|
686
756
|
## Creating Personal Access Tokens
|