Skip to main content
Glama
AkaciaNL

BasicDeploy MCP Server

create_container

Create a new empty container with an attached PostgreSQL database and S3 bucket. Get a public URL proxied to port 8080 to deploy your application.

Instructions

Create a new empty BasicDeploy container. A PostgreSQL database and an S3 bucket are provisioned automatically for it. Returns the container's id, subdomain, and public URL. Its public URL is proxied to PORT 8080 inside the container, so whatever you deploy MUST listen on 0.0.0.0:8080 (any other port/binding returns 503). Use deploy_app or exec_command afterwards to put an application in it. Optional memoryMb (256/512/1024/2048) and alwaysOn require the plan/add-ons to allow them (see get_account); larger sizes need Pro/Scale, and always-on on Free consumes a paid add-on slot.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
alwaysOnNoKeep the container running 24/7 (never auto-sleep). On Free this uses a paid add-on slot.
memoryMbNoMemory for the container in MB: 256, 512, 1024, or 2048. Defaults to the plan's default.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesContainer UUID.
urlYesPublic HTTPS URL.
statusYesLifecycle status, e.g. running or sleeping.
createdAtNoCreation time (ISO 8601).
subdomainYesContainer subdomain.
memoryBytesNoMemory limit in bytes.
storageBytesNoStorage used in bytes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.3

TDQS

A5/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that PostgreSQL and S3 are provisioned automatically, that the tool returns id/subdomain/URL, and that the public URL proxies to port 8080 so the app must listen on 0.0.0.0:8080 or return 503. It also reveals billing implications for alwaysOn on Free. No contradiction with readOnlyHint=false or destructiveHint=false.

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?

The description is dense but well-organized: core action, provisioned resources, return values, the critical port constraint, and optional-parameter constraints. Each sentence earns its place and there is no filler or repetition of annotation data.

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?

Covers the creation action, side effects, return values, the 8080 deployment requirement, next-step tools, and plan-sensitive parameter constraints. With an output schema and annotations also present, nothing essential is missing for correct selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema already gives basic descriptions, the tool description adds substantial meaning: allowed memoryMb values, plan-tier restrictions, the default behavior, and alwaysOn's paid add-on cost on Free. This is exactly the kind of guidance an agent needs to choose parameter values correctly.

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?

Clearly states the operation (create) and the object (a new empty BasicDeploy container), and immediately distinguishes itself by noting automatic PostgreSQL/S3 provisioning and the follow-up use of deploy_app or exec_command. This separates it from sibling tools like list_containers or get_container.

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?

Provides an explicit usage flow: create the empty container first, then use deploy_app or exec_command to add an application. It also tells the agent when optional parameters are allowed, including plan requirements and the pointer to get_account for validation.

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