Skip to main content
Glama

deployado_create_app

Create a new app in a project from a Git repository using a Dockerfile; configure build context, branch, and internal port for containerized or static-site deployments.

Instructions

Create a new app in a project.

IMPORTANT: Apps with a repository_url are built using Docker. The repository MUST contain a Dockerfile (at dockerfile_path, default "Dockerfile" relative to build_context).

For static websites (HTML/CSS/JS), add a simple Dockerfile: FROM nginx:alpine COPY . /usr/share/nginx/html EXPOSE 80

Key parameters:

  • repository_url: Git repo URL (HTTPS). Required for repo-based apps.

  • dockerfile_path: Path to Dockerfile relative to build_context (default: "Dockerfile").

  • build_context: Subdirectory where Docker build runs, relative to repo root (default: "."). Use this when your site is in a subfolder (e.g. "website").

  • port: The port your app listens on inside the container. For nginx use 80, for Node.js typically 3000 or 8080.

  • branch: Git branch to build from (default: "main").

Input Schema

NameRequiredDescriptionDefault
nameYesApp name
portNoInternal port the app listens on
branchNoGit branch (default: main)
project_idYesProject ID to create the app in
build_contextNoDocker build context path
repository_urlNoGit repository URL
dockerfile_pathNoPath to Dockerfile

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already specify readOnly=false, destructiveness=false, and idempotency=false. The description adds important behavioral context beyond annotations: repository-based apps are built with Docker and must contain a Dockerfile at the specified path, including an example for static sites. It does not mention permissions or what happens after creation, but the added Docker requirement is valuable.

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?

The description is front-loaded with the core action, then uses a clear IMPORTANT section and parameter list. The static website Dockerfile snippet is useful, though the parameter list partially repeats schema field names. Overall it is appropriately sized and structured.

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 7-parameter creation tool with no output schema, the description covers the essential Docker build requirements, defaults, and common port choices. It leaves out what happens if repository_url is omitted, whether creation triggers deployment, and any app-name constraints, but it is largely complete for correct invocation.

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 description coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining that repository_url is required for repo-based apps, clarifying defaults for dockerfile_path, build_context, and branch, and giving practical port examples for nginx and Node.js. It still does not explain name constraints or all project_id expectations, so it falls short of a 5.

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 states a specific verb and resource: 'Create a new app in a project.' This clearly distinguishes the tool from siblings like update_app, delete_app, and list_apps. An agent can identify the operation without opening the schema.

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?

It provides clear context for when Docker/repository-based creation applies and explains how static websites should include a Dockerfile. It does not explicitly name alternatives such as update_app for existing apps, but the creation context is well established.

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