Skip to main content
Glama

Create Saved Server

create_instance
Destructive

Create a new saved server configuration. This costs nothing and does not bring anything online. It produces a saved server that deploy_instance can then put into a free slot. Always call this with dry_run: true first and show the user the returned plan (what will be installed, location, connection address, and any licence they must accept); only call again with dry_run: false once they have approved it. Without file_id or release_id this installs the game's latest version. For a modpack, server variant or mod loader, find its file_id with search_game_files; for an older version, find its release_id with list_file_releases. To replace a running server with the new one while keeping the old one saved, follow up with swap_instance.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "game": "<game>",
      "name": "<name>",
      "location": "<location>"
    },
    "name": "create_instance"
  }
}

Input Schema

NameRequiredDescriptionDefault
gameYesGame slug, e.g. "minecraft", "valheim", "palworld". Must match a slug from get_game or list_instances.
nameYesWhat to call the server in the dashboard. Also becomes its connection hostname, so ask the user rather than inventing one.
confirmNoMust be true when dry_run is false. Set it only after showing the user the dry-run plan and getting their approval.
dry_runNoTrue (the default) resolves and returns the plan without creating anything. Only pass false after the user has approved that exact plan.
file_idNoOptional modpack or server variant to install, from search_game_files. Omit to install the game itself.
locationYesLocation id or exact name from list_locations. Ask the user which region their players are closest to, since changing it later needs a redeploy.
domain_idNoOptional connection domain id. Defaults to the game's first available domain, which is almost always right.
release_idNoOptional specific version of that file (or of the game itself when file_id is omitted), from list_file_releases. Defaults to the latest.
auto_update_on_startNoUpdate the game to the latest version each time the server starts. Defaults to false; leave it off when the user asked for a specific version.
license_confirmationNoRequired for Minecraft and its variants. Set true ONLY if the user has themselves confirmed they accept the licence named in the dry run. Never set this on your own behalf or on an assumption, since it records their acceptance of a legal agreement.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructiveHint=true, and the description supplies the context that makes that safe to act on: the call itself creates only a saved config with no cost and nothing online, and the real mutation is gated behind dry_run/confirm plus a user-approved plan. It further discloses that licence_confirmation records a legal acceptance that must come from the user and that changing location later requires a redeploy.

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?

Front-loaded with the core definition and the cost/no-impact clarification before the procedural instructions. Dense but nearly every sentence carries operational value; the list of sibling routing hints at the end is the only mildly padded portion.

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 10-parameter creation tool with no output schema, the description covers the full decision path an agent needs: what it does and does not do, the dry-run/approval gate, how to resolve file and version identifiers, and what to do next after creation. Nothing required to invoke it correctly is left unstated.

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 the baseline is 3, but the description adds real meaning beyond the schema: the interaction between file_id/release_id and version selection (omitting both installs the latest), the two-phase dry_run/confirm contract, and the constraint that location and licence acceptance are user decisions. It stops short of explaining domain_id or auto_update_on_start interactions, which are only covered by 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?

States a specific verb and resource ("Create a new saved server configuration") and immediately bounds the scope with "costs nothing and does not bring anything online." It explicitly separates itself from deploy_instance (which puts it into a slot) and swap_instance (which replaces a running server), so an agent can distinguish it from siblings without reading 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 mandatory workflow: call with dry_run: true, show the user the returned plan, then call again with dry_run: false only after approval. It also names the alternative tools for each sub-case (search_game_files for modpacks/variants, list_file_releases for older versions, swap_instance for replacement) and states the default when no file_id/release_id is supplied.

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.

Resources