@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.
Files changed (2) hide show
  1. package/README.md +105 -35
  2. 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. Disable with
128
- `"markAIText": false` in the config file or `ATLASSIAN_MCP_MARK_AI_TEXT=false`.
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. Connect to your AI tool
178
+ ### 2. Install
175
179
 
176
- No cloning or building required — just point your tool at `npx @stubbedev/atlassian-mcp@latest` and it will install and run automatically.
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 below when you want to refresh.
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stubbedev/atlassian-mcp",
3
- "version": "0.5.23",
3
+ "version": "0.5.25",
4
4
  "description": "MCP server for self-hosted Jira and Bitbucket (Go, distributed as a prebuilt binary)",
5
5
  "license": "MIT",
6
6
  "type": "module",