jar-tools-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jar-tools-mcpScan ./vendor/example.jar for supply-chain risks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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/.classfiles — the file is never executedSuspicious-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
.jarsize 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-mcpUntil 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-mcpVerify that Codex can see it:
codex mcp listYou 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-mcpOr 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-keyOr 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.jsAuthor
Visit my personal site: https://igorstechnoclub.com
License
MIT
Available Tools
1 toolscan_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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Path to a local .jar, .zip, or .class file to scan. | |
| license_key | No | Optional 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
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.
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.
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.
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.
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.
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 tool update
v0.1.0- First observed
scan_jar_security
TDQS
Only one tool exists, so there is no possibility of confusion between tools.
The single tool name 'scan_jar_security' follows a clear verb_noun pattern, consistent with good naming conventions.
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.
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
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
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Scan any MCP server for tool-poisoning, security, auth & license. Trust score before install.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseCqualityCmaintenanceA 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.44MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that wraps Trivy and Gitleaks to provide file system vulnerability and secret scanning as tools for AI agents, enabling local, free security analysis.MIT
- FlicenseNot gradedqualityCmaintenanceA lightweight MCP server that wraps OWASP ZAP's REST API as Model Context Protocol tools, enabling AI agents to perform automated security scanning.-
- AlicenseCqualityBmaintenanceSecurity 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.21MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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