Skip to main content
Glama

Submit a deck (inline files) and start it

submit_job

One call: create a hosted GPU job, upload the deck given INLINE as {relative_path: text}, and queue it. Total inline size <= 8 MB; for larger decks use create_job, PUT the tarball to upload_url, then start_job. Billing starts at the first heartbeat (state running) and stops at done/failed/cancelled. The deck is executed as a program on an isolated GPU pod.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gpuNoGPU class; call account for the offered classes and how jobs are priced. Default any = cheapest available
filesYesDeck contents: {"in.lmp": "...", "data.al": "..."}; paths relative, no '..'; must include `input`
inputYesRelative path of the LAMMPS (or runner) input script inside the deck, e.g. in.lmp
labelNoFree text <= 120 chars shown in job lists
launchNoLaunch template; omit for the default KOKKOS/CUDA LAMMPS command line
runnerNoRunner flavour: lammps (default) or openmm (beta)
end_markerNoOptional line your deck prints when it truly finished (e.g. a `print DONE` at the end); a done job whose log lacks a line starting with it gets verdict=warnings, end_marker_missing=true
estimate_sNoYour runtime guess in seconds; informational only; the pre-check uses wall_limit_s net of credit held by your unfinished jobs
wall_limit_sNoHard cap in seconds (default 14400, max 86400); the job fails at the cap and is billed to it

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / end_marker
      Added value: +{
      +  "description": "Optional line your deck prints when it truly finished (e.g. a `print DONE` at the end); a done job whose log lacks a line starting with it gets verdict=warnings, end_marker_missing=true",
      +  "type": "string"
      +}
    • changedInput schema / properties / estimate_s / description
      Previous value: -"Your runtime guess in seconds; only used for the balance pre-check (min 900 s at the rate)"New value: +"Your runtime guess in seconds; informational only; the pre-check uses wall_limit_s net of credit held by your unfinished jobs"
  2. Changed1 schema field changed
    • changedInput schema / properties / gpu / description
      Previous value: -"GPU class; call account for the currently offered classes and hourly rates. Default any = cheapest available"New value: +"GPU class; call account for the offered classes and how jobs are priced. Default any = cheapest available"
  3. Changed2 schema fields changed
    • changedInput schema / properties / gpu / description
      Previous value: -"GPU class: any (cheapest available, default), rtx4090, a100 -- see account.rate_table"New value: +"GPU class; call account for the currently offered classes and hourly rates. Default any = cheapest available"
    • changedInput schema / properties / runner / description
      Previous value: -"Runner flavour: lammps (default) or openmm"New value: +"Runner flavour: lammps (default) or openmm (beta)"
  4. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations declare it is a non-read-only, non-idempotent, open-world write, and the description adds substantive behavior beyond them: billing starts at the first heartbeat (state running) and stops at done/failed/cancelled, and the deck runs on an isolated GPU pod. These are exactly the cost/lifecycle facts an agent needs before submitting.

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?

Three sentences, front-loaded with the one-call composite behavior, then the size threshold and fallback path, then billing lifecycle. No redundant restatement of the title or schema.

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?

With no output schema, the description still covers the workflow, the size constraint, the escape hatch, billing boundaries, and execution isolation; all nine parameters carry schema descriptions. Nothing needed to invoke this tool correctly is missing.

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, and the description adds real value by clarifying files must be supplied INLINE as {relative_path: text} with an 8 MB ceiling that is not encoded anywhere in the schema. It stops short of explaining gpu/launch/end_marker semantics, which the schema already handles well.

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 first sentence names a specific verb set and resource (create a hosted GPU job, upload the inline deck, queue it) and the title/description make clear it is a one-call composite. It explicitly distinguishes itself from the create_job + PUT + start_job path used by siblings, so an agent can route correctly 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 Guidelines5/5

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

Gives an explicit threshold for choosing this tool (inline total <= 8 MB) and names the exact alternative workflow with its three sibling tools when the deck is larger. This is textbook when-to-use / when-not-to-use guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.