dejared-mcp 1.0.1 → 1.1.0

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.
@@ -12,7 +12,7 @@
12
12
  "name": "dejared",
13
13
  "source": "./",
14
14
  "description": "Explore, analyze, and decompile Java JAR files with structured workflows.",
15
- "version": "1.0.1",
15
+ "version": "1.1.0",
16
16
  "author": {
17
17
  "name": "hqkh4nh"
18
18
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dejared",
3
3
  "description": "Explore, analyze, and decompile Java JAR files with structured workflows.",
4
- "version": "1.0.1",
4
+ "version": "1.1.0",
5
5
  "author": {
6
6
  "name": "hqkh4nh"
7
7
  },
package/README.md CHANGED
@@ -1,7 +1,8 @@
1
- [![npm version](https://img.shields.io/npm/v/dejared-mcp?style=flat-square)](https://www.npmjs.com/package/dejared-mcp)
2
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue?style=flat-square)](LICENSE)
3
- [![Node.js](https://img.shields.io/badge/Node.js-18%2B-339933?style=flat-square&logo=node.js&logoColor=white)]()
4
1
  [![Java](https://img.shields.io/badge/Java-17%2B-ED8B00?style=flat-square&logo=openjdk&logoColor=white)]()
2
+ [![Node.js](https://img.shields.io/badge/Node.js-20%2B-339933?style=flat-square&logo=node.js&logoColor=white)]()
3
+ [![npm version](https://img.shields.io/npm/v/dejared-mcp?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/dejared-mcp)
4
+ [![npm downloads](https://img.shields.io/npm/dt/dejared-mcp?style=flat-square&color=cb3837&label=downloads)](https://www.npmjs.com/package/dejared-mcp)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue?style=flat-square)](LICENSE)
5
6
 
6
7
  # dejared-mcp
7
8
 
@@ -10,6 +11,9 @@ Designed for AI-powered development tools, dejared-mcp connects your IDE or CLI
10
11
  to inspect package structures, search bytecode, and decompile classes
11
12
  using CFR, Vineflower, or Procyon.
12
13
 
14
+ [![Install in VS Code](https://img.shields.io/badge/Install_in-VS_Code-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect/mcp/install?name=dejared&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22dejared-mcp%22%5D%7D)
15
+ [![Add to Cursor](https://img.shields.io/badge/Add_to-Cursor-000000?style=for-the-badge&logo=cursor&logoColor=white)](cursor://anysphere.cursor-deeplink/mcp/install?name=dejared&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImRlamFyZWQtbWNwIl19)
16
+
13
17
  ## Table of Contents
14
18
 
15
19
  - [Overview](#overview)
@@ -34,13 +38,16 @@ and deep analysis. AI assistants use these tools to navigate JAR file
34
38
  structures, search for classes and string literals in bytecode, and
35
39
  decompile `.class` files back to readable Java source code.
36
40
 
41
+ Any ZIP-based Java archive works: `.jar`, `.war`, `.ear`, `.aar`, and
42
+ Spring Boot fat-jars.
43
+
37
44
  The npm package acts as a thin wrapper that downloads and caches the
38
45
  server JAR on first run, then spawns it via `java -jar` using stdio
39
46
  transport.
40
47
 
41
48
  ## Prerequisites
42
49
 
43
- - **Node.js** 18 or later
50
+ - **Node.js** 20 or later
44
51
  - **Java** 17 or later (JRE is sufficient)
45
52
 
46
53
  ## Quick Start
@@ -106,8 +113,7 @@ specified per request via the `dejared_decompile_class` tool.
106
113
 
107
114
  ## Installation and Configuration
108
115
 
109
- The standard configuration below works with most MCP-compatible tools.
110
- Expand the relevant section for tool-specific instructions.
116
+ Most clients accept this standard config:
111
117
 
112
118
  ```json
113
119
  {
@@ -120,183 +126,82 @@ Expand the relevant section for tool-specific instructions.
120
126
  }
121
127
  ```
122
128
 
123
- <details>
124
- <summary><strong>Amp</strong></summary>
125
-
126
- Add via the Amp VS Code extension settings screen or by updating your `settings.json` file:
127
-
128
- ```json
129
- "amp.mcpServers": {
130
- "dejared": {
131
- "command": "npx",
132
- "args": ["-y", "dejared-mcp"]
133
- }
134
- }
135
- ```
136
-
137
- **Amp CLI:**
129
+ If your tool has a CLI, one line is enough:
138
130
 
139
131
  ```bash
140
- amp mcp add dejared -- npx -y dejared-mcp
132
+ claude mcp add dejared -- npx -y dejared-mcp # Claude Code
133
+ codex mcp add dejared -- npx -y dejared-mcp # Codex
134
+ amp mcp add dejared -- npx -y dejared-mcp # Amp
135
+ gemini mcp add dejared npx -y dejared-mcp # Gemini CLI
141
136
  ```
142
137
 
143
- </details>
144
-
145
- <details>
146
- <summary><strong>Antigravity Editor</strong></summary>
147
-
148
- Edit `~/.gemini/antigravity/mcp_config.json`:
138
+ ### Where the config file lives
149
139
 
150
- ```json
151
- {
152
- "mcpServers": {
153
- "dejared": {
154
- "command": "npx",
155
- "args": ["-y", "dejared-mcp"]
156
- }
157
- }
158
- }
159
- ```
140
+ Drop the standard config into the file for your tool:
160
141
 
161
- Or install through the MCP Store if available.
142
+ | Tool | Location |
143
+ |------|----------|
144
+ | Claude Desktop | `%APPDATA%\Claude\claude_desktop_config.json` (Windows) · `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) |
145
+ | Claude Code | `.mcp.json` in the project root |
146
+ | Cursor | `.cursor/mcp.json` (project) · `~/.cursor/mcp.json` (global) |
147
+ | Windsurf | MCP servers panel in settings, or `mcpServers` in your settings file |
148
+ | Cline | MCP settings file, via the extension's MCP Servers panel |
149
+ | Antigravity Editor | `~/.gemini/antigravity/mcp_config.json` |
150
+ | Kiro | `.kiro/settings/mcp.json` |
151
+ | Copilot CLI | `~/.copilot/mcp-config.json`, or run `/mcp add` |
152
+ | Gemini CLI | `~/.gemini/settings.json` (global) · `.gemini/settings.json` (project) |
153
+ | Goose | Advanced settings → Extensions → Add custom extension, type `STDIO` |
154
+ | JetBrains IDEs | Settings → Tools → AI Assistant → Model Context Protocol (MCP) |
155
+ | Qodo Gen | Chat panel → Connect more tools → + Add new MCP |
162
156
 
163
- </details>
157
+ A few setups need more than the standard config — expand those below.
164
158
 
165
159
  <details>
166
- <summary><strong>Claude Code</strong></summary>
160
+ <summary><strong>Codex</strong> — TOML instead of JSON</summary>
167
161
 
168
162
  ```bash
169
- claude mcp add dejared -- npx -y dejared-mcp
163
+ codex mcp add dejared -- npx -y dejared-mcp
164
+ codex mcp list
170
165
  ```
171
166
 
172
- Or add it to your project's `.mcp.json` using the standard config above.
167
+ The `--` matters: everything after it is the server's launch command.
173
168
 
174
- **Plugin (Marketplace)** installs both the MCP server and the `/jar-analysis` skill:
175
-
176
- ```bash
177
- claude plugin marketplace add hqkh4nh/dejared-mcp
178
- claude plugin install dejared@dejared-mcp-marketplace
179
- ```
180
-
181
- </details>
182
-
183
- <details>
184
- <summary><strong>Claude Desktop</strong></summary>
185
-
186
- Edit the Claude Desktop config file:
187
-
188
- - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
189
- - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
190
-
191
- Add the standard config above and restart Claude Desktop.
192
-
193
- </details>
194
-
195
- <details>
196
- <summary><strong>Cline</strong></summary>
197
-
198
- Add the standard config above to your MCP settings file.
199
-
200
- </details>
201
-
202
- <details>
203
- <summary><strong>Codex</strong></summary>
204
-
205
- ```bash
206
- codex mcp add dejared npx "-y dejared-mcp"
207
- ```
208
-
209
- Or edit `~/.codex/config.toml`:
169
+ Or edit `~/.codex/config.toml` (global) or `.codex/config.toml` (project):
210
170
 
211
171
  ```toml
212
172
  [mcp_servers.dejared]
213
173
  command = "npx"
214
174
  args = ["-y", "dejared-mcp"]
175
+
176
+ # Only if Java is not on your PATH
177
+ [mcp_servers.dejared.env]
178
+ DEJARED_JAVA_PATH = "/path/to/java"
215
179
  ```
216
180
 
217
181
  </details>
218
182
 
219
183
  <details>
220
- <summary><strong>Copilot CLI</strong></summary>
221
-
222
- Interactive:
184
+ <summary><strong>VS Code (GitHub Copilot)</strong> — uses <code>servers</code>, not <code>mcpServers</code></summary>
223
185
 
224
- ```
225
- /mcp add
226
- ```
227
-
228
- Then fill in:
229
- - **Server Name**: `dejared`
230
- - **Server Type**: `STDIO`
231
- - **Command**: `npx -y dejared-mcp`
232
-
233
- Or edit `~/.copilot/mcp-config.json`:
186
+ Create or edit `.vscode/mcp.json`:
234
187
 
235
188
  ```json
236
189
  {
237
- "mcpServers": {
190
+ "servers": {
238
191
  "dejared": {
239
- "type": "local",
240
192
  "command": "npx",
241
- "args": ["-y", "dejared-mcp"],
242
- "tools": ["*"]
193
+ "args": ["-y", "dejared-mcp"]
243
194
  }
244
195
  }
245
196
  }
246
197
  ```
247
198
 
248
- </details>
249
-
250
- <details>
251
- <summary><strong>Cursor</strong></summary>
252
-
253
- Create or edit `.cursor/mcp.json` in your project root (project-level) or `~/.cursor/mcp.json` (global) using the standard config above.
254
-
255
- </details>
256
-
257
- <details>
258
- <summary><strong>Gemini CLI</strong></summary>
259
-
260
- ```bash
261
- gemini mcp add dejared npx -y dejared-mcp
262
- ```
263
-
264
- Or edit `~/.gemini/settings.json` (global) or `.gemini/settings.json` (project) using the standard config above.
265
-
266
- Use `/mcp` in a Gemini CLI session to verify the server is connected.
267
-
268
- </details>
269
-
270
- <details>
271
- <summary><strong>Goose</strong></summary>
272
-
273
- Go to **Advanced settings** > **Extensions** > **Add custom extension**. Name to your liking, use type `STDIO`, and set the command to `npx -y dejared-mcp`.
274
-
275
- </details>
276
-
277
- <details>
278
- <summary><strong>JetBrains IDEs</strong></summary>
279
-
280
- Go to **Settings** > **Tools** > **AI Assistant** > **Model Context Protocol (MCP)**.
281
-
282
- Click **+ Add** and configure:
283
-
284
- - **Name**: `dejared`
285
- - **Transport**: `Stdio`
286
- - **Command**: `npx`
287
- - **Arguments**: `-y dejared-mcp`
199
+ After saving, click **Start** above the server entry, then use Agent mode in Copilot Chat.
288
200
 
289
201
  </details>
290
202
 
291
203
  <details>
292
- <summary><strong>Kiro</strong></summary>
293
-
294
- Create or edit `.kiro/settings/mcp.json` using the standard config above.
295
-
296
- </details>
297
-
298
- <details>
299
- <summary><strong>opencode</strong></summary>
204
+ <summary><strong>opencode</strong> — command is an array</summary>
300
205
 
301
206
  Edit `~/.config/opencode/opencode.json`:
302
207
 
@@ -316,37 +221,13 @@ Edit `~/.config/opencode/opencode.json`:
316
221
  </details>
317
222
 
318
223
  <details>
319
- <summary><strong>Qodo Gen</strong></summary>
320
-
321
- Open [Qodo Gen](https://docs.qodo.ai/qodo-documentation/qodo-gen) chat panel in VS Code or IntelliJ > Connect more tools > + Add new MCP > Paste the standard config above > Save.
322
-
323
- </details>
224
+ <summary><strong>Claude Code plugin</strong> — also installs the <code>/jar-analysis</code> skill</summary>
324
225
 
325
- <details>
326
- <summary><strong>VS Code (GitHub Copilot)</strong></summary>
327
-
328
- Create or edit `.vscode/mcp.json` in your project root:
329
-
330
- ```json
331
- {
332
- "servers": {
333
- "dejared": {
334
- "command": "npx",
335
- "args": ["-y", "dejared-mcp"]
336
- }
337
- }
338
- }
226
+ ```bash
227
+ claude plugin marketplace add hqkh4nh/dejared-mcp
228
+ claude plugin install dejared@dejared-mcp-marketplace
339
229
  ```
340
230
 
341
- After saving, click the **Start** button that appears in the MCP config file, then use Agent mode in Copilot Chat.
342
-
343
- </details>
344
-
345
- <details>
346
- <summary><strong>Windsurf</strong></summary>
347
-
348
- Open Windsurf settings, navigate to MCP servers, and add a new server using the `command` type with `npx -y dejared-mcp`. Or add the standard config under `mcpServers` in your settings.
349
-
350
231
  </details>
351
232
 
352
233
  <details>
@@ -358,7 +239,7 @@ If you prefer to run the server JAR directly without Node.js:
358
239
 
359
240
  2. Run it:
360
241
  ```bash
361
- java -jar dejared-mcp-0.2.0.jar
242
+ java -jar dejared-mcp-<version>.jar
362
243
  ```
363
244
 
364
245
  3. Configure your MCP client to use the JAR directly instead of `npx`:
@@ -368,7 +249,7 @@ If you prefer to run the server JAR directly without Node.js:
368
249
  "mcpServers": {
369
250
  "dejared": {
370
251
  "command": "java",
371
- "args": ["-jar", "/path/to/dejared-mcp-0.2.0.jar"]
252
+ "args": ["-jar", "/path/to/dejared-mcp-<version>.jar"]
372
253
  }
373
254
  }
374
255
  }
package/lib/jar-runner.js CHANGED
@@ -65,7 +65,7 @@ function resolveJava() {
65
65
  execFileSync("java", ["-version"], { stdio: "ignore" });
66
66
  return "java";
67
67
  } catch {
68
- log("Java not found. Set DEJARED_JAVA_PATH or install Java 21+.");
68
+ log("Java not found. Set DEJARED_JAVA_PATH or install Java 17+.");
69
69
  process.exit(1);
70
70
  }
71
71
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dejared-mcp",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "mcpName": "io.github.hqkh4nh/dejared",
5
5
  "description": "Explore, analyze, and decompile Java JAR files via MCP",
6
6
  "bin": {
@@ -30,6 +30,6 @@
30
30
  "reverse-engineering"
31
31
  ],
32
32
  "engines": {
33
- "node": ">=18"
33
+ "node": ">=20"
34
34
  }
35
35
  }