Skip to main content
Glama
shigechika

io.github.shigechika/junos-mcp

by shigechika

copy_package

Copy firmware to Juniper device with checksum verification, skipping if already present or running target version.

Instructions

Copy firmware package to remote device via SCP with checksum verification.

Checks if copy is needed (already running target version, or package already present on device). Cleans up storage before copying.

Args: hostname: Target device hostname (must exist in config.ini) dry_run: If True (default), show what would be done without copying force: If True, skip version checks and force copy config_path: Path to config.ini (empty string uses default search)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostnameYes
dry_runNo
forceNo
config_pathNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

With no annotations, the description takes full responsibility. It discloses key behaviors: checksum verification, existence checks, storage cleanup, and the function of dry_run and force parameters. However, it lacks details on error handling or timeout behavior.

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 well-structured with a summary line followed by bullet points. It is reasonably concise but includes some explanatory text that could be shortened without losing meaning.

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 4 parameters and no annotations, the description covers purpose, behavior, and parameter semantics. An output schema exists but its content is not described; however, the description is sufficient for basic invocation. Minor gaps in error handling or output format remain.

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

Parameters5/5

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

The description compensates for 0% schema coverage by detailing each parameter's meaning: hostname must exist in config.ini, dry_run defaults to true, force skips checks, config_path default search. This adds substantial value 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 'Copy firmware package to remote device via SCP with checksum verification', specifying a concrete action and resource. It differentiates from sibling tools like install_package or rollback_package by focusing on the copy step.

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 implies when to use the tool by mentioning pre-checks (version, presence) and the force flag's effect, but it does not explicitly list conditions for use or caution against using when copy is unnecessary. No direct comparison with siblings is given.

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

Install Server

Other Tools

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/shigechika/junos-mcp'

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