Skip to main content
Glama
antideploy

antideploy-mcp

Official
by antideploy

Create the application for this project

create_application

Creates and records an Antideploy application for a project in .antideploy.json so later database and deploy calls target the right app; handles existing names by linking them.

Instructions

Create an Antideploy application for the project in this folder and record it in .antideploy.json, so every later call knows which application it is about. This is the step the dashboard used to be for: there is no application or key to make by hand. Do it once per project, before database_create and deploy. A name already in use answers with the existing application, which is then linked instead of duplicated and marked reusedExisting: that application may belong to another project, and a deploy replaces what is live there, so ask the user before deploying to it. The address is the user's to choose: if they have said what they want, pass it as subdomain after check_address; otherwise leave it out and settle it with update_app_settings before the first deploy. A 402 means the plan's limit is reached: that is not a rate limit, so do not retry, say what it says and let the user choose. Needs login.

Input Schema

NameRequiredDescriptionDefault
nameNoLetters, digits and hyphens. Defaults to the folder's name.
directoryNoThe project folder. Defaults to this server's working directory.
subdomainNoThe address label the user chose, like my-app.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.8/5.0
Behavior5/5

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

Adds substantial context beyond the sparse annotations: it discloses idempotent-ish collision behavior (returns the existing application, links it, marks reusedExisting), the risk that the reused app belongs to another project and will be replaced by a deploy, auth requirement ('Needs login'), and the meaning of a 402 (plan limit, not a rate limit, do not retry). That is exactly the operational detail annotations do not supply.

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 purpose is front-loaded in the first sentence and nearly every sentence carries a decision rule or risk. It is dense but slightly overlong and semicolon-heavy, with one mildly expendable sentence ('This is the step the dashboard used to be for').

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 mutation tool with no output schema and thin annotations, the description covers prerequisites (login), ordering relative to database_create/deploy/check_address/update_app_settings, side effects (writing .antideploy.json, linking an existing app), and a specific error path. Nothing an agent needs before invoking it is missing.

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 baseline is 3, but the description adds real decision guidance the schema does not: when to supply subdomain (only after check_address and only if the user chose it) and what happens when it is omitted. It also reinforces the folder-name default for name and the working-directory default for directory.

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 an Antideploy application') plus the concrete side effect of recording it in .antideploy.json. It clearly separates itself from siblings like link_application, list_applications and update_app_settings by describing creation-with-persistence rather than linking or listing.

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 explicit sequencing ('Do it once per project, before database_create and deploy'), explicit when-to-ask-the-user behavior for the reused-application case, and explicit branching on subdomain ('if they have said what they want, pass it as subdomain after check_address; otherwise leave it out and settle it with update_app_settings'). Alternatives and orderings are named rather than implied.

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