Skip to main content
Glama
edgegap

Edgegap MCP Server

Official
by edgegap

Create an application version

edgegap_create_app_version

Register a container image as a deployable application version with specified CPU, memory, and ports. Verify image availability before deployment to catch bad images early.

Instructions

Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from. Resource units: 1024 cpu units = 1 vCPU; memory_mb must be at least 256 and at most double the cpu units. Set verify_image true on the first version so a bad image fails here rather than at deploy time. Avoid the "latest" docker tag — use a build ID so deployments are reproducible.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
envNoEnvironment variables injected into the container.
nameYesVersion identifier, typically a build ID or timestamp.
portsYesPorts to expose. At least one is required for players to connect.
cpu_unitsYesvCPU units. 1024 = 1 vCPU.
memory_mbYesMemory in MB. At most 2x cpu_units.
docker_tagYesImage tag. Use a build ID, not "latest".
applicationYesExisting application name.
docker_imageYesNamespaced image, e.g. "mystudio/game-server".
verify_imageNoVerify Edgegap can pull the image before accepting the version.
registry_tokenNoRegistry password or token.
docker_repositoryYesRegistry host, e.g. "docker.io" or "registry.edgegap.com".
registry_usernameNoRegistry username, for private images.
max_duration_minutesNoAuto-stop after this many minutes. Keeps test deployments from running up cost.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4.4/5.0
Behavior4/5

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

Beyond the annotations, the description adds valuable behavioral context: verify_image makes a bad image fail at registration rather than deployment, and resource units/memory constraints define server sizing. It does not contradict the openWorldHint/idempotentHint/destructiveHint annotations, and while it does not discuss auth or rollback, the annotations already cover the safety profile.

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?

Four tight sentences with no filler; the core purpose is front-loaded in the first sentence, followed by constraints and recommendations. Every sentence adds either a precondition, a conversion rule, or a best practice, so the description is appropriately sized.

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?

For a 13-parameter tool with no output schema, the description covers the non-obvious prerequisites, resource constraints, verification behavior, and tag strategy, while the schema handles parameter details. It does not describe response shape or failure modes, but this is not necessary for invoking the tool successfully, so the definition is nearly complete.

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, and the description adds extra meaning: the registry-pull precondition, the 1024 cpu units = 1 vCPU conversion, and the advice to set verify_image on the first version. These details make parameter choices more actionable even though some duplicate the schema text.

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 opens with a specific verb and resource: “Register a container image as a deployable version of an application,” which clearly distinguishes this from sibling tools like edgegap_create_app or edgegap_deploy. The title and description align and scope the operation to version registration rather than app creation or deployment.

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?

The description provides clear context: use it to register an already-pushed image and states a precondition (“The image must already be pushed to a registry that Edgegap can pull from”). It offers operation-specific recommendations (verify_image on first version, avoid latest tag) but does not explicitly name alternatives or when-not-to-use conditions, so it stops short of a 5.

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