Skip to main content
Glama
gogainda

jar-tools-mcp

by gogainda

jar-tools-mcp

MCP server for jar.tools' JAR security scanner. Scan a local .jar, .zip, or .class file for supply-chain risk — network activity, file access, process execution, and obfuscation/decompiler-evasion signals — directly from an AI agent, without opening a browser.

Features

  • Static behavioral analysis of .jar/.zip/.class files — the file is never executed

  • Suspicious-class counts broken down by category (network, file access, process execution, hard-to-review code)

  • Decompiler-anomaly detection (obfuscation/evasion signals)

  • Optional Pro license key raises the .jar size cap from 64MB to 256MB

Related MCP server: mcp-security-toolkit

Use Cases

  • Audit a dependency before adding it to a build — scan a resolved JAR pulled from Maven/Gradle before trusting it

  • Investigate a suspicious plugin or mod — check a Minecraft mod or IDE plugin JAR before installing

  • Review a vendor SDK — static analysis of a third-party binary before shipping it to production

Installation

npm install -g github:gogainda/jar-tools-mcp

Until the npm registry release is available, this installs directly from the public GitHub repository. No API key is required for the default free tier.

Configuration

Codex Setup

Add the MCP server with the Codex CLI:

codex mcp add jar-tools -- npx -y github:gogainda/jar-tools-mcp

Verify that Codex can see it:

codex mcp list

You can also add it manually to ~/.codex/config.toml:

[mcp_servers.jar-tools]
command = "npx"
args = ["-y", "github:gogainda/jar-tools-mcp"]

For Pro scans, export JARTOOLS_LICENSE_KEY before starting Codex and allow the MCP server to receive it:

[mcp_servers.jar-tools]
command = "npx"
args = ["-y", "github:gogainda/jar-tools-mcp"]
env_vars = ["JARTOOLS_LICENSE_KEY"]

In an active Codex session, use /mcp to confirm that jar-tools is connected.

Claude Code Setup

Add the MCP server using the CLI:

claude mcp add jar-tools -- npx -y github:gogainda/jar-tools-mcp

Or add manually to ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "jar-tools": {
      "command": "npx",
      "args": ["-y", "github:gogainda/jar-tools-mcp"]
    }
  }
}

Optional: Pro License Key

If you have a jar.tools Pro license and need to scan .jar files larger than 64MB:

export JARTOOLS_LICENSE_KEY=your-license-key

Or pass license_key as a tool argument on individual calls.

Usage

Ask your agent to scan a file:

Scan ./vendor/some-library.jar for supply-chain risk before I add it as a dependency.

The tool returns a text summary (suspicious-class count, top signal categories, decompiler-anomaly flags) plus the full JSON findings report.

API Reference

This server is a thin wrapper around the public jar.tools Security Scan API (POST /api/v1/security-scan/jar-report / class-report). See that page for the full response schema if you want to parse the JSON output yourself.

Development

# Build
npm run build

# Test
npm test

# Run directly
node dist/index.js

Author

Visit my personal site: https://igorstechnoclub.com

License

MIT

Available Tools

1 tool
scan_jar_securityA

Run jar.tools' static security scan on a local .jar/.zip or .class file. Returns structured findings — suspicious-class counts by category (network activity, file access, process execution, hard-to-review/obfuscated code) plus decompiler-anomaly signals. Useful for auditing a dependency before adding it to a build, or investigating a suspicious plugin/mod. Static analysis only — the file is never executed. Free for .jar/.zip up to 64MB and .class up to 5MB; pass a Pro license_key to raise the JAR size cap to 256MB.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to a local .jar, .zip, or .class file to scan.
license_keyNoOptional jar.tools Pro license key, raises the .jar size cap from 64MB to 256MB. Falls back to the JARTOOLS_LICENSE_KEY environment variable if not provided.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that analysis is static-only ('the file is never executed'), which is critical safety info. Also describes output structure and size constraints. Fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each serving a purpose: main action, output description, use case, and constraints. No wasted words. Front-loaded with the most important information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description explains the structured findings in enough detail. Covers purpose, usage context, constraints, and output format. Agent can fully understand what the tool does and what to expect without needing additional information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with descriptions for both parameters. The description adds extra context beyond the schema, e.g., explaining license key fallback to environment variable and size cap details. This enriches parameter understanding beyond the schema's minimal descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Starts with a clear verb and resource: 'Run jar.tools' static security scan on a local .jar/.zip or .class file.' No sibling tools listed, so no confusion. Directly states the tool's core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'Useful for auditing a dependency before adding it to a build, or investigating a suspicious plugin/mod.' Also notes size limits and license upgrade, but does not explicitly tell when not to use it. Still, the guidance is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.0
    • First observedscan_jar_security

TDQS

A4.6/5.0
Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools.

Naming Consistency5/5

The single tool name 'scan_jar_security' follows a clear verb_noun pattern, consistent with good naming conventions.

Tool Count3/5

With only one tool, the server is minimal. While it may suffice for a focused use case, the count is at the low end of reasonable scope.

Completeness4/5

The single tool covers the core functionality of static security scanning, returning structured findings. Minor gaps like retrieving past scan results or managing licenses are not addressed, but it handles the primary action well.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    A secure-by-default MCP server and CLI for AI agents to inspect Spring Boot repositories and interact with runtime Actuator endpoints, enabling code review, dependency scanning, and monitoring.
    44
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    A lightweight MCP server that wraps OWASP ZAP's REST API as Model Context Protocol tools, enabling AI agents to perform automated security scanning.
    -
  • A
    license
    C
    quality
    B
    maintenance
    Security scanner and MCP server that catches dangerous patterns in MCP servers and AI agent projects, such as leaked secrets, shell execution, and prompt-injection text. Runs as both a CLI and MCP server with CI-friendly severity gates.
    2
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gogainda/jar-tools-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server