Skip to main content
Glama

arthas-mcp

npm license node

Let AI agents diagnose live JVMs. An MCP server that connects Claude (or any MCP client) to Alibaba Arthas, the battle-tested Java diagnostics tool — no restarts, no code changes, no redeploy.

中文文档

Ask your AI things like:

"Why is this service burning 200% CPU?" → it pulls the dashboard, finds the hottest threads, reads their stacks, and tells you which method is spinning.

"What arguments is OrderService.createOrder actually receiving in production?" → it sets up a watch, captures live invocations, and shows you real params and return values.

"Is the deployed class the version we think it is?" → it decompiles the loaded bytecode with jad and diffs it against your source.

How it works

Claude / MCP client  ──stdio──▶  arthas-mcp  ──HTTP──▶   Arthas (sync commands)
                                             ──WebSocket──▶ Arthas (streaming: watch/trace/monitor)
                                                              │
                                                              ▼
                                                        target JVM

Sync commands (dashboard, thread, jad, …) go over Arthas' HTTP API and return directly. Streaming commands (watch, trace, stack, monitor, tt -t) run as background jobs over WebSocket: output streams to a local log file, the tool waits up to awaitMs (default 5s) and returns results inline if the command finished — otherwise it hands back a job ID you can poll with arthas_read_log and cancel with arthas_stop_job. Long captures never block the conversation and never flood the context window (every response is capped, ~16k chars, configurable).

Related MCP server: Arthas MCP Server

Quick start

1. Attach Arthas to your Java process

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar        # pick the target JVM from the list

That's it — Arthas serves its HTTP/WebSocket API on 127.0.0.1:8563 by default, which is exactly where arthas-mcp looks.

2. Add the MCP server

Claude Code

claude mcp add arthas -- npx -y arthas-mcp

Claude Desktop / Windsurf / Cursor (mcpServers config):

{
  "mcpServers": {
    "arthas": {
      "command": "npx",
      "args": ["-y", "arthas-mcp"],
      "env": {
        "ARTHAS_WS_URL": "ws://127.0.0.1:8563/ws"
      }
    }
  }
}

env is optional if Arthas runs on the default port.

3. Ask questions

Open your client and ask anything about the running JVM. The AI picks the right Arthas commands by itself.

Diagnosing a JVM in Kubernetes

Arthas must run inside the pod; then port-forward its API port:

# copy + attach arthas inside the pod (or bake it into your image)
kubectl exec -it <pod> -- sh -c 'curl -sO https://arthas.aliyun.com/arthas-boot.jar && java -jar arthas-boot.jar 1 --target-ip 0.0.0.0'

# expose the HTTP/WS API locally
kubectl port-forward <pod> 8563:8563

arthas-mcp on your laptop now talks to the JVM in the cluster.

Tools

Tool

What it does

arthas_cookbook

Start here for a symptom — proven step-by-step recipes (high CPU, memory leak, slow requests, worker-pool exhaustion, deadlocks, HikariCP, Spring, flame graphs). Human-readable copy: COOKBOOK.md

arthas_dashboard

Threads / memory / GC / runtime overview

arthas_thread

Thread list, top-N CPU, blocking threads, per-thread stacks

arthas_jvm, arthas_memory

JVM info and detailed memory breakdown

arthas_sc, arthas_sm

Search loaded classes / methods

arthas_jad

Decompile a loaded class (see what's actually deployed)

arthas_watch

Capture live method params / return values / exceptions ⏳

arthas_trace

Call-path timing — find the slow hop ⏳

arthas_stack

Who calls this method, live ⏳

arthas_monitor

Invocation stats: QPS, RT, failure rate ⏳

arthas_tt

Time Tunnel: record invocations, replay them later ⏳ (record mode)

arthas_ognl, arthas_getstatic

Evaluate OGNL / read static fields

arthas_classloader

Classloader hierarchy and leaks

arthas_profiler

async-profiler: CPU / alloc / lock flame graphs

arthas_heapdump

Dump the heap to a file

arthas_exec

Escape hatch: run any raw Arthas command

arthas_async_jobs, arthas_read_log, arthas_stop_job

Manage background jobs ⏳

arthas_set_config

Repoint to another Arthas instance mid-session

arthas_version, arthas_help

Meta

⏳ = streaming command, runs as a background job (see How it works).

Configuration

Env var / flag

Default

Meaning

ARTHAS_WS_URL

ws://127.0.0.1:8563/ws

Arthas WebSocket endpoint (HTTP API URL is derived)

ARTHAS_HTTP_URL

derived

Alternative: give the HTTP API URL instead

ARTHAS_MAX_OUTPUT

16000

Per-response character cap before truncation

--url <url> / positional URL

CLI override, takes precedence over env

Background-job logs live under $TMPDIR/arthas-mcp-logs/.

Security

Arthas is a full-power diagnostics tool: ognl evaluates arbitrary expressions inside the target JVM, and arthas_exec runs any Arthas command. Only point arthas-mcp at JVMs you are authorized to debug, keep the Arthas port bound to localhost (or reached via kubectl port-forward / SSH tunnel), and never expose 8563 to untrusted networks.

Development

git clone https://github.com/HeavenC/arthas-mcp.git
cd arthas-mcp
npm install
npm run build        # tsc → dist/
node dist/index.js   # speaks MCP on stdio

The whole server is a single file: src/index.ts.

License

MIT

Available Tools

25 tools
arthas_async_jobsA

List all async background jobs (watch/trace/stack/monitor). Shows job ID, command, status, log file path, and elapsed time.

ParametersJSON Schema
NameRequiredDescriptionDefault
cleanupNoRemove finished jobs from the list before showing it

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description bears full burden. It reveals listing behavior but omits the side effect of the 'cleanup' parameter (removing finished jobs) in the main description. The parameter schema covers this, but the main description could be more 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?

The description is a single efficient sentence that covers purpose and output information without unnecessary words. It is front-loaded with the action.

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

Completeness4/5

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

Given the simple tool (1 parameter, no output schema, no annotations), the description adequately covers what the tool does and what it returns. It could note default behavior regarding finished jobs, but overall it is sufficiently complete.

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?

The input schema has 100% description coverage with a clear explanation of the 'cleanup' parameter. The tool description adds context by listing the output fields but not parameter details. Thus it adds minimal value beyond the schema, meeting baseline.

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?

Description clearly states 'List all async background jobs' and specifies the types of commands (watch/trace/stack/monitor) and the displayed fields (job ID, command, status, etc.). This distinguishes it from sibling tools that perform specific commands rather than listing jobs.

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?

The description implicitly indicates this tool is for listing background jobs, and the sibling context reinforces that usage. However, no explicit guidance is given on when not to use it or alternatives beyond the implied distinction from command-running tools.

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

arthas_classloaderC

Show classloader hierarchy and info.

ParametersJSON Schema
NameRequiredDescriptionDefault
allNoShow all classes
listNoList all classloaders
treeNoShow classloader tree
timeoutNoTimeout in ms
classPatternNoClass pattern

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It only states 'show', implying read-only, but does not mention any side effects, permissions, or limitations. It lacks depth for safe agent invocation.

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

Conciseness4/5

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

The single sentence is concise and front-loaded. It earns its place by stating the core function, but additional structure (e.g., parameter hints) would improve usability.

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?

Given 5 parameters and no output schema, the description is insufficient. It does not explain the relationship between parameters or what 'info' includes, leaving an AI agent underinformed.

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% with descriptions for all 5 parameters. The description adds no extra meaning beyond the schema, which is acceptable per guidelines. Baseline score 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 clearly states the tool shows 'classloader hierarchy and info', which is a specific verb and resource. However, it does not differentiate from siblings like arthas_jvm or arthas_thread which also show info, but the classloader focus is distinctive.

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 provides no guidance on when to use this tool versus alternatives. There is no mention of context, prerequisites, or when not to use it.

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

arthas_cookbookA

Get a proven step-by-step Arthas command recipe for a common production symptom (high CPU, memory leak, slow requests, worker pool exhaustion, deadlocks, connection pool, Spring inspection, ...). START HERE when diagnosing a symptom instead of composing commands from scratch. Call without arguments to list topics.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoSymptom/topic to get the recipe for. Omit to list all topics.

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so the description bears full burden. It discloses that the tool returns a 'proven step-by-step' recipe, but does not mention any side effects, latency, or authentication requirements. For a read-only, simple tool, this is minimally adequate but could add details about output size or format.

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?

Two sentences, highly efficient. Every sentence adds value: first defines the tool, second gives usage hints. No fluff.

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

Completeness4/5

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

Given the tool's simplicity and lack of output schema, the description is sufficiently complete. It explains how to get a topic or list all topics. Could mention output format or length, but not critical.

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 coverage is 100% with an enum listing all topics. The description adds value by noting that omitting the topic lists all topics and by providing example symptoms in the text, which aids understanding beyond the schema.

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?

The description clearly states the tool's purpose: 'Get a proven step-by-step Arthas command recipe for a common production symptom.' It lists example symptoms and positions itself as the starting point for diagnosis, distinguishing it from sibling tools that execute commands directly.

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?

Explicit guidance: 'START HERE when diagnosing a symptom instead of composing commands from scratch' and 'Call without arguments to list topics.' This tells the agent when to use it and what happens with no arguments. It lacks explicit when-not-to-use, but the guidance is strong.

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

arthas_dashboardC

Get a comprehensive dashboard showing thread stats, memory usage, GC info, and runtime data.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNoTimeout in ms (default: 15000)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It does not disclose whether the tool is read-only, what happens on timeout, or any side effects. As a dashboard, it is likely safe, but this is not stated.

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

Conciseness4/5

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

The description is a single concise sentence that covers the main purpose. It could be improved by structuring with bullet points, but is efficient and front-loaded.

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

Completeness3/5

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

Given the low complexity (one optional param, no output schema), the description is minimally adequate. It lists the data categories but lacks details on return format, pagination, or error behavior, leaving some gaps.

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?

The schema has 100% description coverage for the one parameter (timeout). The tool description adds no additional meaning beyond the schema, so the baseline score of 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 clearly states the tool provides a comprehensive dashboard covering thread stats, memory, GC, and runtime data. It distinguishes from sibling tools like arthas_thread or arthas_memory which focus on specific areas, but could be more precise about the extent of coverage.

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?

No guidance is given on when to use this dashboard versus the specific monitoring tools (arthas_thread, arthas_memory, etc.). There is no mention of prerequisites or context where this tool is preferable.

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

arthas_execA

Execute an Arthas command and return the result. For sync commands (dashboard, thread, jvm, sc, sm, jad, ognl, etc.) returns result directly. For streaming commands (watch, trace, stack, monitor) runs in background and returns a job ID + log file path.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesThe Arthas command to execute
timeoutNoTimeout in ms (default: 30000)

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description clearly discloses the differing behavior between sync commands (returns result directly) and streaming commands (runs in background, returns job ID + log path). This covers the key behavioral traits beyond what is in the input schema.

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?

Two sentences with no fluff. The key distinction (sync vs streaming) is front-loaded. Every sentence adds value.

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

Completeness3/5

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

The description explains return values for both command types, which is good given no output schema. However, it fails to address the relationship with the many sibling tools, leaving the agent without guidance on tool selection, which is a notable gap.

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% and the description adds no extra meaning beyond the schema's descriptions for 'command' and 'timeout'. The baseline of 3 is appropriate since the description does not enhance parameter understanding.

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 clearly states the verb 'Execute an Arthas command' and distinguishes between sync and streaming command behavior. However, it does not explicitly differentiate this general executor from the many sibling tools that cover specific commands (e.g., arthas_dashboard, arthas_thread), which could cause ambiguity.

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?

No explicit guidance on when to use arthas_exec versus the dedicated sibling tools. The description implies it handles both sync and streaming commands, but an agent may be uncertain whether to use exec or a specific tool like arthas_dashboard for a dashboard command. Alternatives are not mentioned.

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

arthas_getstaticC

Get static field values.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNoTimeout in ms
classNameYesFully qualified class name
fieldNameYesStatic field name

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, and the description fails to disclose key behavioral traits like whether the tool is read-only, requires JVM, has side effects, or any security constraints.

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

Conciseness3/5

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

The description is extremely concise at 5 words, but it lacks necessary details. Every word earns its place, but conciseness sacrifices completeness.

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?

Given the tool has 3 parameters, no output schema, and no annotations, the description is far too minimal, omitting return values, prerequisites, and behavior.

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% with descriptions for all three parameters, so the description adds no new meaning beyond the schema. Baseline of 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 'Get static field values' clearly states the verb 'get' and the resource 'static field values', but does not distinguish this tool from siblings like arthas_ognl or arthas_sc which can also retrieve values.

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 provides no guidance on when to use this tool versus alternatives, such as when to use arthas_getstatic instead of arthas_method or arthas_ognl.

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

arthas_heapdumpB

Create a heap dump file.

ParametersJSON Schema
NameRequiredDescriptionDefault
liveNoOnly dump live objects
timeoutNoTimeout in ms
filenameNoOutput file path

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavioral traits. It omits critical information such as whether the JVM is paused during dump generation, potential performance impact, or file size considerations.

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 front-loaded sentence with no redundant words. It is efficiently sized for a straightforward tool.

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?

Given the absence of an output schema and annotations, the description is incomplete. It does not explain the return value, file location, or any side effects, leaving an agent without essential context for proper usage.

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?

Because schema description coverage is 100%, the baseline is 3. The description adds no meaning beyond what the schema already provides for parameters like 'live', 'timeout', and 'filename'.

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?

The description 'Create a heap dump file' uses a specific verb-resource pair that clearly defines the action and output. It is distinct from sibling tools like arthas_thread or arthas_jvm, which have different purposes.

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 provides no guidance on when to use this tool, such as for memory analysis or troubleshooting. It does not mention prerequisites, alternative tools, or conditions that would make this tool unsuitable.

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

arthas_helpB

Get help for Arthas commands.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandNoCommand name
timeoutNoTimeout in ms

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but only states the tool's purpose. It does not disclose what happens if an invalid command is specified, whether a list is shown without a command, or any side effects. Behavioral traits are minimally addressed.

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

Conciseness4/5

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

The description is a single, straightforward sentence that efficiently conveys the tool's purpose. It is front-loaded and contains no unnecessary words, though slightly more detail could be added without harming conciseness.

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?

Given no output schema and the need to understand the help format, the description is too sparse. It does not explain what the output looks like (e.g., text, structured data) or handle edge cases. Completeness is insufficient for an agent to fully interpret the tool's behavior.

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 schema already describes the parameters. The description adds no extra meaning beyond 'Get help', such as explaining that an empty 'command' parameter might list all commands. Thus it remains at the baseline.

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?

The description 'Get help for Arthas commands' uses a specific verb-resource combination, clearly indicating the tool provides assistance for Arthas commands. It effectively distinguishes itself from sibling tools by being the dedicated help command.

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?

No guidance is provided on when to use this tool versus alternatives, such as when to consult specific command help or when to use the cookbook or other resources. The description lacks any context on prerequisites or typical use cases.

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

arthas_jadC

Decompile a loaded class.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNoTimeout in ms
classPatternYesClass name pattern
methodPatternNoMethod name pattern

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states 'Decompile a loaded class,' failing to mention that it is a read-only operation, whether permissions are needed, or what the output format is. This is insufficient.

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

Conciseness4/5

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

The description is a single sentence that is front-loaded and efficient with no wasted words. However, a second sentence could improve utility without harming conciseness.

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?

Given the tool's complexity (3 parameters, no output schema, no annotations), the description is too minimal. It does not explain what decompilation entails, how patterns work, or the nature of the output, leaving the agent underinformed.

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 baseline is 3. The description adds no additional meaning to the parameters beyond what is already in the schema. The schema itself is clear, so no deduction is applied.

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 uses a specific verb (Decompile) and identifies the resource (loaded class), clearly distinguishing it from sibling tools like arthas_sc (search class) and arthas_sm (search method). However, it is minimal and could be enhanced with additional context.

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?

No guidance is provided on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description simply states functionality without usage context.

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

arthas_jvmC

Get JVM information including memory usage, GC stats, runtime info.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNoTimeout in ms

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 the full burden. It states a read operation but does not disclose potential side effects, permissions, or error behavior. While likely safe, the lack of transparency is a gap.

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

Conciseness4/5

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

The description is a single sentence with 12 words, highly concise. It is front-loaded with the action and resource. However, it could be slightly more structured with a list of returned information types.

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?

Given the tool has no output schema and only one parameter, the description is minimally adequate. It lacks details on what is returned, format, timeout handling, or which specific JVM stats are included.

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% with one parameter (timeout) described. The description does not mention parameters or add meaning beyond the schema. A baseline of 3 is appropriate since schema already covers it.

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 clearly states it gets JVM information, specifying categories like memory usage, GC stats, and runtime info. This distinguishes it from sibling tools that focus on more specific aspects (e.g., arthas_memory for memory only, arthas_dashboard for dashboard). However, it could be more precise about what 'runtime info' entails.

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?

No guidance is provided on when to use this tool versus alternatives like arthas_memory or arthas_thread. There is no mention of prerequisites, scope, or exclusions.

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

arthas_memoryC

Get detailed memory information.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNoTimeout in ms

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavioral traits. It only says 'Get detailed memory information,' implying a read operation, but does not confirm read-only nature, potential side effects, or any authorization requirements. The minimal description leaves agents without critical behavioral context.

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

Conciseness4/5

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

The description is a single short sentence, which is concise and to the point. It avoids unnecessary words or repetition. However, it could be slightly more informative without sacrificing conciseness.

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?

Given the lack of output schema and the presence of many similar sibling tools, the description is incomplete. It does not specify what kind of memory information is returned (e.g., heap, non-heap, memory pools) or how the data is structured. This leaves agents uncertain about the tool's output and its fit for the task.

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?

The input schema has one parameter (timeout) with full description, so the schema already covers its meaning. The description adds no additional semantics beyond what the schema provides. Baseline score of 3 is appropriate as there is no extra value from the description.

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

Purpose3/5

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

The description states 'Get detailed memory information,' which clearly indicates it retrieves memory data. However, it does not distinguish this tool from siblings like arthas_jvm or arthas_heapdump, which may also provide memory details. It is adequate but lacks specificity.

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?

No guidance is provided on when to use this tool versus alternatives. For example, it does not explain how it differs from arthas_jvm or arthas_heapdump, nor does it mention prerequisites or context (e.g., for debugging memory leaks). This lack of usage direction limits its helpfulness.

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

arthas_monitorA

Monitor method invocation statistics. Runs in background; waits up to awaitMs for completion and returns results inline if done, otherwise returns a job ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of cycles (default: 3)
cycleNoMonitor cycle in seconds
awaitMsNoWait up to this many ms for inline completion (default: 5000; pass 0 for pure async)
timeoutNoTimeout in ms
classPatternYesClass name pattern
methodPatternYesMethod name pattern

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool runs in the background, waits up to awaitMs, and returns results inline or a job ID. However, it does not detail side effects, permissions, or what 'monitor' entails in terms of state changes. Adequate but not thorough.

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?

Two concise sentences that front-load the purpose and key behavior. No superfluous text; every sentence is meaningful and contributes to understanding.

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

Completeness3/5

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

Given 6 parameters, no output schema, and no annotations, the description is moderately complete. It explains the core behavior but lacks details on return format, error conditions, and the specific statistics monitored. Could be more comprehensive for a monitoring tool.

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 baseline is 3. The description adds no extra meaning beyond the schema; awaitMs is mentioned but already documented. Parameter semantics are adequately covered by schema.

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?

Describes monitoring of method invocation statistics, a clear verb+resource. However, it does not explicitly distinguish from sibling tools like arthas_trace or arthas_watch, which also monitor methods. The mention of background execution and job ID hints at uniqueness but lacks explicit differentiation.

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

Usage Guidelines3/5

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

The description explains the tool's mechanism (background, inline vs async) but does not state when to prefer this over alternatives. No explicit when-to-use or when-not-to-use guidance is provided; usage is implied.

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

arthas_ognlC

Execute OGNL expressions.

ParametersJSON Schema
NameRequiredDescriptionDefault
expressYesOGNL expression
timeoutNoTimeout in ms
classLoaderHashNoClassloader hash

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It only says 'execute', implying state mutation but not stating side effects, safety, or required permissions. The agent is left uninformed about whether OGNL expressions can modify the application or if they are read-only.

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

Conciseness3/5

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

The description is extremely concise, one sentence of four words. While compact, it lacks structure and front-loading of key information. For a tool with three parameters, more context would improve usability without sacrificing brevity.

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?

Given no annotations, no output schema, and three parameters, the description is incomplete. It does not explain what OGNL is, what the output looks like, or important constraints like timeout behavior. The tool executes user-defined expressions, which could be risky; this is not mentioned.

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 description coverage is 100%, so the schema already documents the three parameters. The description adds no additional meaning beyond the schema's parameter descriptions. Baseline score of 3 is appropriate as no extra value is provided.

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

Purpose3/5

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

The description 'Execute OGNL expressions' states the verb and resource but is vague. It does not differentiate from sibling tools like arthas_exec or arthas_getstatic, which also execute code or access values. The term 'OGNL' is not explained, leaving ambiguity about what expressions are supported.

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?

No guidance is given on when to use this tool versus alternatives. With many sibling Arthas tools for executing code, inspecting state, or monitoring, the description provides no context for selection, such as prerequisites or typical scenarios.

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

arthas_profilerC

Start/stop async profiler for CPU or memory profiling.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventNoEvent type
actionNoProfiler action
timeoutNoTimeout in ms
durationNoDuration in seconds
filenameNoOutput file name

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only mentions start/stop actions and CPU/memory events. It does not explain side effects, required permissions, or nuances like the async nature. Critical behavioral information is missing, making it insufficient for safe invocation.

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

Conciseness3/5

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

The description is a single short sentence, making it concise but overly terse. It lacks structure and fails to cover multiple actions and events. While every word is used, it sacrifices informative completeness for brevity, resulting in a minimally adequate but not well-structured description.

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?

Given the five parameters, no output schema, and many sibling tools, this description is incomplete. It does not mention all valid actions or event types, nor does it clarify parameter interactions (e.g., duration vs timeout). An agent would lack essential context for correct invocation.

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% with descriptions for each parameter, meeting the baseline. The overall description adds no additional meaning beyond 'start/stop async profiler,' which does not enhance understanding of individual parameters. The descriptions in the schema are generic (e.g., 'Event type'), so the tool description does not compensate.

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 the tool start/stops an async profiler, specifying CPU or memory profiling. While distinct from siblings, it omits other event types (lock, wall) and actions (status, list, etc.), making it slightly imprecise. It clearly identifies the tool's purpose but covers only a subset of capabilities.

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?

No guidance is given on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or comparison to other arthas tools. The description only states what it does, leaving the agent to infer usage context.

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

arthas_read_logA

Read the output log of an async job. Use this to check results from watch/trace/stack/monitor commands. Returns the tail by default to keep responses small.

ParametersJSON Schema
NameRequiredDescriptionDefault
tailNoReturn only the last N lines (default: 200). Pass a large number to get more.
jobIdYesJob ID returned by the async command

TDQS

A4.4/5.0
Behavior4/5

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

The description discloses that it returns the tail by default to keep responses small, which is a behavioral trait. Since no annotations are provided, the description carries the full burden, and it adequately explains the basic behavior without needing to mention side effects for a read-only operation.

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?

Two sentences, no wasted words. The first sentence defines the core purpose, and the second provides usage guidance and a practical hint. Information is front-loaded and efficiently delivered.

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

Completeness4/5

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

Given the tool's simplicity (2 parameters, no output schema, no annotations), the description covers the essential aspects: purpose, usage context, and parameter behavior. It does not describe output format, but that is acceptable for a straightforward read tool.

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 coverage is 100%, so baseline is 3. The description adds value by explaining the default behavior of the tail parameter and suggesting to pass a large number for more lines, which goes beyond the schema's description of type and default.

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?

The description clearly states the tool reads the output log of an async job and is used to check results from specific commands (watch/trace/stack/monitor). It distinguishes itself from siblings by specifying its role as a log reader for async job outputs.

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?

The description explicitly says 'Use this to check results from watch/trace/stack/monitor commands,' providing clear context for when to use the tool. However, it does not mention when not to use it or list alternatives, though siblings like arthas_async_jobs provide related functionality.

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

arthas_scC

Search for loaded classes.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNoTimeout in ms
detailedNoShow detailed info
classPatternYesClass name pattern

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden for behavioral disclosure. It merely states 'Search for loaded classes' without revealing important details such as whether the search is case-sensitive, supports wildcards, or any performance or side-effect implications. The agent is left uninformed about the tool's operational behavior beyond the schema.

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

Conciseness4/5

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

The description is extremely concise with a single sentence, which is efficient. However, it may be too brief, lacking structure or additional context that could be provided without significantly increasing length. Still, it avoids unnecessary content.

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?

Given the tool has three parameters, no output schema, and many sibling tools, the description is insufficiently complete. It does not explain what the tool returns (e.g., list of class names, or full details if 'detailed' is true), nor does it provide usage hints or typical scenarios. The agent would need to rely on the schema alone, which is incomplete for effective decision-making.

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?

The input schema covers all three parameters with descriptions, achieving 100% schema coverage. The description adds no additional meaning beyond what the schema provides. Since the schema already explains the parameters, the description does not need to repeat them, but it also does not enrich understanding (e.g., default timeout values, format of class pattern). Baseline is 3, and no extra value is added.

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 clearly states the verb 'Search' and the resource 'loaded classes', making the primary action understandable. However, there is no explicit differentiation from sibling tools like arthas_sm (search method) or arthas_jad, but the name 'arthas_sc' itself hints at 'search class', and the schema's required classPattern parameter clarifies the scope.

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?

No guidance is provided on when to use this tool compared to alternatives. The description does not mention when it is appropriate to use 'arthas_sc' instead of other search-related tools such as arthas_sm or arthas_jad, leaving the agent to infer from context.

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

arthas_set_configC

Update Arthas connection configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsUrlNoWebSocket URL, e.g. ws://127.0.0.1:8563/ws
httpUrlNoHTTP API URL, e.g. http://127.0.0.1:8563/api
defaultTimeoutNoDefault timeout in ms

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility. It states 'Update,' implying mutation, but fails to disclose whether changes are persistent, require restarts, or affect existing connections. No side effects or permissions are mentioned.

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

Conciseness4/5

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

The description is a single, clear sentence with no wasted words. It is appropriately front-loaded, though it could benefit from a brief elaboration on usage or effects without becoming verbose.

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?

Given the tool's complexity (updating connection config) and lack of output schema or annotations, the description is insufficient. It doesn't explain what happens after execution, potential errors, or how to verify the update.

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 documentation coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions; it only summarizes the purpose. No additional context on parameter usage or constraints.

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 clearly states the verb 'Update' and the resource 'Arthas connection configuration,' which is distinct from sibling tools that focus on other Arthas operations. However, it could be more explicit about the specific config fields (URLs, timeout) to align fully with the schema.

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?

No guidance is provided on when to use this tool, prerequisites, or alternatives. For example, it doesn't mention that configuration changes might require reconnection or that this tool should be used before executing other Arthas commands.

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

arthas_smC

Search for methods in loaded classes.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNoTimeout in ms
detailedNoShow detailed info
classPatternYesClass name pattern
methodPatternNoMethod name pattern

TDQS

C2.8/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose any behavioral traits (e.g., safety, side effects, or limitations).

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

Conciseness3/5

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

The description is concise (one sentence) but lacks necessary detail; it is adequately front-loaded but could be improved.

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?

Given no annotations and no output schema, the description is incomplete; it does not explain return format, performance, or tool differentiation.

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 description adds no extra meaning beyond the schema; 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 it searches for methods in loaded classes, which is clear but lacks differentiation from sibling tools like arthas_sc (search class) or arthas_stack (stack trace).

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?

No guidance on when to use this tool versus alternatives; no context or exclusions provided.

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

arthas_stackA

Get the call stack of a method. Runs in background; waits up to awaitMs for completion and returns results inline if done, otherwise returns a job ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of stacks (default: 5)
awaitMsNoWait up to this many ms for inline completion (default: 5000; pass 0 for pure async)
timeoutNoTimeout in ms
conditionNoConditional expression
classPatternYesClass name pattern
methodPatternYesMethod name pattern

TDQS

A3.7/5.0
Behavior4/5

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

No annotations exist, so the description must carry the behavioral burden. It correctly discloses background execution, wait behavior, and result modes. However, it omits potential side effects (likely none for a read tool) and error handling.

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?

Two sentences with zero wasted words. The key behavioral detail (async, wait, job ID) is front-loaded.

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

Completeness3/5

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

Given 6 parameters and no output schema or annotations, the description covers the core async pattern but lacks details on return format, error conditions, and required permissions.

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 baseline is 3. The description adds no parameter-specific details beyond what the schema already provides (e.g., purpose of count, condition).

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 clearly states the tool gets the call stack of a method, with a specific verb and resource. However, it does not differentiate from sibling tools like trace or monitor, which also involve method inspection.

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

Usage Guidelines3/5

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

The description explains the async behavior and the inline vs job ID result, giving context for when to use. But it provides no guidance on when not to use it or alternatives, such as using synchronous tools for simple queries.

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

arthas_stop_jobA

Stop a running async job (watch/trace/stack/monitor).

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID to stop

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. 'Stop' implies destructive action, but no details on reversibility, data retention, or permissions. Adequate but could be more 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?

Single sentence, front-loaded with key information, no unnecessary words. Efficient and clear.

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?

For a simple tool with one parameter and no output schema, the description fully covers the necessary context: what the tool does and the types of jobs it applies to.

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 coverage is 100% for jobId. The description adds value by specifying the job types, giving context to the parameter's purpose beyond the schema's generic description.

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?

The description clearly states the action (stop) and the resource (running async job), and lists specific job types (watch/trace/stack/monitor). This distinguishes it from sibling tools that start or list jobs.

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

Usage Guidelines3/5

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

Implicitly suggests use when a running job from specified types needs termination, but lacks explicit guidance on when not to use or alternatives. No mention of prerequisites like obtaining jobId from arthas_async_jobs.

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

arthas_threadC

Get thread information. Shows thread stack traces, CPU usage, and thread states.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNNoShow top N CPU consuming threads
stateNoFilter by thread state
blockedNoFind blocking threads
timeoutNoTimeout in ms
threadIdNoThread ID for detailed info

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description must carry the full burden. It does not mention any side effects, permissions, blocking behavior, or safety characteristics. The description implies a read-only diagnostic action but is not explicit.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. However, given the tool's complexity (5 parameters, no output schema), slightly more structure could be beneficial while maintaining conciseness.

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 no output schema and no annotations, the description should provide more context about return format, typical usage, or limitations. It only lists what is shown, but not how or in what form, leaving significant gaps for an agent to invoke correctly.

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 description coverage is 100%, so each parameter is already documented. The tool description adds general context but does not enhance understanding of individual parameters beyond their schema descriptions. Baseline of 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 clearly states the tool retrieves thread information and lists specific outputs (stack traces, CPU usage, states). It distinguishes from siblings like arthas_stack by focusing on threads broadly, but could more explicitly differentiate from similar diagnostics tools.

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?

No guidance on when to use this tool versus alternatives (e.g., arthas_stack, arthas_trace, arthas_dashboard). The description simply states what it does without any usage context or exclusions.

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

arthas_traceA

Trace method execution path and timing. Runs in background; waits up to awaitMs for completion and returns results inline if done, otherwise returns a job ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of traces (default: 5)
awaitMsNoWait up to this many ms for inline completion (default: 5000; pass 0 for pure async)
skipJdkNoSkip JDK methods
timeoutNoTimeout in ms
conditionNoConditional expression
classPatternYesClass name pattern
methodPatternYesMethod name pattern

TDQS

A4.2/5.0
Behavior4/5

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

Discloses background execution, waiting behavior, and job ID return. With no annotations, this is sufficient for understanding the tool's behavior, though it could mention that the trace is a continuous monitor until count or timeout.

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?

Two sentences, no wasted words. The description is front-loaded with purpose and then explains behavior succinctly.

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

Completeness4/5

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

Given 7 parameters and no output schema, the description covers the core behavior well. Minor lack: does not mention how to retrieve results from job ID, but that is likely covered by arthas_async_jobs.

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 description adds little beyond schema. No additional parameter explanations are provided beyond what the schema already describes.

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?

The description clearly states 'Trace method execution path and timing', which is a specific verb+resource combination. It distinguishes from sibling tools like arthas_stack or arthas_watch by mentioning background execution and async behavior.

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?

Provides guidance on when to use inline vs async mode via awaitMs parameter. However, does not explicitly contrast with other similar tools, leaving some ambiguity about when trace is preferred over stack or watch.

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

arthas_ttC

Time Tunnel: Record method invocations for replay. Record mode (record=true) is ASYNC.

ParametersJSON Schema
NameRequiredDescriptionDefault
listNoList recorded invocations
countNoNumber of recordings
depthNoObject traversal depth
recordNoStart recording (async)
replayNoReplay by index
timeoutNoTimeout in ms
classPatternNoClass name pattern
methodPatternNoMethod name pattern

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided. The description only notes that record mode is async, but does not disclose other behavioral traits such as how replay works, what list does, or any side effects.

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

Conciseness3/5

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

Very brief (two sentences), but lacks structure like bullet points or sections. Could be more informative without adding length.

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 8 parameters, no output schema, and no annotations, the description is inadequate. It does not explain usage patterns (e.g., how to list recordings or replay) or expected results.

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 descriptions already exist for parameters. The tool description adds minimal extra meaning beyond stating record is async. 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?

States the tool records method invocations for replay, which is clear. However, it does not differentiate from sibling tools like arthas_trace or arthas_watch, which also deal with method invocations.

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?

No guidance on when to use this tool versus alternatives. Only mentions async recording, but lacks context for other parameters like list or replay.

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

arthas_versionB

Get Arthas version information.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNoTimeout in ms

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like idempotency, side effects, or return format. It only states the action without any further details, leaving the agent unaware of important aspects.

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 sentence that conveys the core purpose without unnecessary detail. It is efficiently structured and front-loaded.

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

Completeness3/5

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

Given the simplicity of the tool, the description covers the basic function but lacks details about the output format or behavior, which is not compensated by an output schema. Some additional behavioral description would improve completeness.

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?

The schema fully describes the sole parameter 'timeout' with a description. The description does not add any parameter-specific semantics, but the high schema coverage makes this acceptable at baseline.

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?

The description clearly states the tool retrieves Arthas version information, using the verb 'Get' and resource 'Arthas version information'. It is distinct from sibling tools, each of which has a different function.

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?

No usage context is provided. The description does not indicate when to use this tool versus alternatives, nor any prerequisites or scenarios.

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

arthas_watchA

Watch method execution. Runs in background; waits up to awaitMs for completion and returns results inline if done, otherwise returns a job ID. Use arthas_read_log to check output later, arthas_stop_job to stop.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of times to watch (default: 5)
depthNoObject traversal depth
beforeNoWatch before method execution
awaitMsNoWait up to this many ms for inline completion before returning a job ID (default: 5000; pass 0 for pure async)
expressNoOGNL expression (default: {params,returnObj,throwExp})
timeoutNoTimeout in ms
conditionNoConditional expression
exceptionNoWatch only on exception
classPatternYesClass name pattern
methodPatternYesMethod name pattern

TDQS

A4.2/5.0
Behavior4/5

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

Discloses background execution, awaitMs timeout, inline vs. job ID return, and references OGNL expressions. No annotations provided so description carries burden; lacks mention of read-only nature or side effects.

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?

Two concise, front-loaded sentences that waste no words, covering purpose, async behavior, and follow-up actions.

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

Completeness4/5

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

Given 10 parameters and no output schema, the description covers core behavior but omits return format details and parameter explanations beyond what the schema provides.

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 baseline is 3. The description adds no extra meaning beyond the schema for the parameters, e.g., not explaining OGNL or condition expression semantics.

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?

The description clearly states it watches method execution, distinguishes from siblings like arthas_read_log and arthas_stop_job, and explains the inline vs. async behavior.

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?

Provides explicit guidance on using arthas_read_log to check output and arthas_stop_job to stop, but does not differentiate from closely related tools like arthas_trace or arthas_monitor.

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

TDQS

A3.6/5.0
Disambiguation5/5

Each tool has a distinctly described purpose. While some tools (e.g., watch, trace, stack, monitor) overlap in monitoring methods, their descriptions clearly differentiate them (watch for watching parameters/return, trace for timing, stack for call stack, monitor for stats). No ambiguity remains.

Naming Consistency5/5

All tool names follow the consistent pattern `arthas_<verb_or_noun>`, using snake_case throughout. The prefix is uniform, making the set predictable and easy to navigate.

Tool Count5/5

With 25 tools, the server covers the essential Arthas diagnostic commands without being overwhelming. Each tool serves a specific purpose, and the count balances comprehensiveness with usability.

Completeness5/5

The tool set covers all major Arthas capabilities: class inspection, method tracing, thread analysis, JVM info, profiling, heap dump, OGNL, async job management, and a cookbook. There are no obvious gaps for common diagnostic tasks.

Maintenance

ActivityStale
ResponsivenessSyncing

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
    Not graded
    quality
    A
    maintenance
    A Model Context Protocol server that enhances AI agents by providing deep semantic understanding of codebases, enabling more intelligent interactions through advanced code search and contextual awareness.
    88
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for profiling Java applications via JDK utilities (jcmd, jfr, jps). Enables AI assistants to diagnose performance, analyze threads, and inspect JFR recordings without manual CLI usage.
    26
    64
    10
    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/HeavenC/arthas-mcp'

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