Skip to main content
Glama

Cài ứng dụng có sẵn

deploy_app

Cài app CÓ SẴN từ docker image công khai (n8n, WordPress…) thành một app trên máy. Mỗi app một tên (slug) + subdomain riêng, nhiều app chạy song song.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
portNoPort app lắng nghe trong container (mặc định 80)
slugYesTên app → subdomain <slug>.tocbien.app
imageYesDocker image công khai, vd: n8nio/n8n
vps_idYesID dạng vps_...

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already signal a non-read-only, non-idempotent, non-destructive action, and the description adds that each app gets a unique slug/subdomain and that multiple apps can run in parallel. It does not, however, disclose lifecycle details such as image pulling, port behavior, failure states, or whether the deployment result is asynchronous, so it only partially extends beyond the annotations.

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 two short sentences, front-loads the core action, and uses concrete examples without filler. Every clause contributes useful context about installation, public images, naming, and parallelism.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The core operation and its high-level constraints are clear, and the schema covers all parameters. However, there is no output schema and the description does not say what a caller receives (e.g., status, order ID), how to choose vps_id, or whether the operation is asynchronous, which are meaningful gaps for a non-idempotent creation action.

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

Parameters3/5

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

Schema description coverage is 100%, so vps_id, slug, image, and port are already documented in the schema. The description reinforces the public-image requirement and the slug-to-subdomain relationship, but does not add meaningful details beyond the schema, especially for vps_id and port. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Cài app CÓ SẴN') and resource ('docker image công khai'), with examples (n8n, WordPress) and the slug/subdomain model. It distinguishes itself from deploy_code through 'CÓ SẴN', but it does not explicitly name or contrast that sibling, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'CÓ SẴN từ docker image công khai' implies when to use the tool: when deploying a ready-made public app image. However, it never states when not to use it or directs the agent to deploy_code/prepare_code_deploy for source-based deployments, so the routing guidance is implied rather than explicit.

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.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool clearly targets a distinct resource and action, such as VPS management, app deployment, billing, or domain attachment. Even the two deploy-related tools, deploy_app and deploy_code, are clearly separated by source (pre-built image vs uploaded code).

Naming Consistency5/5

All tool names follow a consistent lowercase snake_case verb_noun pattern, such as create_vps, destroy_vps, list_apps, and attach_subdomain. prepare_code_deploy is slightly more compound, but it still follows the same predictable style.

Tool Count5/5

12 tools is a well-scoped size for a VPS/hosting platform. Each tool earns its place and covers distinct aspects of the product: infrastructure, app deployment, billing, and information lookup.

Completeness4/5

The core workflows are covered well: creating and destroying VPS, deploying apps, listing resources, attaching subdomains, and handling billing. Minor gaps remain, such as stopping or deleting an individual app and restarting/resizing a VPS, but agents can work around these via recreate or destroy.

Resources