Skip to main content
Glama
salitaba

Maven Decoder MCP Server

by salitaba

extract_method_info

Extract method details from Java classes in Maven jars. Provide Maven coordinates and class name, optionally filter by method name pattern or include bytecode.

Instructions

Extract specific method information from a Java class

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
versionYesMaven version
group_idYesMaven group ID
class_nameYesFully qualified class name
artifact_idYesMaven artifact ID
max_methodsNoMaximum number of methods to return
method_patternNoPattern to match method names (regex supported)
include_bytecodeNoInclude bytecode analysis

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.3.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only says 'Extract specific method information' and does not reveal whether this downloads artifacts, accesses Maven Central, is read-only, handles missing classes, or what output format to expect. This is a significant transparency gap for a tool that likely performs network/resolution work.

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?

The description is a single short sentence with no redundant phrasing, no repetition of schema details, and the key action and resource are front-loaded. Every word serves a purpose.

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

Completeness2/5

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

With 7 parameters, 4 required Maven coordinates, no output schema, and no annotations, this bare description is not enough. It does not mention that the class is resolved via Maven coordinates, what 'method information' contains, how method_pattern and include_bytecode affect behavior, or what the return shape looks like. The schema helps, but the description leaves too much unstated.

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

Parameters3/5

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

Schema coverage is 100%, so the input schema already documents all parameters, including optional filters like method_pattern and include_bytecode. The description adds little beyond the word 'specific,' which loosely maps to the filtering parameters but provides no additional semantic detail. Baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Extract'), a resource ('method information'), and the source scope ('a Java class'). This clearly distinguishes it from related class-level or jar-level tools, even though it does not explicitly name the sibling it differs from.

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

Usage Guidelines2/5

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

The description implies use when method-level details are needed from a Java class, but it provides no explicit when-to-use guidance, no exclusions, and no pointers to alternative tools like extract_class_info or analyze_jar_structure. The agent must infer usage context from the tool name and schema.

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