Skip to main content
Glama
pgatzka

jar-inspector-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
jar_overviewA

Summarize a Java archive: manifest, size, packages, class count, and whether sources are attached.

Start here when you meet an unfamiliar jar, instead of unzipping it or listing every entry.

Args: jar: Path to a .jar/.war/.aar/.zip, an exploded classes directory, or a nested archive such as app.jar!BOOT-INF/lib/dep-1.0.jar.

jar_listA

List entries in an archive, filtered by glob and kind.

Prefer this over unzip -l. Use kind='text' to find configuration, kind='archive' to find jars bundled inside a fat jar.

Args: jar: Archive path, classes directory, or outer.jar!nested.jar. pattern: Comma-separated globs matched against the entry path, e.g. META-INF/* or *.properties. Empty matches everything. kind: One of all, class, source, text, binary, archive. limit: Maximum entries to return. offset: Entries to skip, for paging.

jar_find_classA

Find classes in an archive by simple name, fully-qualified name or glob.

Use this to turn "where does HttpClient live" into a concrete class name you can pass to jar_class_outline or jar_read_source.

Args: jar: Archive path, classes directory, or outer.jar!nested.jar. name: HttpClient, com.acme.HttpClient, or a glob like com.acme.*Repo. limit: Maximum matches to return.

jar_class_outlineA

Show a class's API: declaration, annotations, fields and method signatures.

This is the cheap alternative to decompiling or reading source. Signatures keep generics, parameter names (when compiled with -g), thrown exceptions and constant values; method bodies are not included.

Args: jar: Archive path, classes directory, or outer.jar!nested.jar. class_name: FQCN, simple name or glob (resolved like jar_find_class). visibility: Lowest visibility to include: public, protected, package, private. include_synthetic: Include compiler-generated bridge/synthetic members. fully_qualified_types: Print java.util.List instead of List.

jar_read_sourceA

Read attached Java/Kotlin source for a class, one line window at a time.

Looks inside the archive itself, then the matching -sources.jar next to it (Maven layout) or beside it in the Gradle cache. If no source is available, say so and fall back to jar_class_outline.

Args: jar: Archive path, classes directory, or outer.jar!nested.jar. target: FQCN (com.acme.Foo) or an entry path (com/acme/Foo.java). start_line: 1-based first line to show. line_count: How many lines to show; use a window rather than whole files. sources_jar: Explicit sources archive, when auto-detection misses it.

jar_read_entryA

Read one text entry from an archive: MANIFEST, service files, XML, config.

Prefer this over unzip -p. Binary entries are described, not dumped.

Args: jar: Archive path, classes directory, or outer.jar!nested.jar. entry: Exact entry path, e.g. META-INF/spring.factories. start_line: 1-based first line to show. line_count: How many lines to show.

jar_searchA

Grep text and source entries inside an archive, returning matching lines.

Use it to find a property key, a bean name, an SQL fragment or a log message without extracting anything. With include_class_strings=True it also searches string constants compiled into .class files.

Args: jar: Archive path, classes directory, or outer.jar!nested.jar. query: Literal text, or a Python regular expression when regex=True. regex: Treat query as a regular expression. ignore_case: Case-insensitive matching. path: Comma-separated globs limiting which entries are searched. include_class_strings: Also search string constants inside .class files. limit: Maximum matches to report.

jar_class_dependenciesA

List the classes a compiled class references, split into internal and external.

Useful for tracing what a class actually touches, and for spotting which dependency supplies a type, without decompiling anything.

Args: jar: Archive path, classes directory, or outer.jar!nested.jar. class_name: FQCN, simple name or glob. include_jdk: Include java.*/javax.*/jdk.* references. limit: Maximum references to list.

jar_disassembleA

Disassemble one method's bytecode with javap (needs a JDK on PATH).

Reach for this only when the API outline and the source are not enough -- for example when checking what a method compiles to, or reading a class that has no sources attached. Always pass method to keep it small.

Args: jar: Archive path or classes directory (nested ! specs are not supported). class_name: FQCN, simple name or glob. method: Method name to keep; empty returns every method (often large). limit: Maximum lines of disassembly to return.

jar_findA

Find jar files on this machine by name: build output, Maven repo, Gradle cache.

Use it to turn "the Jackson databind jar" into a path you can pass to the other tools.

Args: query: Part of the file name, or a glob such as jackson-databind-*.jar. search_path: Extra directories to scan first, separated by the path separator. include_classifiers: Also list -sources, -javadoc and -tests jars. limit: Maximum jars to return.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct inspection task: overview, listing, class lookup, API outline, source reading, entry reading, search, dependency analysis, disassembly, and jar discovery. There is no meaningful overlap that would make an agent likely to pick the wrong tool.

Naming Consistency3/5

All tools share the jar_ prefix, which helps, but the grammatical pattern is mixed: jar_list and jar_search are bare verbs, jar_find_class and jar_read_source are verb_noun, while jar_overview and jar_class_outline are noun phrases. The names are readable but not consistently verb_noun.

Tool Count5/5

Ten tools is well within the ideal range and each tool covers a distinct facet of archive inspection. The count feels neither bloated nor thin for the stated purpose.

Completeness5/5

The read-only jar inspection domain is covered thoroughly: overview, listing, class lookup, API outline, source reading, arbitrary text entries, grep-like search, class dependency analysis, bytecode disassembly, and locating jars on disk. An agent can move from finding a jar to reading its source or bytecode without obvious dead ends.

Maintenance

ActivitySlowing
ResponsivenessNo issues