Skip to main content
Glama

create_custom_app

Register a custom application definition from the user's own Docker images (and/or public images) so it can be deployed with create_app. Push images first: get_registry_credentials, then tag/push as /:, and verify with list_custom_images. Container 'image' is 'repo:tag' when is_custom is true (an image in the user's registry, the default), or a fully-qualified public image including its registry domain, like 'docker.io/library/postgres:16', when is_custom is false. Publish exactly one port on the container that serves traffic; volumes persist data at container_path; env_vars function defaults to TEXT for literal values.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
containersYes
descriptionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose non-obvious behavior: is_custom defaults to true (registry image), the image reference format differs per mode, exactly one port must serve traffic, volumes persist data at container_path, and env_vars function defaults to TEXT. It stops short of stating permissions, idempotency, or what happens on a name collision, so it is strong but not complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is correctly front-loaded, but the body is a dense run-on paragraph that jumbles prerequisites and per-field semantics together. It also near-verbatim repeats the schema's own image description ('repo:tag' vs fully-qualified public image), which spends words without adding new value.

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 moderately complex nested tool with no annotations and no output schema, the description covers the registration workflow, image sourcing modes, port/volume/env_vars semantics well enough to call it correctly. Missing only the return value and collision/permission behavior.

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?

Top-level schema descriptions are absent (reported coverage 0%), but the description compensates well by explaining the image reference format for both is_custom modes, the single-traffic-port constraint, container_path volume semantics, and the env_vars TEXT default. It does not explain the top-level 'name' or 'description' fields, but those are largely self-evident.

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+resource: 'Register a custom application definition from the user's own Docker images', and explicitly positions it upstream of the sibling create_app ('so it can be deployed with create_app'). An agent can distinguish this registration step from deployment without opening either schema.

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 ordered workflow and prerequisite chain: push images first via get_registry_credentials, tag/push as <registry>/<app-name>:<tag>, then verify with list_custom_images. It names the downstream alternative (create_app) and the verification sibling (list_custom_images), leaving nothing to inference.

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