Java Inspector
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NODE_ENV | No | Set to 'development' to enable verbose server.log output. | |
| JAVA_HOME | No | Locates java and javap. | |
| MAVEN_CMD | No | Override executable entirely — e.g. mvnd, mvnw, or a full path. | |
| MAVEN_HOME | No | Locates mvn / mvn.cmd. | |
| MAVEN_REPO | No | Overrides ~/.m2/repository. | |
| DECOMPILER_PATH | No | Use a custom Vineflower JAR instead of the bundled one. |
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
| Capability | Details |
|---|---|
| tools | {} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| scan_projectA | Start, refresh, or poll the non-blocking Maven dependency scan. Startup automatically calls this for the highest-level pom.xml files. |
| find_jarA | Find JAR paths by exact path, filename, prefix, substring, or Maven coordinates without opening the JAR. |
| inspect_jarB | Inspect one JAR: manifest, Maven coordinates, layout, packages, classes, resources, and nested JAR metadata. |
| search_classB | Search the live partial index, then foreground-scan only relevant JARs without waiting for background scan completion. |
| search_codeC | Find method/field declarations, annotations, references, and real string constants from lazy class-file metadata. |
| find_implementationsB | Find direct or transitive implementations/subtypes using lazy deep class metadata. |
| inspect_classB | Resolve and inspect a class from Maven, a local JAR, or the JDK. Views: source, API, hierarchy, bytecode, or all. |
| explain_dependencyB | Run a filtered Maven dependency tree and explain why an artifact is present. |
| search_resourcesB | Search resource paths or bounded text resource content in selected JARs. |
| read_resourceB | Read an exact text resource with safe line pagination. Binary resources are rejected. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool targets a distinct resource and action: project scanning, JAR discovery, JAR inspection, class search, code search, implementation lookup, class inspection, dependency explanation, resource search, and resource reading. No two tools have overlapping purposes; even search_class and search_code differ clearly by scope (indexed classes vs. code constructs).
All tool names follow a consistent verb_noun pattern with descriptive verbs (scan, find, inspect, search, explain, read). The pattern is uniform across the set, making it easy to predict tool behavior from the name alone.
The 10 tools are well-scoped for a Java inspector/analyzer server, covering project-level scanning, artifact lookup, detailed inspection, and search operations. Each tool serves a distinct purpose without redundancy, and the count is ideal for the domain.
The tool surface covers the full read/analyze lifecycle: scan, find, inspect, search, explain, and read. Minor gaps exist such as no explicit 'list_jar_contents' top-level tool or dependency listing shortcut, but these are accessible via inspect_jar and explain_dependency, so agents can work around them.