Skip to main content
Glama
CodeMonk6

RISBridge MCP

by CodeMonk6

Jupyter job

ris_submit_jupyter_job

Submit a Slurm job to launch JupyterLab on a compute node and receive SSH tunnel instructions for remote access; the tunnel is not opened for you.

Instructions

Launch JupyterLab on a compute node and return the SSH tunnel instructions. Never opens a tunnel itself.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gpuNo
cpusNo
portNo
memGbNo
dryRunNoIf true (default) build+validate and return the confirmation summary; DO NOT submit.
accountNo
confirmNoMust be true (with dryRun=false) to actually submit.
profileNoNamed profile from ~/.risbridge-mcp/config.json. Omit for the default.
projectYesProject name; becomes one directory under the storage workspace.
walltimeNo01:00:00

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, so the safety profile is known. The description adds one genuine behavioral fact beyond the annotations — it does not open the tunnel itself — but it omits the critical dry-run-by-default workflow (dryRun defaults to true, confirm required for a real submit) despite the name implying submission.

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 short sentences, zero waste, with the core action and the key constraint front-loaded. Nothing redundant.

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?

For a 10-parameter mutation tool with no output schema and 40% schema coverage, the description is far too thin. It should explain the dry-run/confirm submission flow and at least gesture at resource parameters; as written, an agent could call it expecting a synchronous launch.

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

Parameters2/5

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

With 10 parameters and only 40% schema description coverage, the description contributes nothing about parameters — no mention of gpu, cpus, memGb, walltime, profile, or the dryRun/confirm submission gate. The untyped fields like gpu, cpus, memGb, walltime, port, and account are left entirely to an under-documented 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?

The description states a specific verb and resource (launch JupyterLab on a compute node) plus a concrete return (SSH tunnel instructions). The closing sentence 'Never opens a tunnel itself' differentiates it from tunnel-oriented siblings like ris_open_ssh_master, though it does not distinguish it from ris_submit_notebook_job or ris_submit_python_job.

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?

Usage is only implied: the mention of returned tunnel instructions suggests a follow-up step, but there is no explicit when-to-use statement and no routing against the many sibling submit_* tools. An agent must infer this is the JupyterLab-specific variant.

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