@thammarongg/jira-mcp 0.5.0 → 0.5.1
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 +13 -13
- package/dist/agents.js +8 -3
- package/dist/install.js +3 -3
- package/dist/uninstall.js +3 -3
- package/dist/update.js +2 -2
- package/package.json +1 -1
- package/skill/SKILL.md +10 -10
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ Once published to npm, any MCP client can run it via `npx` — no local build ne
|
|
|
11
11
|
### Interactive installer (all agents at once)
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
npx -y @thammarongg/jira-mcp install
|
|
14
|
+
npx -y @thammarongg/jira-mcp@latest install
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
Shows a menu — Select All or pick agents (Claude Code, OpenCode, Codex, Cursor,
|
|
@@ -29,12 +29,12 @@ Non-interactive (CI / scripting):
|
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
31
|
# Jira Cloud
|
|
32
|
-
npx -y @thammarongg/jira-mcp install --agents all \
|
|
32
|
+
npx -y @thammarongg/jira-mcp@latest install --agents all \
|
|
33
33
|
--base-url https://your-org.atlassian.net \
|
|
34
34
|
--email you@example.com --token xxx --yes
|
|
35
35
|
|
|
36
36
|
# Jira Data Center (subset of agents)
|
|
37
|
-
npx -y @thammarongg/jira-mcp install --agents claude-code,codex \
|
|
37
|
+
npx -y @thammarongg/jira-mcp@latest install --agents claude-code,codex \
|
|
38
38
|
--base-url https://jira.yourcompany.com \
|
|
39
39
|
--username you --token xxx --yes
|
|
40
40
|
```
|
|
@@ -47,12 +47,12 @@ Flags: `--agents all` or comma-separated ids/numbers (`claude-code`,
|
|
|
47
47
|
### CLI commands
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
npx -y @thammarongg/jira-mcp update # refresh configured agents
|
|
51
|
-
npx -y @thammarongg/jira-mcp update --agents codex
|
|
52
|
-
npx -y @thammarongg/jira-mcp uninstall # choose configured agents interactively
|
|
53
|
-
npx -y @thammarongg/jira-mcp uninstall --agents all --yes
|
|
54
|
-
npx -y @thammarongg/jira-mcp --version
|
|
55
|
-
npx -y @thammarongg/jira-mcp --help
|
|
50
|
+
npx -y @thammarongg/jira-mcp@latest update # refresh configured agents
|
|
51
|
+
npx -y @thammarongg/jira-mcp@latest update --agents codex
|
|
52
|
+
npx -y @thammarongg/jira-mcp@latest uninstall # choose configured agents interactively
|
|
53
|
+
npx -y @thammarongg/jira-mcp@latest uninstall --agents all --yes
|
|
54
|
+
npx -y @thammarongg/jira-mcp@latest --version
|
|
55
|
+
npx -y @thammarongg/jira-mcp@latest --help
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
`update` is non-interactive and repairs every existing `jira` entry from that
|
|
@@ -61,7 +61,7 @@ removes only the `jira` entry, preserving the rest of each agent configuration;
|
|
|
61
61
|
it accepts the same `--agents` selection grammar as `install` and asks for
|
|
62
62
|
confirmation unless `--yes` is supplied.
|
|
63
63
|
|
|
64
|
-
Running `npx -y @thammarongg/jira-mcp` bare in a terminal prints a status card
|
|
64
|
+
Running `npx -y @thammarongg/jira-mcp@latest` bare in a terminal prints a status card
|
|
65
65
|
with the installed version, configured agents, and available commands. MCP
|
|
66
66
|
clients pipe stdio, so the same bare command starts the MCP server for them;
|
|
67
67
|
it expects `JIRA_*` environment variables, which is why running it bare
|
|
@@ -72,7 +72,7 @@ without those variables reports a missing `JIRA_BASE_URL`.
|
|
|
72
72
|
```bash
|
|
73
73
|
claude mcp add jira --env JIRA_BASE_URL=https://your-org.atlassian.net \
|
|
74
74
|
--env JIRA_EMAIL=you@example.com --env JIRA_API_TOKEN=xxx \
|
|
75
|
-
-- npx -y @thammarongg/jira-mcp
|
|
75
|
+
-- npx -y @thammarongg/jira-mcp@latest
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
```json
|
|
@@ -81,7 +81,7 @@ claude mcp add jira --env JIRA_BASE_URL=https://your-org.atlassian.net \
|
|
|
81
81
|
"mcpServers": {
|
|
82
82
|
"jira": {
|
|
83
83
|
"command": "npx",
|
|
84
|
-
"args": ["-y", "@thammarongg/jira-mcp"],
|
|
84
|
+
"args": ["-y", "@thammarongg/jira-mcp@latest"],
|
|
85
85
|
"env": {
|
|
86
86
|
"JIRA_BASE_URL": "https://your-org.atlassian.net",
|
|
87
87
|
"JIRA_EMAIL": "you@example.com",
|
|
@@ -98,7 +98,7 @@ claude mcp add jira --env JIRA_BASE_URL=https://your-org.atlassian.net \
|
|
|
98
98
|
"mcp": {
|
|
99
99
|
"jira": {
|
|
100
100
|
"type": "local",
|
|
101
|
-
"command": ["npx", "-y", "@thammarongg/jira-mcp"],
|
|
101
|
+
"command": ["npx", "-y", "@thammarongg/jira-mcp@latest"],
|
|
102
102
|
"environment": {
|
|
103
103
|
"JIRA_BASE_URL": "https://your-org.atlassian.net",
|
|
104
104
|
"JIRA_EMAIL": "you@example.com",
|
package/dist/agents.js
CHANGED
|
@@ -22,6 +22,11 @@ export function readPackageVersion() {
|
|
|
22
22
|
return typeof version === "string" && version.length > 0 ? version : "0.0.0";
|
|
23
23
|
}
|
|
24
24
|
export const PKG = readPackageName();
|
|
25
|
+
// An unversioned npx package spec resolves the current project when the MCP
|
|
26
|
+
// client starts in this repository, but this package's own bin is not linked
|
|
27
|
+
// into node_modules/.bin. The explicit dist-tag forces npx to resolve the
|
|
28
|
+
// published package in every working directory.
|
|
29
|
+
export const PKG_SPEC = `${PKG}@latest`;
|
|
25
30
|
export const PACKAGE_VERSION = readPackageVersion();
|
|
26
31
|
export const claudeDesktopPath = platform() === "darwin"
|
|
27
32
|
? join(homedir(), "Library", "Application Support", "Claude", "claude_desktop_config.json")
|
|
@@ -296,7 +301,7 @@ function upsertCodex(path, env) {
|
|
|
296
301
|
const block = [
|
|
297
302
|
"[mcp_servers.jira]",
|
|
298
303
|
'command = "npx"',
|
|
299
|
-
`args = ["-y", ${tomlStr(
|
|
304
|
+
`args = ["-y", ${tomlStr(PKG_SPEC)}]`,
|
|
300
305
|
`env = { ${Object.entries(env)
|
|
301
306
|
.map(([key, value]) => `${key} = ${tomlStr(value)}`)
|
|
302
307
|
.join(", ")} }`,
|
|
@@ -358,7 +363,7 @@ export function writeAgentConfig(agent, env) {
|
|
|
358
363
|
reportEnvChanges(envOf(mcp.jira), env, agent.path);
|
|
359
364
|
mcp.jira = {
|
|
360
365
|
type: "local",
|
|
361
|
-
command: ["npx", "-y",
|
|
366
|
+
command: ["npx", "-y", PKG_SPEC],
|
|
362
367
|
environment: env,
|
|
363
368
|
enabled: true,
|
|
364
369
|
};
|
|
@@ -367,7 +372,7 @@ export function writeAgentConfig(agent, env) {
|
|
|
367
372
|
return mergeJsonFile(agent.path, (object) => {
|
|
368
373
|
const mcpServers = (object.mcpServers ??= {});
|
|
369
374
|
reportEnvChanges(envOf(mcpServers.jira), env, agent.path);
|
|
370
|
-
mcpServers.jira = { command: "npx", args: ["-y",
|
|
375
|
+
mcpServers.jira = { command: "npx", args: ["-y", PKG_SPEC], env };
|
|
371
376
|
});
|
|
372
377
|
}
|
|
373
378
|
function removeJsonEntry(agent) {
|
package/dist/install.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AGENTS,
|
|
1
|
+
import { AGENTS, PKG_SPEC, readAgentEnv, resolveAgents, writeAgentConfig } from "./agents.js";
|
|
2
2
|
import { askPassword, makePrompter } from "./prompt.js";
|
|
3
3
|
function parseFlags(argv) {
|
|
4
4
|
const flags = {};
|
|
@@ -69,8 +69,8 @@ function printUsage() {
|
|
|
69
69
|
console.log(`jira-mcp install — configure the jira MCP server in your agent(s)
|
|
70
70
|
|
|
71
71
|
Usage:
|
|
72
|
-
npx -y ${
|
|
73
|
-
npx -y ${
|
|
72
|
+
npx -y ${PKG_SPEC} install
|
|
73
|
+
npx -y ${PKG_SPEC} install --agents all --base-url https://x.atlassian.net --email you@x.com --token xxx --yes
|
|
74
74
|
|
|
75
75
|
Options:
|
|
76
76
|
--agents <list> Comma-separated agent ids or 'all': ${AGENTS.map((a) => a.id).join(", ")}
|
package/dist/uninstall.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AGENTS, hasAgentEntry, removeAgentConfig, resolveAgents } from "./agents.js";
|
|
1
|
+
import { AGENTS, PKG_SPEC, hasAgentEntry, removeAgentConfig, resolveAgents } from "./agents.js";
|
|
2
2
|
import { makePrompter } from "./prompt.js";
|
|
3
3
|
function parseFlags(argv) {
|
|
4
4
|
const flags = {};
|
|
@@ -26,8 +26,8 @@ function printUsage() {
|
|
|
26
26
|
console.log(`jira-mcp uninstall — remove jira MCP entries
|
|
27
27
|
|
|
28
28
|
Usage:
|
|
29
|
-
npx -y
|
|
30
|
-
npx -y
|
|
29
|
+
npx -y ${PKG_SPEC} uninstall
|
|
30
|
+
npx -y ${PKG_SPEC} uninstall --agents all --yes
|
|
31
31
|
|
|
32
32
|
Options:
|
|
33
33
|
--agents <list> Comma-separated agent ids or 'all'
|
package/dist/update.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AGENTS, hasAgentEntry, readAgentEnv, resolveAgents, writeAgentConfig } from "./agents.js";
|
|
1
|
+
import { AGENTS, PKG_SPEC, hasAgentEntry, readAgentEnv, resolveAgents, writeAgentConfig } from "./agents.js";
|
|
2
2
|
function parseFlags(argv) {
|
|
3
3
|
const flags = {};
|
|
4
4
|
for (let i = 0; i < argv.length; i++) {
|
|
@@ -25,7 +25,7 @@ function printUsage() {
|
|
|
25
25
|
console.log(`jira-mcp update — refresh existing jira MCP entries
|
|
26
26
|
|
|
27
27
|
Usage:
|
|
28
|
-
npx -y
|
|
28
|
+
npx -y ${PKG_SPEC} update [--agents <list>]
|
|
29
29
|
|
|
30
30
|
Options:
|
|
31
31
|
--agents <list> Comma-separated agent ids or 'all'
|
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -19,10 +19,10 @@ Code, OpenCode, Codex, Cursor, Claude Desktop, Gemini CLI; backs up existing
|
|
|
19
19
|
files to `.bak`):
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
npx -y @thammarongg/jira-mcp install
|
|
22
|
+
npx -y @thammarongg/jira-mcp@latest install
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
Or non-interactive: `npx -y @thammarongg/jira-mcp install --agents all
|
|
25
|
+
Or non-interactive: `npx -y @thammarongg/jira-mcp@latest install --agents all
|
|
26
26
|
--base-url https://your-org.atlassian.net --email you@example.com --token xxx
|
|
27
27
|
--yes`. Required env vars:
|
|
28
28
|
|
|
@@ -40,12 +40,12 @@ reuses those credentials without prompting.
|
|
|
40
40
|
The CLI also supports these maintenance commands:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
npx -y @thammarongg/jira-mcp update # refresh configured entries
|
|
44
|
-
npx -y @thammarongg/jira-mcp update --agents codex
|
|
45
|
-
npx -y @thammarongg/jira-mcp uninstall # choose entries to remove
|
|
46
|
-
npx -y @thammarongg/jira-mcp uninstall --agents all --yes
|
|
47
|
-
npx -y @thammarongg/jira-mcp --version
|
|
48
|
-
npx -y @thammarongg/jira-mcp --help
|
|
43
|
+
npx -y @thammarongg/jira-mcp@latest update # refresh configured entries
|
|
44
|
+
npx -y @thammarongg/jira-mcp@latest update --agents codex
|
|
45
|
+
npx -y @thammarongg/jira-mcp@latest uninstall # choose entries to remove
|
|
46
|
+
npx -y @thammarongg/jira-mcp@latest uninstall --agents all --yes
|
|
47
|
+
npx -y @thammarongg/jira-mcp@latest --version
|
|
48
|
+
npx -y @thammarongg/jira-mcp@latest --help
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
`update` is non-interactive and skips agents without a `jira` entry.
|
|
@@ -61,7 +61,7 @@ Claude Code one-liner:
|
|
|
61
61
|
```bash
|
|
62
62
|
claude mcp add jira --env JIRA_BASE_URL=https://your-org.atlassian.net \
|
|
63
63
|
--env JIRA_EMAIL=you@example.com --env JIRA_API_TOKEN=xxx \
|
|
64
|
-
-- npx -y @thammarongg/jira-mcp
|
|
64
|
+
-- npx -y @thammarongg/jira-mcp@latest
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
opencode (`opencode.json`):
|
|
@@ -71,7 +71,7 @@ opencode (`opencode.json`):
|
|
|
71
71
|
"mcp": {
|
|
72
72
|
"jira": {
|
|
73
73
|
"type": "local",
|
|
74
|
-
"command": ["npx", "-y", "@thammarongg/jira-mcp"],
|
|
74
|
+
"command": ["npx", "-y", "@thammarongg/jira-mcp@latest"],
|
|
75
75
|
"environment": {
|
|
76
76
|
"JIRA_BASE_URL": "https://your-org.atlassian.net",
|
|
77
77
|
"JIRA_EMAIL": "you@example.com",
|