Skip to main content
Glama
pc439527

jumpserver-mcp

by pc439527

jumpserver_run

Destructive

Execute one shell command on a target asset through JumpServer by connecting or reusing a session, switching assets as needed, and returning structured output.

Instructions

Run ONE simple command on a target reachable through JumpServer: connects (or reuses the session), switches asset when necessary, verifies the target, executes, and returns structured output. Same command-style limits as jumpserver_exec. For MULTIPLE metrics on one target call jumpserver_batch ONCE instead of calling this repeatedly.

Input Schema

NameRequiredDescriptionDefault
targetYesTarget asset IP or name, e.g. 203.0.113.101
commandYesShell command to execute on the remote asset.
confirmNoSet true only after the user approved these command(s). The first attempt returns COMMAND_APPROVAL_REQUIRED with the reason.
timeoutNoTimeout in seconds (default: configured command timeout, max 600).
accountIndexNoThe account ID shown by KoKo at the `ID>` prompt (usually 1 or 2; matches the number on the screen).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.13

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare destructive=true and readOnlyHint=false, so the write profile is already covered. The description adds useful behavior beyond that: session reuse, asset switching, target verification, and structured output, which tells the agent this is a stateful, multi-step operation rather than a one-shot call. It does not, however, say what gets destroyed or how failures/session state are left behind.

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, zero filler. The primary action and its workflow are front-loaded, and the sibling routing rule is packed into a single clarifying clause at the end.

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?

There is no output schema, but the description states that structured output is returned and describes the exact sequence an agent should expect, including in-session asset switching. Combined with a fully documented 5-parameter schema and clear annotations, an agent has enough to invoke this 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% and the schema already documents target, command, confirm (with the COMMAND_APPROVAL_REQUIRED behavior), timeout defaults/max, and accountIndex semantics. The description adds no parameter-level meaning beyond what the schema provides, so baseline 3 applies.

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?

States a specific verb (Run) and resource (ONE simple command on a target reachable through JumpServer) and enumerates the internal steps: connect/reuse session, switch asset, verify target, execute, return structured output. It also names the sibling it is not (jumpserver_batch for multiple metrics), so an agent can separate it from the nearest alternative without opening schemas.

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?

Explicitly routes multi-metric work to jumpserver_batch and warns against calling this repeatedly. It gives clear context for the single-command case, but the boundary with the very similarly named jumpserver_exec is only gestured at ('Same command-style limits'), leaving the agent to infer which of the two to pick.

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