Skip to main content
Glama
themonagroup

monacloud-mcp

Official
by themonagroup

monacloud-mcp

monacloud-mcp là MCP hợp nhất của MONA Cloud: cài một lần, đăng nhập một MONA Pass và dùng chung ví VND để quản lý tài khoản, chạy app/VPS, tích hợp MONA Pay, gửi email giao dịch bằng MONA Mail và đọc catalog MONA Agent ngay trong Claude Code, Codex hoặc Cursor.

Human đăng ký, duyệt chi phí, thêm DNS khi cần, nạp tiền và cung cấp OTP/KYC khi bắt buộc. Các bước tạo tài nguyên, đọc trạng thái, cấu hình webhook, test và deploy được thiết kế để AI agent làm qua MCP.

0.4.0 — Đưa thư mục hiện tại lên web

Prompt Claude Code: “Đưa dự án này lên MONA Cloud, dùng thư mục hiện tại”.

AI làm 99%: cloud_app_detect(local_dir) offline → đọc host và giá → sandbox nếu cần host mới → hỏi duyệt chi phí một lần → cloud_app_create(local_dir) → kiểm và trả URL. Có domain riêng thì cloud_app_domain_add và hướng dẫn CNAME. Human đăng ký MONA Pass qua device flow và nạp ví khi hết credit 20k.

Tool

Đầu vào / hành vi 0.4.0

cloud_app_detect

local_dir: stack, port, start, Dockerfile, build_type, tên env từ .env.example; không mạng

cloud_app_create

local_dir, name?, build_type?, env?, port?, domain?: ZIP → tạo source=upload → multipart → poll → {url, app_id, build, seconds}

cloud_app_deploy

app_id, local_dir?: có thư mục thì ZIP mới, upload, chờ rồi deploy; bỏ thư mục để dùng bản cũ

cloud_app_domain_add

app_id, host: gắn domain và nhận hướng dẫn CNAME

cloud_app_detect({ local_dir: "/absolute/path/to/project" })
cloud_app_create({ local_dir: "/absolute/path/to/project", name: "shop", sandbox: true })
// Sau khi đã duyệt chi phí
cloud_app_create({ local_dir: "/absolute/path/to/project", name: "shop" })
cloud_app_deploy({ app_id: "<app_id>", local_dir: "/absolute/path/to/project" })

ZIP tối đa 80 MiB, loại .env*, *.pem, .git, node_modules và symlink; áp dụng .gitignore/.dockerignore. dist được giữ mặc định. Git vẫn dùng repo_url như trước. Hợp đồng upload, giới hạn và cách tiếp tục job.

Related MCP server: ATXP MCP Server

Yêu cầu

  • Node.js 20 trở lên.

  • Một MONA Pass có quyền dùng client monacloud-mcp.

  • MONA Pass, Billing, compute MONA Cloud và MONA Pay đã được cấu hình theo môi trường triển khai.

Cài và đăng nhập

Đăng nhập lần đầu bằng OAuth Device Authorization Grant:

npx -y monacloud-mcp login

Lệnh in URL tại pass.monacloud.vn và mã thiết bị. Sau khi xác nhận, offline refresh token được lưu tại ~/.config/monacloud/token.json; thư mục có mode 0700, file có mode 0600. Server tự refresh access token và không in token ra log.

Kiểm tra hoặc đăng xuất:

npx -y monacloud-mcp whoami
npx -y monacloud-mcp logout

Claude Code

claude mcp add monacloud -- npx -y monacloud-mcp

Codex (~/.codex/config.toml)

[mcp_servers.monacloud]
command = "npx"
args = ["-y", "monacloud-mcp"]

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "monacloud": {
      "command": "npx",
      "args": ["-y", "monacloud-mcp"]
    }
  }
}

MCP client không cần giữ username/password sản phẩm. Có thể truyền PAT trực tiếp bằng MONACLOUD_TOKEN trong CI hoặc môi trường không dùng token store; không commit giá trị này.

Tool

Tên tool dùng snake_case để giữ tương thích với prompt MONA Pay cũ.

MONA Cloud

Tool

Công dụng

cloud_whoami

Hồ sơ MONA Pass hiện tại

cloud_balance

Số dư ví VND chung

cloud_ledger

Ledger nạp/trừ/hoàn tiền có cursor

cloud_topup(amount)

Tạo yêu cầu nạp, trả qr_data_url và hướng dẫn VietQR

cloud_usage(period)

Usage theo tháng, có thể lọc sản phẩm

cloud_services

Gom VPS/database, VA và webhook MONA Pay

cloud_budget_set / cloud_budget_get

Đặt và đọc budget theo product/project/token

cloud_token_limit

Đặt spend limit cho PAT/token

cloud_open_console

Trả URL console chung

MONA Pay

monacloud-mcp import monapay-mcp và re-export toàn bộ tool của package, không copy implementation. Dependency range là ^0.5.5; bộ dependency offline tại lần verify này là 0.5.5 với 47 tool MONA Pay, gồm các nhóm:

  • hồ sơ và nối ACB/VA bằng hai lần OTP;

  • payment profile, checkout, VietQR, sandbox transaction và đối soát;

  • webhook, log, thống kê và retry;

  • email notification, verification, suppression và log;

  • xoay key, kiểm chữ ký HMAC và sinh code mẫu webhook.

Các tên cũ như monapay_create_qr, monapay_link_bank_start, monapay_create_webhook được giữ nguyên. monapay_link là adapter chuyển tiếp: đổi MONA Pass thành client_id/client_secret rồi cache kín ở ~/.config/monacloud/links.json. Adapter này sẽ được bỏ khi MONA Pay nhận JWT MONA Pass trực tiếp.

Compute MONA Cloud

Tool

Công dụng

cloud_link

Xác nhận direct MONA Pass; chỉ đổi sang vc_live_* nếu upstream còn ở chế độ cũ

cloud_vps_create

Hourly theo cấu hình; monthly theo plan_code, period: month/year, kiểm ví đủ giá kỳ

cloud_db_create

Tạo MongoDB, PostgreSQL hoặc MySQL

cloud_job_status

Poll job tới trạng thái cuối, có timeout

cloud_services_list

Liệt kê VPS/database

cloud_service_start / cloud_service_stop / cloud_service_rebuild

Quản lý vòng đời service

cloud_prices / cloud_packages

Đơn giá và gói cấu hình

cloud_agent_deploy

Stub có cấu trúc cho runtime MONA Agent wave sau

cloud_service_stop không bị chặn bởi số dư để người dùng luôn có thể hạn chế chi phí. Những lệnh tạo/start/rebuild thật đọc GET /v1/balance trước khi gọi compute MONA Cloud.

MONA Mail

MONA Mail là dịch vụ gửi email giao dịch cho phần mềm và AI agent của người Việt: một API, trả VND, không cần thẻ, thuộc nhóm MONA Cloud của The MONA Group.

20 tool mail_* dùng MONA Pass sẵn có; tài khoản Mail được tạo tự động ở request đầu. Site: https://monamail.vn, API: https://api.monamail.vn.

Tên

Việc

mail_account

Đọc tài khoản, email chủ, quota và bước kế tiếp

mail_plans

Đọc giá và quota hiện hành của các gói

mail_plan_set

Đổi gói, trừ ví VND khi chọn gói trả phí

mail_send

Gửi OTP/thông báo hoặc thử bằng sandbox: true

mail_status

Đọc trạng thái, events và nội dung sandbox

mail_list

Lọc lịch sử theo trạng thái, người nhận và thời gian

mail_domain_add

Thêm domain, trả records DNS và hướng dẫn

mail_domain_verify

Kiểm DKIM và xác minh domain

mail_domain_cloudflare

Thêm DNS bằng token Cloudflare của người dùng, dùng một lần, không lưu/log

mail_domains_list

Liệt kê domain cùng trạng thái

mail_api_key_create

Tạo key live/test, secret chỉ trả một lần

mail_api_keys_list

Xem prefix và trạng thái key

mail_api_key_revoke

Thu hồi key của app

mail_webhook_create

Đăng ký HTTPS endpoint và các sự kiện email

mail_webhooks_list

Liệt kê webhook

mail_webhook_test

Gửi payload email.delivered mẫu

mail_suppressions_list

Xem địa chỉ ngừng gửi và lý do

mail_suppression_remove

Gỡ suppression của tài khoản; không gỡ lớp toàn hệ

mail_template_create

Tạo mẫu với biến {{ten_bien}}

mail_stats

Đọc thống kê giao thư và bounce theo thời gian

mail_send nhận 1 đến 50 người nhận, tối đa 10 tags, subject tối đa 998 ký tự và ít nhất một trong html/text. Khi dùng template_id, template thay cho subject/html/text. Sender onboarding@monamail.vn chỉ gửi tới email chủ từ mail_account; domain riêng cần verified trước khi gửi.

Key chỉ trả một lần; ghi vào .env của app dưới tên MONAMAIL_API_KEY, không cần in ra chat. MCP tiếp tục dùng MONA Pass; app dùng SDK monamail với key mm_live_ hoặc mm_test_. Sandbox bằng mail_send({ ..., sandbox: true }) gửi header X-Mona-Sandbox: 1 và trả sandbox: true; sandbox không gửi ra Internet, không tính quota hoặc trừ ví. Dùng mail_status để xem sandbox_preview.

Mọi POST gửi Idempotency-Key từ idempotency_key hoặc tự tạo mcp-mail-<uuid>. Truyền key ổn định khi cần retry: trong 24 giờ, cùng key và body trả response cũ; khác body trả idempotency_conflict. MCP đưa key vào header, không đưa sandbox vào body API. Giá gói lấy bằng mail_plans; lỗi thiếu ví từ mail_plan_set hướng dẫn gọi cloud_topup.

Thử 0đ bằng sandbox

Truyền sandbox: true cho cloud_vps_create, cloud_db_create, cloud_service_start, cloud_service_rebuild hoặc cloud_agent_deploy để thử luồng mà không cần số dư ví. Có thể bật mặc định cho cả MCP process bằng MONACLOUD_SANDBOX=1; các alias vibecloud_* có cùng hành vi.

Ở chế độ này MCP bỏ qua GET /v1/balance, tự gửi X-Vibecloud-Sandbox: 1 đến compute API và bảo đảm response có sandbox: true. Ví dụ:

cloud_vps_create({ app_name: "shop-demo", package_slug: "standard-2", sandbox: true })
cloud_job_status({ job_id: "...", sandbox: true })
cloud_services_list({ sandbox: true })

cloud_job_status tự tìm job sandbox theo ID mà không cần header. cloud_services_list({ sandbox: true }) dùng khả năng include_sandbox của API để gộp service thật và sandbox. Sandbox không tạo hạ tầng thật, không trừ tiền và có thể bị dọn theo TTL của compute API. cloud_agent_deploy vẫn là stub cho đến khi runtime MONA Agent được phát hành, nhưng response sandbox được đánh dấu nhất quán.

MONA Agent

  • agent_templates_list: ưu tiên catalog local tại ~/monacloud/templates, sau đó URL cấu hình, cuối cùng catalog wave 1 tích hợp.

  • agent_templates_get(template): trả các file README.md, AGENTS.md, tools.json, deploy.md, CHECKLIST.md và skill text.

  • agent_deploy(template): dùng cùng slot runtime với cloud_agent_deploy; hiện trả agent_runtime_pending theo yêu cầu stub của wave này.

Resource và prompt

  • monacloud://llms: mô tả máy đọc của toàn stack MONA Cloud.

  • monacloud://status: health tổng hợp MONA Pass, Billing, compute MONA Cloud, MONA Pay và MONA Mail (/v1/healthz).

  • Prompt dung-app-ban-hang-monacloud: chuỗi VPS → database → VA/QR → webhook → deploy, đọc giá, duyệt chi phí rồi tạo; dự án local dùng cloud_app_detect rồi cloud_app_create(local_dir); git dùng repo_url.

  • Prompt gui-mail-otp-monamail(app_name?, framework?, domain?): account → thử onboarding → domain/DNS → verify → API key → .env → SDK OTP → webhook bounced; chỉ dừng ở bước thêm DNS hoặc nạp tiền.

Spend guard và lỗi cho AI

Trước lệnh compute MONA Cloud thật có thể phát sinh tiền, MCP đọc ví chung. Sandbox bỏ qua bước này vì chi phí 0đ. HTTP 402 insufficient_funds402 budget_exceeded được chuẩn hoá thành text JSON:

{
  "code": "budget_exceeded",
  "message": "Ví thiếu 20.000 đ hoặc đã chạm giới hạn chi tiêu.",
  "next_step": "Nạp ví hoặc tăng ngân sách tại https://monacloud.vn/console rồi gọi lại tool.",
  "request_id": "req_..."
}

Token và linked secret không nằm trong payload lỗi hoặc log. request_id được giữ khi API upstream trả về để agent tự đối chiếu.

Ví dụ một lượt: dựng app bán hàng

Người dùng nói:

Dựng app bán hàng Node.js, có PostgreSQL và thu tiền VietQR, deploy lên MONA Cloud.

Agent thực hiện:

  1. cloud_whoamicloud_balancecloud_packages.

  2. Nếu ví thiếu: cloud_topup(200000), đưa QR cho người dùng và chờ xác nhận.

  3. cloud_vps_create + cloud_db_create, sau đó cloud_job_status cho từng job.

  4. monapay_link nếu adapter chuyển tiếp chưa có credential; monapay_whoami để kiểm tra VA.

  5. Nếu chưa có VA: bắt đầu nối ACB, hỏi người dùng OTP đúng hai điểm bắt buộc, không tự đoán.

  6. Agent viết endpoint webhook HMAC/idempotent, gọi monapay_create_webhook, monapay_test_webhook, monapay_webhook_logs.

  7. Agent cắm monapay_create_checkout hoặc monapay_create_qr, deploy code lên VPS và báo URL cuối.

Chi tiết dành riêng cho agent: docs/ai-agent.md.

Ví dụ một lượt: gửi mail OTP

Người dùng nói: “Tích hợp gửi mail OTP cho app shop bằng MONA Mail, domain shop.vn.”

  1. mail_account: lấy email chủ, quota và domain đã xác minh.

  2. Nếu chưa có domain, mail_send từ onboarding@monamail.vn tới email chủ, dùng idempotency key riêng; mail_status kiểm kết quả.

  3. mail_domain_add({ domain: "shop.vn" }): đưa records để user thêm DNS, hoặc gọi mail_domain_cloudflare bằng token của họ; sau đó mail_domain_verify.

  4. mail_api_key_create({ name: "shop-otp", mode: "live" }): ghi key trực tiếp vào .env dưới tên MONAMAIL_API_KEY.

  5. Viết server dùng new MonaMail(process.env.MONAMAIL_API_KEY)monamail.emails.send(...) với tags: ["otp"]; kiểm thư bằng mail_status.

  6. Viết endpoint HMAC, mail_webhook_create với events: ["email.bounced"], lưu secret rồi mail_webhook_test; khi thiếu ví gọi cloud_topup và chờ user nạp.

Biến môi trường

Biến

Mặc định

Ý nghĩa

MONACLOUD_ISSUER

https://pass.monacloud.vn/realms/mona

OIDC issuer

MONACLOUD_BILLING_URL

https://billing.monacloud.vn

Billing/ví API

MONAPAY_API

https://api.monapay.vn

MONA Pay API

MONAMAIL_API

https://api.monamail.vn

MONA Mail API, dùng Bearer MONA Pass của MCP

MONACLOUD_API

https://api.monacloud.vn

Compute API của MONA Cloud

MONACLOUD_CONSOLE_URL

https://monacloud.vn/console

URL trả cho bước human

MONACLOUD_TOKEN

PAT/access token ưu tiên token store

MONACLOUD_SANDBOX

Đặt 1 để mọi lệnh compute hỗ trợ sandbox chạy thử 0đ, không cần ví

MONACLOUD_CONFIG_DIR

~/.config/monacloud

Token và link cache

MONACLOUD_TEMPLATES_DIR

~/monacloud/templates

Catalog agent local

MONACLOUD_TEMPLATES_URL

Catalog JSON từ xa, chỉ dùng khi local không có

MONAPAY_LINK_PATH

/api/v1/client/oauth/mona-id/link

Endpoint adapter chuyển tiếp

VIBECLOUD_LINK_PATH

/api/auth/monaid/link

Endpoint adapter cũ, chỉ gọi khi direct MONA Pass bị từ chối

VIBECLOUD_API/VIBECLOUD_API_URL, MONAPAY_CLIENT_ID + MONAPAY_CLIENT_SECRETVIBECLOUD_API_TOKEN chỉ là đường tương thích trong giai đoạn migrate. logout xoá cả token store lẫn linked credential cache; luồng đích là một MONA Pass.

Phát triển offline

Không chạy npm install trong workspace handoff; node_modules đã được chuẩn bị sẵn.

node_modules/.bin/tsc -p tsconfig.json
node --test

Test dùng Node built-in, MCP transport thật qua stdio, process con và mock HTTP local. Trong sandbox cấm bind socket, test tự dùng fetch fixture tương đương. Bộ test không gọi Internet.

Mới ở 0.3.0: gói tháng, hoá đơn và app từ git

Tool mới

Công dụng

cloud_plan_list

Bảng gói và giá tháng/năm, gợi ý theo CPU/RAM/đĩa

cloud_subscription_list / cloud_subscription_update

Đọc gói, đổi chu kỳ, auto-renew; huỷ với cancel_action: hourly/stop

cloud_invoice_list / cloud_invoice_pdf

Xem hoá đơn và tải PDF về file tạm riêng tư

cloud_credit_redeem

Dùng mã credit được người dùng cung cấp

cloud_app_create / cloud_app_list / cloud_app_get

Deploy public repo HTTPS, poll job và đọc URL; đang mở

cloud_app_deploy / cloud_app_env_set

Deploy lại, thay env; đang mở

cloud_app_domain_add / cloud_app_logs / cloud_app_delete

CNAME domain, log build, xoá app; đang mở

cloud_app_host_list

Xem host và tài nguyên/chi phí; đang mở

15 tool mới có 15 alias vibecloud_ tương ứng. Tổng với MONA Pay 0.5.5 đang có: 135 tool ở 0.4.0, gồm 20 Mail và 27 alias compute (thêm cloud_app_detect/vibecloud_app_detect). Package/MCP binary version: 0.4.0.

cloud_plan_list({ ram_gb: 4 })
# Đọc ví, báo giá, chờ duyệt rồi tạo:
cloud_vps_create({ app_name: "shop", billing_mode: "monthly", plan_code: "kinh-doanh", period: "month" })
cloud_invoice_pdf({ invoice_id: "<id>" })
cloud_app_host_list()
cloud_app_create({ repo_url: "https://github.com/example/shop.git", branch: "main", build_type: "nixpacks", sandbox: true })

Monthly bỏ qua CPU/RAM/đĩa và package_slug, đọc cấu hình/giá từ plan và guard toàn bộ giá tháng/năm. Backend chưa nhận monthly sandbox: MCP thử cấu hình plan qua hourly sandbox 0đ, trả giá thật trong estimate, không tạo subscription. Khi tạo thật phải tắt MONACLOUD_SANDBOX nếu đã bật env.

Khi user nói “deploy repo”, đọc host; chưa có host thì sandbox cloud_app_create để ước tính, hỏi duyệt rồi tạo thật và kiểm URL. Tool chờ job tối đa 600 giây; dùng wait:falsecloud_job_status nếu host MCP có timeout ngắn. Endpoint Wave B đang mở, lỗi API được báo thật.

Hợp đồng HTTP, đầy đủ tham số, ví dụ billing/deploy, PDF và giới hạn rollout: docs/wave-ab.md.

Available Tools

135 tools
agent_deployDùng ngay MONA Agent templateC

Gọi cùng runtime với cloud_agent_deploy. Deploy thư mục: cloud_app_detect → cloud_app_create(local_dir); git dùng repo_url (đã live), sandbox trước nếu chưa có host.

ParametersJSON Schema
NameRequiredDescriptionDefault
templateYes

TDQS

C2.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does reveal a multi-step behavior: app detection, app creation with local_dir, git repo_url handling, and sandbox fallback. However, it omits important behavioral details such as side effects, required permissions, or what happens after deployment.

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?

The text is short and information-dense, but it is not well structured or front-loaded. The first sentence is a cryptic runtime reference that obscures the tool's purpose, while the second sentence crams multiple deployment steps into a compact form that is hard to parse.

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

Completeness2/5

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

This is a deployment tool with sequential behavior and no output schema or annotations, so the description needs to be more complete. It leaves gaps around what the `template` parameter controls, how the agent should discover valid templates, and what a successful deployment looks like. The pipeline mention helps but is not sufficient.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it barely does. The only parameter, `template`, is never explained: no source, no format beyond the regex, no relationship to agent_templates_list or agent_templates_get. The title's mention of 'MONA Agent template' gives minimal context but not enough to select or format the parameter.

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

Purpose3/5

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

The description identifies a deploy action and a resource ('Deploy thư mục', 'MONA Agent template' in the title), and outlines a pipeline via cloud_app_detect and cloud_app_create. However, it never clearly states that this tool deploys a MONA Agent template using the `template` parameter, and the exact relationship with cloud_agent_deploy is ambiguous.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus siblings like cloud_agent_deploy or vibecloud_agent_deploy. The line 'Gọi cùng runtime với cloud_agent_deploy' is more of a runtime hint than usage guidance, and 'sandbox trước nếu chưa có host' is a procedural condition but not a clear selection criterion.

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

agent_templates_getChi tiết MONA Agent templateA

Đọc README, AGENTS.md, tools, deploy, checklist và skills của một template.

ParametersJSON Schema
NameRequiredDescriptionDefault
templateYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It clearly states the operation is 'Read', implying a non-mutating action, and enumerates the template components it accesses. However, it does not describe failure behavior, output format, or whether missing files are handled, leaving some gaps.

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?

One short sentence, front-loaded with the action and the enumerated template components. Every word earns its place; there is no redundant explanation or filler.

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 single-parameter read operation with no output schema, the description is mostly complete: it identifies the target and the scope of what is read. It lacks only minor behavioral details like what happens if the template does not exist, but overall it gives an agent enough context to call correctly.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only says 'của một template' (of a template), which merely echoes the property name without adding format details, examples, or how to construct the value. It does not compensate for the schema's lack of descriptive guidance.

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 uses a clear verb 'Đọc' (Read) and specifies the exact resource: the README, AGENTS.md, tools, deploy, checklist, and skills of a template. This clearly distinguishes it from sibling tools like agent_templates_list (which lists templates) and agent_deploy (which deploys).

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 description implies the tool is used to inspect template contents, but it does not explicitly state when to use it versus alternatives or mention any exclusions. The context signals and sibling names help, but the description itself offers no direct routing guidance.

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

agent_templates_listCatalog MONA AgentB

Đọc template từ thư mục local, URL catalog hoặc catalog wave 1 tích hợp. Deploy dự án: cloud_app_detect rồi cloud_app_create(local_dir), sandbox trước nếu chưa có host.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It implies a read operation via 'Đọc' but does not disclose return format, side effects, network behavior, or whether any of the deployment steps are actually performed by this tool. The deployment sentence is ambiguous and could be mistaken as part of this tool's behavior.

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?

The description is short and mostly front-loaded with the main purpose. However, the second sentence about deployment is tersely written and mixes workflow instructions into the tool description, making the overall structure less coherent than it could be.

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?

For a zero-parameter list tool, the description gives the main sources and a deployment follow-up, but it omits what the tool actually returns (e.g., a list of template names, metadata) and does not clarify how it differs from agent_templates_get. Without an output schema or annotations, this leaves meaningful gaps for an agent.

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?

The tool has zero parameters and the schema fully covers them, so there is little for the description to add. The mention of template sources is contextual rather than parameter documentation, which is acceptable given the empty input schema.

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 identifies the action ('Đọc template') and the resources (local folder, URL catalog, integrated wave 1 catalog). It does not explicitly distinguish this from the sibling agent_templates_get, and the second sentence about deployment slightly muddies the purpose, but the core purpose is understandable.

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 description gives a workflow hint: after reading templates, deploy via cloud_app_detect then cloud_app_create, using a sandbox first if no host exists. However, it never explicitly states when to use this tool versus alternatives such as agent_templates_get, and the deployment sentence is more of an imperative than a selection guideline.

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

cloud_agent_deployDeploy MONA Agent trên MONA CloudC

Slot runtime agent wave kế tiếp; hiện trả trạng thái stub rõ ràng. sandbox=true: thử 0đ, không cần ví.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNosandbox=true: thử 0đ, không cần ví
templateYes

TDQS

C2.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It does usefully reveal that the tool currently returns a clear stub status and that sandbox mode is free with no wallet needed. However, it does not explain actual side effects, authentication requirements, or what happens outside sandbox mode.

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 compact and contains no filler; the stub status and sandbox behavior are stated in a single short sentence. The main downside is that 'Slot runtime agent wave' is dense and unclear, which reduces usability despite the economy of words.

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

Completeness2/5

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

For a deploy-like tool with no annotations, no output schema, and an undocumented required parameter, the description is incomplete. An agent cannot fully infer what template means, what a successful non-stub response would look like, or which sibling tool should be chosen instead.

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

Parameters2/5

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

The required parameter 'template' has no schema description and the description never mentions it, leaving its meaning unclear. The sandbox=true wording is essentially duplicated from the schema, so it adds little new semantic value beyond what is already structured.

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

Purpose3/5

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

The description names a verb ('Slot') and a resource ('runtime agent wave') and states that it returns a clear stub status, so it is not a pure tautology. However, 'Slot runtime agent wave kế tiếp' is cryptic and does not clearly say whether this actually deploys an agent, schedules a wave, or returns a placeholder. It also does not distinguish itself from siblings like agent_deploy or vibecloud_agent_deploy.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus the many sibling deploy tools. The sandbox=true note is parameter-level information, not tool-selection guidance. No alternatives or exclusions are mentioned.

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

cloud_app_createB

App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. AI làm 99%: cloud_app_detect(local_dir) offline → cloud_app_host_list, cloud_prices/cloud_packages/cloud_plan_list và cloud_balance → cloud_app_create(local_dir, sandbox=true) nếu chưa có app host để ước tính chi phí giờ/gói → hỏi human một lần duyệt chi phí nếu chưa được duyệt → cloud_app_create(local_dir, sandbox=false) → poll tới done/succeeded → kiểm và trả URL. Nếu human có domain: cloud_app_domain_add và hướng dẫn CNAME từ API. Human đăng ký MONA Pass bằng device flow, nạp tiền khi hết credit 20k; AI làm các bước còn lại. App git cloud_app_create(repo_url) đã live; không gọi agent_deploy cho deploy dự án. / Detect locally, estimate, obtain cost approval once, upload and deploy, return URL, then attach an optional domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
envNo
nameNo
portNo
waitNo
branchNo
domainNo
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge
repo_urlNo
local_dirNo
build_typeNo
dockerfileNo
app_host_idNo
timeout_secNo
interval_secNo

TDQS

B3.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral transparency burden and does add useful non-obvious details: first host creation takes ~2–3 minutes while later deploys take 10–20 seconds; sandbox=true is free and creates no real infrastructure; cost approval is needed only once; and the workflow polls until done/succeeded. It does not cover error behavior, authentication prerequisites, or edge cases like the relationship between local_dir and repo_url, but it discloses the most consequential behaviors.

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

Conciseness2/5

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

The description is dense, repetitive, and mixes Vietnamese and English, duplicating the same workflow in prose and in the final English summary. It reads as a process narrative rather than a tool definition, and the first sentence focuses on timing ('App từ git đã live...') instead of a clean purpose statement. It would benefit from a short definition followed by essential workflow notes.

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

Completeness2/5

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

For a complex 14-parameter tool with no annotations and no output schema, the description is not complete enough for reliable invocation. It does provide helpful end-to-end context around sandbox estimation, cost approval, polling, and returning a URL, but it leaves major gaps around required inputs, build configuration, wait/timeout behavior, and the exact response shape. An agent would still have to guess about many parameters.

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

Parameters2/5

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

Schema description coverage is only 7%, with only sandbox described in the schema. The prose adds meaning for sandbox=true/false and mentions local_dir, repo_url, and domain, but the remaining ~11 parameters (name, port, wait, branch, build_type, dockerfile, app_host_id, timeout_sec, interval_sec, env) are left entirely undocumented in both the schema and the description. This is a significant gap for a 14-parameter tool.

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 conveys that this tool creates and deploys a cloud app from a local directory or git repository and returns a URL, especially via the English summary 'upload and deploy, return URL, then attach an optional domain.' It distinguishes itself from agent_deploy by explicitly saying 'không gọi agent_deploy cho deploy dự án.' However, the core purpose is embedded in a long, multi-step workflow rather than stated as a crisp one-line definition.

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?

The description provides an explicit workflow: run cloud_app_detect locally, check host/prices/balance, create with sandbox=true to estimate cost, get human approval, create with sandbox=false, poll until succeeded, and optionally add a domain. It also gives a clear exclusion: do not call agent_deploy for project deployment. It does not contrast with cloud_app_deploy, but it gives enough context for when to use this pipeline.

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

cloud_app_deleteB

App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Sau khi user duyệt xoá: xoá app/domain/A record; app host vẫn có thể tính phí. / Delete an approved app.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool deletes the app, domain, and A record, and that the app host may still be charged afterward — an important behavioral consequence. However, it does not state whether the action is irreversible, what permissions are needed, or what happens on failure, so it is only partially transparent.

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

Conciseness2/5

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

The description is short but poorly structured: it leads with unrelated timing information about git apps ('app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây') before stating the actual deletion purpose. The core message is buried at the end, and the bilingual mixing creates noise. This is not an example of efficient front-loading.

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 tool has only two parameters and no output schema, and the description gives the essential effect (delete app/domain/A record) and an important consequence (possible host charges). Still, it does not mention what the response will contain, how to confirm success, or any error-handling behavior. For a destructive tool, this leaves meaningful gaps.

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?

The schema covers 50% of parameters: 'sandbox' is well documented in the schema, so the description does not need to repeat it. For 'app_id', the description only weakly implies it should be an approved app's ID. It does not explain where to find app_id or distinguish it from other app-related identifiers, so it adds modest value at best.

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 includes a clear action-and-resource statement: 'Delete an approved app.' It also specifies what the deletion covers ('xoá app/domain/A record'), which adds precision. However, it does not differentiate from the sibling 'vibecloud_app_delete' or clarify what 'approved' means, so it is not 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 Guidelines4/5

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

The phrase 'Sau khi user duyệt xoá' gives a clear precondition: use the tool only after the user has approved the deletion. It also warns about a post-delete consequence ('app host vẫn có thể tính phí'), which informs the decision to delete. It does not explicitly name alternatives or exclusions, but the usage context is clear enough.

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

cloud_app_deployB

App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. App upload: local_dir đóng ZIP mới → upload → chờ job → deploy; bỏ local_dir để redeploy bản đã upload. / Redeploy uploaded source or a git app and poll.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNo
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge
local_dirNo
timeout_secNo
interval_secNo

TDQS

B3.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 discloses meaningful behavior: timing estimates (first host ~2–3 min, subsequent deploys 10–20 sec), the ZIP→upload→job→deploy pipeline, redeploy semantics for omitted local_dir, and the fact that the tool polls. Gaps remain — failure behavior and whether the live app is overwritten are unstated — but this is far more transparent than typical.

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?

The description is compact but structurally weak: it opens with a release-note-style 'Git apps are live' line and saves its clearest purpose statement for the end. Every point is duplicated in Vietnamese and English, roughly doubling the length without doubling the information.

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

Completeness2/5

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

For a mutating 6-parameter tool with no annotations and no output schema, significant gaps remain: there is no statement of what the tool returns (job ID? status?), what the required app_id refers to, or how this relates to app creation tools. The process and timing are well covered, but an agent still cannot predict the invocation result.

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 coverage is only 17%, so the description must compensate; it does well for local_dir, explaining its dual role of fresh ZIP upload versus redeploying the existing archive. But the required app_id is never explained as identifying the target app, and wait/timeout_sec/interval_sec are only gestured at through the single word 'poll'.

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 final sentence states a specific action — 'Redeploy uploaded source or a git app and poll' — with a clear verb and resource. However, the opening line 'App từ git đã live' reads like a changelog announcement rather than tool documentation, and the description never distinguishes this from the near-identical sibling vibecloud_app_deploy.

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 description gives useful when-to-include/when-to-omit direction for local_dir ('bỏ local_dir để redeploy bản đã upload'), and the pipeline 'upload → chờ job → deploy' implies the conditions under which upload happens. But it names no alternative tools — cloud_app_create for new apps and vibecloud_app_deploy are never referenced — and provides no when-not-to-use guidance.

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

cloud_app_detectA

Nhận diện Node/Next/Vite/Python/PHP/static, port, start, Dockerfile, build_type và tên biến .env.example; hoàn toàn offline, không thực thi code dự án. / Detect a local app without network.

ParametersJSON Schema
NameRequiredDescriptionDefault
local_dirYes

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It explicitly states two key traits: the operation is completely offline and it does not execute project code, and it also lists what will be detected. It does not describe behavior on invalid or missing directories, but the core safety profile is clearly communicated.

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 short and front-loaded with the output list and safety constraint, making it easy to scan. The bilingual phrasing creates slight redundancy, but both parts are brief and the English sentence serves as a compact summary.

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 one-parameter detection tool with no output schema, the description covers both what the tool detects and the important safety guarantee, so an agent can predict the call's behavior and likely return content. The main gap is the absence of explicit error behavior for missing or unsupported directories, but that is minor given the enumerated output fields.

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?

The schema has 0% description coverage and only one parameter, local_dir, so the natural-language description must compensate. It indirectly clarifies that local_dir refers to a local project/app directory whose stack and metadata will be detected. However, it does not state path format, whether the directory must exist, or what happens if detection fails, so the compensation is only partial.

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 names a specific action (detect/nhận diện) on a local app and enumerates concrete outputs: Node/Next/Vite/Python/PHP/static, port, start, Dockerfile, build_type, and .env.example variable names. This makes it clearly distinct from sibling app lifecycle tools like cloud_app_create, cloud_app_list, and cloud_app_get, which operate on deployed resources rather than local directories.

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 description clearly implies this is for analyzing a local directory, and the 'offline / no code execution' note gives useful safety context. However, it does not explicitly state when to use this tool versus alternatives, such as using it before cloud_app_deploy or using cloud_app_get for an already-deployed app. The routing guidance is left to inference.

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

cloud_app_domain_addC

App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Thêm domain đã được duyệt, trả hướng dẫn CNAME từ API; chờ DNS trước kiểm HTTPS. / Attach custom domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYes
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses that the API returns CNAME instructions and that HTTPS verification should wait for DNS, which is meaningful. It does not mention mutation side effects, idempotency, failure conditions, or costs beyond what sandbox implies.

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

Conciseness2/5

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

The first sentence about deploy timing (~2–3 minutes, 10–20 seconds) is irrelevant for adding a domain and adds noise. The bilingual repetition lengthens the text, and the core instruction is buried in the middle rather than front-loaded.

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

Completeness2/5

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

There is no output schema or annotations, so the description must define both behavior and return. It does mention CNAME instructions, which is helpful, but it leaves app_id semantics, exact response shape, approval failure handling, and the overall add-domain workflow incomplete.

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

Parameters2/5

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

Schema coverage is only 33% (only sandbox is described), so the description must compensate. It implies host is the custom domain and adds the important "approved domain" constraint, but it never explains app_id or how host relates to the CNAME flow. Two required parameters remain effectively undocumented.

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?

"Attach custom domain" and "Thêm domain đã được duyệt" clearly state the verb and resource. The operation is distinct from app create, list, host list, deploy, and logs siblings. It does not differentiate from the nearly identical vibecloud_app_domain_add 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 description gives useful context: the domain must already be approved and you must wait for DNS before checking HTTPS. However, it never explicitly states when to use this tool versus alternatives, nor does it mention prerequisites like needing an existing deployed app or where to get app_id.

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

cloud_app_env_setB

App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Thay toàn bộ env sau khi được duyệt, gửi đầy đủ map cần giữ; không log secret. Gọi cloud_app_deploy sau đó để áp dụng. / Set app environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
envYes
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

B3.3/5.0
Behavior4/5

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

With no annotations, the description properly carries behavioral disclosure: it warns that the entire env is replaced, instructs sending the full map of entries to keep, says not to log secrets, and notes that deploy must be called afterward. This is meaningful beyond the plain 'Set app environment' statement.

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

Conciseness2/5

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

The description is cluttered with bilingual repetition, including 'Git apps are live' twice, and it opens with deploy timing that is not central to this tool's purpose. The actual purpose statement is buried at the end, making it harder for an agent to parse quickly.

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

Completeness2/5

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

For a 3-parameter tool with no output schema, the description is incomplete. It provides useful operational notes but fails to clearly document parameter meanings, what happens before approval, or what the caller should expect after invoking deploy. The mixed structure further reduces completeness.

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

Parameters2/5

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

Schema description coverage is low at 33%, and the description does not compensate enough. It adds some context about the env map ('send full map to keep'), but it never explains app_id or sandbox, and it mostly restates what the schema already implies for env.

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 ends with 'Set app environment' and refers to replacing the entire env, making the core action clear. It does not explicitly say 'environment variables' but the meaning is recoverable from context and schema. It is not a tautology and is distinguishable enough from siblings like cloud_app_deploy.

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?

The description explicitly instructs calling cloud_app_deploy afterwards to apply the environment changes, which gives an ordered workflow. It does not state when not to use this tool or mention alternative tools, but the follow-up step provides useful usage guidance.

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

cloud_app_getC

App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Đọc status, URL, lần deploy và app host. / Inspect app.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden itself and does state this is a read/inspect operation, which implies no destructive side effects. It adds useful context about deployment timing (first host 2-3 minutes, subsequent deploys 10-20 seconds), but it does not disclose output structure, error behavior, or prerequisites beyond that.

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

Conciseness2/5

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

The description is a mixed-language, somewhat redundant jumble: the same statement appears in Vietnamese and English, and the deployment timing note is placed before the core purpose. The key phrase 'Inspect app' is buried at the end, and the sentence about host timing would be better as secondary context.

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

Completeness2/5

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

The tool has no annotations and no output schema, so the description must supply context on its own. It lists some returned fields and gives deployment timing, but it omits the meaning of the app_id parameter, how output is structured, and when to choose this tool over the many sibling app tools, leaving notable gaps.

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

Parameters2/5

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

Schema description coverage is only 50%; the sandbox parameter has a description in the schema, but app_id has none and the tool description does not explain it either. The description names return fields but never connects them to the parameters, so it fails to compensate for the undocumented app_id.

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 identifies the tool as an inspection/read operation for a single app, enumerating the data it returns: status, URL, deployments, and app host. It is distinguishable from sibling list tools like cloud_app_list and cloud_app_host_list by focusing on a single app's details, though it does not explicitly name those alternatives.

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 description implies this tool is used after an app has been deployed from Git, with timing context for the first host and subsequent deploys, and its purpose is to read app status/URL/deployments. However, it gives no explicit when-to-use or when-not-to-use guidance versus alternatives such as cloud_app_list, cloud_app_detect, or cloud_app_logs.

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

cloud_app_host_listB

App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Đọc app host; chưa có host thì sandbox cloud_app_create trước để ước tính. / List app hosts.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does add meaningful context: it declares the operation is a read ('Đọc'), states that git apps are live, and gives concrete timing expectations for host readiness. However, it does not disclose what the response contains, whether sandbox=true changes the returned data, or how empty results are signaled beyond the implied 'no host yet' case.

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

Conciseness2/5

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

The description is a run-on mixing three distinct concerns: timing expectations, workflow routing, and the actual purpose statement. The core purpose ('List app hosts') appears last instead of being front-loaded, and the same content is redundantly repeated in Vietnamese and English. While short in total length, the structure forces the agent to parse through operational noise to find the primary function.

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?

This is a low-complexity tool — one optional boolean parameter, no output schema, no nested objects — so the description doesn't need much. It covers the key operational context: when hosts are available, how long to wait, and what to do if none exist. The main gap is that without an output schema, the description never hints at the shape or content of the returned host list, leaving the agent guessing about the response format.

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% — the sandbox parameter already has a clear description ('Thử 0đ, không tạo hạ tầng thật / Sandbox, no charge'). The description reinforces this by referencing 'sandbox cloud_app_create' as the estimation path, connecting the sandbox flag to a concrete workflow. This adds marginal context beyond the schema but doesn't meaningfully expand parameter semantics, so the baseline of 3 applies.

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 the operation in both languages: 'List app hosts' and 'Đọc app host' (read app hosts), combining a specific verb with a resource. It is distinguishable from sibling tools like cloud_app_list (lists apps) and cloud_app_get (gets a single app) because it targets hosts specifically. The purpose statement exists but is buried at the end after timing and workflow context, which slightly weakens it.

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?

The description gives explicit routing guidance: 'chưa có host thì sandbox cloud_app_create trước để ước tính' (if there's no host yet, use sandbox cloud_app_create first to estimate), telling the agent exactly what to do when this tool would return nothing useful. It also sets timing expectations (first host ~2–3 minutes, subsequent deploys 10–20 seconds) that help the agent decide whether to wait or retry. It doesn't explicitly contrast with cloud_app_list or the vibecloud_app_host_list sibling, but the primary decision boundary is covered.

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

cloud_app_listB

App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Liệt kê app trước khi tạo để tránh trùng. / List apps.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. It implies a read-only listing operation by saying 'Liệt kê' and adds deployment-timing context, but it does not state whether the list is limited to the current user, whether sandbox mode changes results, or what the response contains. The timing note is interesting but only marginally relevant to this tool's behavior.

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

Conciseness2/5

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

The description is cluttered with bilingual repetition ('App từ git đã live' / 'Git apps are live'), an unrelated timing statement about first app hosts, and the core instruction 'List apps' is buried at the end. The useful guidance about listing before creating is present but not front-loaded, and several words do not earn their place.

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?

For a simple list tool with one optional parameter, the description is minimally usable: an agent can infer it should call this before app creation. However, there is no output schema, so the description should clarify what the response includes, and it fails to distinguish this tool from cloud_app_host_list or vibecloud_app_list, making tool selection riskier.

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% for the single optional sandbox parameter, so the schema already documents it fully. The description does not mention sandbox at all, but the baseline of 3 applies because the schema carries the semantic weight and the description adds nothing that conflicts or enhances it.

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 states a clear verb and resource: 'List apps.' It also adds context that listing should happen before creating to avoid duplicates, which distinguishes it from app-creation tools. However, it is muddled by unrelated deployment-timing notes and does not explicitly differentiate from cloud_app_host_list or cloud_app_get.

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?

'Liệt kê app trước khi tạo để tránh trùng' gives a clear, practical condition for when to use this tool: list existing apps before creating a new one to prevent duplicates. It does not mention exclusions or alternative list tools, so it stops short of a 5.

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

cloud_app_logsB

App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Đọc tối đa 500 dòng log; có thể chứa secret, không đưa nguyên log ra công khai. / Read deployment logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge
deploymentNo

TDQS

B3.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It discloses that at most 500 log lines are read, logs may contain secrets, raw logs should not be exposed publicly, and includes deployment timing behavior. These details go beyond the schema, though auth requirements and rate limits are not mentioned.

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?

The description is short and information-dense, but it is fragmented and mixes Vietnamese and English with some redundancy. The actual purpose, 'Read deployment logs,' is placed at the end rather than front-loaded, making the structure less effective than it could be.

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?

For a simple read-only logging tool, the description provides useful context: log line limit, secret handling warning, and timing expectations. However, it ignores the required app_id parameter, leaves deployment ambiguous, and does not describe the return format. Since there is no output schema, these gaps are noticeable.

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

Parameters2/5

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

Schema description coverage is only 33%, and the description does not compensate. The app_id and deployment parameters are left without meaningful explanation, and the description does not clarify how 'deployment' relates to the log request. Only sandbox has a schema description.

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 the verb and resource: 'Read deployment logs.' It also adds context that the tool applies to git-based apps once they are live. It does not differentiate itself from the sibling vibecloud_app_logs, so it falls 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 description provides relevant timing context ('first app host ~2–3 min, deploy later 10–20 seconds') and warns about secrets, which indirectly helps an agent decide when expectations are realistic. However, it does not explicitly state when to use this tool versus vibecloud_app_logs or when not to use it.

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

cloud_balanceSố dư ví MONA CloudA

Đọc số dư ví VND chung trước khi tạo tài nguyên có phí.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

There are no annotations, so the description carries the behavioral transparency burden. 'Đọc' clearly indicates a non-mutating read operation, and the VND/general-wallet scope adds useful precision. It does not describe response format or potential edge cases, but for a zero-parameter read tool this is minimally sufficient.

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?

A single Vietnamese sentence conveys action, resource, currency scope, and the intended timing. Every phrase earns its place, and the core action is front-loaded.

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 simple, parameter-free read-only balance tool with no output schema, this description is complete enough for an agent to decide when and how to invoke it. The purpose, resource, currency, and usage context are all explicit.

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?

The tool has zero parameters, so there is no parameter documentation burden. The description does not need to explain input semantics, and the schema already reflects no required inputs.

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 uses a clear verb ('Đọc'/'read') with a specific resource ('số dư ví VND chung'/'general VND wallet balance'), and adds a concrete purpose: checking before creating paid resources. It is distinct in intent from financial siblings like cloud_topup and cloud_ledger, though it does not explicitly name or contrast a sibling.

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?

The description states a clear usage context: read the balance before creating paid resources. This gives the agent a concrete trigger for invoking the tool, though it does not explicitly mention when not to use it or suggest alternatives.

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

cloud_budget_getĐọc ngân sách MONA CloudA

Liệt kê giới hạn và mức đã dùng theo kỳ.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It discloses the data returned (limits and usage by period) and implies a non-mutating operation, but it does not state authorization needs, what 'period' means, or the output format. This is minimal but not misleading.

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 a single, focused sentence with no filler. It front-loads the action and the subject matter, which is appropriate for a parameterless read tool.

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?

With no output schema and no annotations, the description must explain what the agent will get back; it does say 'limits and usage by period.' However, 'period' is left ambiguous and there is no mention of whether this reflects the current billing cycle or how the data is structured, so the description is only moderately complete.

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?

The tool has zero parameters and schema description coverage is 100%, so the baseline of 4 applies. The description appropriately implies no configuration is needed beyond calling the tool.

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 uses a specific verb ('Liệt kê' = list) and names the resource (limits and usage by period), making the tool's read intent clear. It does not explicitly distinguish itself from siblings like cloud_budget_set or cloud_usage, but the 'get' vs 'set' pairing strongly signals a read operation.

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 read-only usage is implied by the verb 'Liệt kê' and the tool name, suggesting it should be used when the agent needs to check budget limits or consumed amounts. However, it provides no explicit guidance about when to prefer this over cloud_balance, cloud_usage, or cloud_budget_set.

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

cloud_budget_setĐặt ngân sách MONA CloudC

Đặt giới hạn chi tiêu theo product, project hoặc token.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeYes
periodYes
scope_idYes
limit_vndYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, yet it only states the action. It does not reveal whether the call creates or overwrites an existing budget, whether limit_vnd is a hard cap or a soft alert, or what side effects occur for running resources. For a write operation, this is a significant gap.

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?

A single Vietnamese sentence with zero filler; the verb and scope dimensions are front-loaded. Every word earns its place, though the brevity comes at the cost of completeness, which is penalized in other dimensions.

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

Completeness2/5

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

The tool has 4 required parameters, no annotations, and no output schema, yet the description is only one short sentence. An agent lacks the information to construct valid calls (ID formats, limit semantics, period behavior) or to anticipate the consequences of setting a budget.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate, but it only echoes the scope enum values. It gives no guidance on scope_id (whose ID, where to find it), how limit_vnd is interpreted (per period, total, tax-inclusive), or what period means in billing terms.

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 states a specific verb and resource: 'Đặt giới hạn chi tiêu' (set spending limit), and enumerates the three scopes (product, project, token). This clearly identifies what the tool does and reads as the write counterpart to cloud_budget_get. However, it doesn't explicitly differentiate from cloud_token_limit, whose scope could overlap when scope=token, so full sibling differentiation is missing.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. The description neither mentions that reading budgets belongs to cloud_budget_get nor explains how this differs from cloud_token_limit or cloud_subscription_update. The agent must infer usage purely from sibling tool names.

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

cloud_credit_redeemA

Dùng mã credit người dùng cung cấp sau khi họ đồng ý; không thử đoán mã. / Redeem an approved promotional credit code.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. It usefully discloses that the code must be user-provided and approved, and it warns against guessing. However, it does not describe the tool's effects such as code consumption, credit application, or failure behavior.

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 compact and front-loaded, stating the action and the critical safety guardrail in two short clauses. The bilingual wording is not pure duplication: the Vietnamese adds the explicit 'do not guess' rule while the English names the approved promotional credit code.

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 one-string-parameter redemption tool with no output schema, the description is nearly complete: it identifies the required input, the consent condition, and a safety rule. It omits return/result behavior and explicit platform differentiation from vibecloud_credit_redeem, but these are minor for selecting and invoking correctly.

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?

The schema only describes 'code' as a 2-64 character string with no semantic explanation. The description adds that it is a promotional credit code supplied by the user, which materially clarifies the parameter. Format details are still absent, but for a single simple string this is adequate compensation.

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 redeem action on a credit code ('Redeem an approved promotional credit code') and adds that the code must be user-approved. It does not explicitly differentiate cloud_credit_redeem from vibecloud_credit_redeem beyond the tool name, so it falls short of a perfect 5.

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?

The description gives an explicit precondition: only redeem codes the user has provided and agreed to. It also gives an explicit prohibition: do not guess codes. It does not name an alternative tool, but the main decision rule for safe usage is clear.

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

cloud_db_createTạo database MONA CloudB

Kiểm tra ví chung rồi tạo MongoDB/PostgreSQL/MySQL; trả job_id để poll. sandbox=true: thử 0đ, không cần ví.

ParametersJSON Schema
NameRequiredDescriptionDefault
cpuNo
engineNomongodb
ram_gbNo
disk_gbNo
sandboxNosandbox=true: thử 0đ, không cần ví
app_nameYes
package_slugNo

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It usefully reveals that wallet verification happens first, the operation returns a job_id for polling, and sandbox mode avoids charges. However, it does not disclose billing/charge behavior beyond the sandbox case, failure modes, or what happens after the job completes.

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 with no filler. The core workflow is front-loaded ('check wallet, then create') and the sandbox exception is stated compactly afterward. Every phrase contributes useful information.

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

Completeness2/5

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

This is a complex creation tool with seven parameters, no annotations, and no output schema, so the description needs to provide more context. It mentions job_id for polling but does not explain package_slug, resource sizing semantics, or how results/errors will be returned. An agent would likely need to inspect sibling tools or infer too much to invoke this correctly in non-sandbox cases.

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

Parameters2/5

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

Schema description coverage is only 14%, so the description must compensate for the undocumented parameters. It only repeats the engine types and the sandbox meaning already present in the schema, while cpu, ram_gb, disk_gb, package_slug, and app_name receive no added semantic guidance. For a seven-parameter tool, this is insufficient.

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 states a specific action ('tạo'), the resource types (MongoDB/PostgreSQL/MySQL), and the asynchronous behavior (returns job_id to poll). The title 'Tạo database MONA Cloud' also differentiates it from the sibling vibecloud_create_database. It is clear and actionable, though the description itself does not explicitly contrast it with sibling tools.

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 description provides context that the tool checks the shared wallet before creating and that sandbox=true is for free trials without a wallet. This gives some when-to-use guidance, but it does not mention alternatives or conditions such as when to prefer vibecloud_create_database or cloud_vps_create.

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

cloud_invoice_listA

Đọc hoá đơn hàng tháng của tài khoản. / List monthly invoices.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. The verb 'List' / 'Đọc' does communicate a read-only operation and 'monthly invoices' scopes the subject matter, but the description does not disclose pagination, ordering, filtering behavior, or the shape of the returned invoice list.

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 clauses, action-first, with no filler. The Vietnamese and English versions are near-duplicates, but bilingual clarity is acceptable for a multilingual MCP agent and the overall size is appropriately minimal.

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 simple zero-parameter listing operation, the description is sufficient to convey the intended call and the general result: a list of monthly invoices. It omits return-field details, but that is acceptable given the simplicity and the absence of an output schema.

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?

The input schema has zero properties and full coverage, so there are no parameter semantics to explain. The description adds no parameter details, but none are needed for a zero-parameter tool; the 0-parameter baseline of 4 applies.

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 names the action ('List' / 'Đọc') and the resource ('monthly invoices' / 'hoá đơn hàng tháng') with account scope. It is clear about what the tool does, though it does not explicitly distinguish itself from vibecloud_invoice_list or cloud_invoice_pdf.

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 description implies the obvious use case: listing monthly invoices for the account. It provides no explicit guidance about when not to use it or which sibling tool to select instead, such as cloud_invoice_pdf for PDFs or vibecloud_invoice_list for the VibeCloud platform.

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

cloud_invoice_pdfA

Tải PDF hoá đơn vào file tạm riêng tư, trả path; sao chép ra nơi cần giữ trước khi hệ điều hành dọn. / Download invoice PDF to a private temporary file.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses the key behavioral trait: the PDF is written to a private temporary file, a path is returned, and the file may be cleaned up by the OS, so the caller must copy it elsewhere. This is meaningful transparency beyond a bare action.

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 one concise bilingual sentence with a clear order: action, output, and critical warning. Every element contributes value and the most important caveat about temporary-file cleanup is included without bloat.

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 single-parameter tool with no output schema and no annotations, this description covers the essential context: what is downloaded, where it is stored, what is returned, and what the caller must do before cleanup. It would be more complete if it noted how to obtain the invoice_id, but the core invocation contract is clear.

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 0%, so the description must compensate. It does add some context by framing the operation as downloading an invoice PDF, implying invoice_id identifies the target invoice. However, it does not explain where invoice_id comes from or provide any format/lifecycle details, so compensation is minimal.

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 verb and resource: download an invoice PDF to a temp file and return its path. It is easy to distinguish from listing tools like cloud_invoice_list, though it does not explicitly differentiate itself from the sibling vibecloud_invoice_pdf.

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 description implies when to use the tool—when an invoice PDF needs to be downloaded—and includes the operational advice to copy the file before OS cleanup. However, it does not mention alternatives, exclusions, or how this differs from vibecloud_invoice_pdf.

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

cloud_job_statusTheo dõi job MONA CloudC

Đọc job thật hoặc sandbox theo ID; API tự nhận diện sandbox nên không cần header.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNo
job_idYes
sandboxNosandbox=true: thử 0đ, không cần ví
timeout_secNo
interval_secNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses the sandbox auto-detection trait, but omits the blocking/polling behavior implied by wait, timeout_sec, and interval_sec, and says nothing about return shape or failure modes. For a status-waiting tool this is a significant gap.

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?

A single front-loaded sentence with no wasted words; the main action leads and the sandbox caveat follows. It is efficient, though it earns brevity at the cost of omitting polling behavior.

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

Completeness2/5

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

For a tool with 5 parameters, no annotations, and no output schema, the description is too thin. An agent cannot tell what wait=true does, how timeout_sec/interval_sec drive the polling loop, or what a job status result looks like, so it cannot invoke the tool with full confidence.

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

Parameters2/5

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

Schema description coverage is only 20% (only sandbox is documented in schema), well below 50%, so the description must compensate. It adds meaning for sandbox (auto-detected, no header needed) and implies job_id via 'theo ID', but wait, timeout_sec, and interval_sec remain entirely unexplained in both schema and description.

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 states a specific verb+resource: 'Đọc job thật hoặc sandbox theo ID' (read real or sandbox job by ID), and the title 'Theo dõi job MONA Cloud' confirms it is a MONA Cloud job-status tracker. It is distinguishable from the sibling vibecloud_job_status via the MONA Cloud naming, though the description itself does not explicitly name that sibling.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as vibecloud_job_status. The note 'API tự nhận diện sandbox nên không cần header' is an invocation hint, not a when-to-use or exclusion statement, so an agent gets no tool-selection direction.

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

cloud_ledgerSổ cái ví MONA CloudB

Đọc các dòng nạp, trừ và hoàn tiền trong ledger.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It communicates a read-only operation and specifies the types of ledger entries involved (deposits, deductions, refunds). However, it does not mention pagination behavior, result ordering, or what happens when ledger data is unavailable.

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 a single, front-loaded sentence with no filler. Every word contributes to stating the operation and the resource, making it easy to scan and understand quickly.

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

Completeness2/5

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

The tool has no annotations and no output schema, so the description must cover more ground. It identifies the ledger entry types but omits output expectations, pagination behavior, and differentiation from closely related sibling tools, leaving the agent with an incomplete picture for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to compensate by explaining pagination-related parameters. It does not mention 'limit' or 'cursor' at all. The schema provides basic constraints, but the description adds no semantic value for these parameters.

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 uses a specific verb ('Đọc' / read) and names the exact resource: ledger lines covering deposits, deductions, and refunds. It is clear about what the tool accesses, though it does not explicitly differentiate it from sibling tools like cloud_balance or monapay_list_transactions.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool instead of related siblings such as cloud_balance, cloud_usage, or monapay_list_transactions. There is no mention of exclusions, prerequisites, or the context in which ledger reading is the appropriate choice.

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

cloud_open_consoleMở MONA Cloud ConsoleA

Trả URL console chung để nạp ví, đổi budget hoặc quản lý tài khoản.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

The description clarifies that the tool returns a URL rather than actually opening the console, which is useful given the 'open' in the tool name. However, with no annotations, the description carries the full burden and does not disclose any prerequisites, side effects, or URL characteristics such as expiration or authentication requirements.

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 one concise sentence, front-loaded with the primary action 'Trả URL' (return URL). It efficiently conveys purpose and use cases with no wasted words.

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 parameterless tool with no output schema and no annotations, the description adequately explains what the tool returns and why. It could explicitly state the return format (e.g., a string URL) or any required authentication, but these are largely inferable from the description.

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?

The tool has zero parameters and the input schema is empty, so the baseline for parameter semantics is 4. The description reinforces the tool's purpose but adds no parameter-specific meaning because there are no parameters to document.

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 uses a specific verb 'Trả URL' (return URL) and a specific resource 'console chung' (common console), and lists three clear use cases: topping up wallet, changing budget, or managing account. This distinguishes it from action-oriented siblings like cloud_topup or cloud_budget_set, though it does not explicitly name any alternative.

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?

The description provides clear context by stating the intended use cases ('để nạp ví, đổi budget hoặc quản lý tài khoản'). This tells the agent when the tool is appropriate, but it does not explicitly state when not to use it or name alternative tools, so it falls short of a 5.

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

cloud_packagesGói cấu hình MONA CloudA

Liệt kê package_slug và cấu hình CPU/RAM/đĩa.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does disclose the core behavior — listing package slugs with CPU/RAM/disk specs — which implies a read-only query. However, it doesn't clarify whether the list shows all available packages or only the user's, nor whether authentication is required.

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?

One short Vietnamese sentence with a front-loaded verb and no filler. Every word contributes either the resource or the returned fields, and the length is appropriate for a parameterless list operation.

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 simple zero-parameter list tool with no output schema, the description covers the essential need by naming the returned fields. It is slightly incomplete only because it doesn't situate itself among the cloud/vibecloud sibling family or clarify the scope of the listing.

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?

The tool has zero parameters and an empty input schema, so the baseline of 4 applies — there is nothing the description needs to document about parameters. Its focus on output fields is the appropriate use of the description.

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 names a specific verb (liệt kê/list), a resource (MONA Cloud packages), and the exact output fields (package_slug, CPU/RAM/disk), so an agent knows what the tool does and returns. The title reinforces the platform. It doesn't explicitly distinguish itself from vibecloud_packages or cloud_plan_list, but the 'cloud_' prefix and title provide partial differentiation.

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

Usage Guidelines2/5

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

No guidance is given about when to call this tool versus the many overlapping siblings (vibecloud_packages, cloud_plan_list, cloud_prices, cloud_services_list). There are no exclusions, conditions, or alternative references, so an agent must guess which listing tool satisfies its intent.

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

cloud_plan_listA

Bảng gói cùng giá tháng/năm; gợi ý gói rẻ nhất đủ CPU/RAM/đĩa yêu cầu, admin_only không tự chọn. Đọc trước khi duyệt chi phí. / List plans, prices and sizing recommendation.

ParametersJSON Schema
NameRequiredDescriptionDefault
cpuNo
ram_gbNo
disk_gbNo

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It usefully indicates the tool returns a plan/pricing table and a sizing recommendation, and frames the operation as reading before cost approval. However, it does not explicitly state read-only safety, output shape, or side-effect behavior beyond the implicit 'list' semantics.

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 compact and front-loaded with the main output (plans with monthly/yearly prices), then the sizing recommendation and usage context. The bilingual structure adds a little redundancy, and the 'admin_only không tự chọn' phrase is slightly cryptic, but overall there is no wasted filler.

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 low-complexity listing tool with three optional, self-descriptive parameters and no output schema, the description gives enough to call correctly: it lists plans and prices, accepts resource requirements for a sizing suggestion, and is meant to be read before cost approval. It could be more explicit about no-argument behavior and output structure, but these are minor gaps.

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 0%, so the description must compensate. It does clarify that cpu, ram_gb, and disk_gb represent the required/resources values used for the cheapest-fit recommendation. It does not explain behavior when all parameters are omitted or add per-parameter detail, leaving only the self-explanatory property names.

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 says the tool lists plans with monthly/yearly prices and gives a recommendation for the cheapest plan meeting CPU/RAM/disk requirements. It uses specific verbs like 'List' and 'gợi ý' against a concrete resource, though it does not explicitly differentiate itself from similar siblings such as cloud_packages or cloud_prices.

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?

The description gives a clear usage context: read this before approving costs, and notes an admin-only constraint with 'admin_only không tự chọn'. It does not name alternative tools for different scenarios, but it does convey when and under what restriction the tool should be used.

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

cloud_pricesBảng giá MONA CloudA

Đọc đơn giá giờ hiện hành.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations present, the description carries the full behavioral burden. It discloses that this is a read operation ('Đọc') with no side effects, but it adds nothing else: no mention of response format, freshness, or limitations. This is minimally viable for a zero-parameter read tool.

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 one short, front-loaded sentence that states exactly what the tool does without wasted words.

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 no-parameter, no-output-schema read tool, the description is nearly complete: the agent knows the operation, resource, and scope from the title. It could be improved by explicitly noting the return is a price list and differentiating from vibecloud_prices, but these are minor for this simple tool.

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?

The tool has zero parameters and the schema confirms an empty object, so there are no parameters to document. Per the rubric, 0 params earns a baseline of 4.

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: 'Đọc đơn giá giờ hiện hành' (read the current hourly price list). Combined with the title 'Bảng giá MONA Cloud', it clearly identifies this as the MONA Cloud pricing lookup and distinguishes it from the sibling vibecloud_prices tool.

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 'current hourly price' implies when the tool should be used, but there is no explicit when-to-use or when-not-to-use guidance, and no mention of alternatives such as vibecloud_prices or cloud_packages. The intended selection context is inferred from the title rather than stated.

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

cloud_service_rebuildrebuild service MONA CloudB

rebuild VPS/database MONA Cloud. Lệnh có thể phát sinh chi phí và kiểm tra ví trước. sandbox=true: thử 0đ, không cần ví.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNosandbox=true: thử 0đ, không cần ví
service_idYes

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries full behavioral disclosure burden. It usefully warns that the command can incur costs, advises checking the wallet, and explains that sandbox=true is free and wallet-free. However, it does not disclose whether rebuilding destroys existing data or causes downtime, which is significant for a rebuild operation.

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 compact and well-structured: purpose first, then the cost warning, then the sandbox clarification. Every sentence earns its place, and there is no redundant filler.

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

Completeness2/5

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

For a potentially costly and destructive operation with no output schema and no annotations, the description omits important context: what rebuild actually does to the service, how to obtain a valid service_id, and whether there is a way to track completion. The cost and sandbox notes are helpful, but safe invocation still requires significant inference.

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

Parameters2/5

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

Schema coverage is only 50%, and the description only repeats the sandbox parameter's schema text. The service_id parameter, which is required, receives no semantic explanation beyond its name. The description fails to compensate for the undocumented parameter.

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 states a specific verb ('rebuild') and resource ('VPS/database MONA Cloud'), making the core operation clear. It is distinguishable from start/stop tools by the rebuild verb, though it does not explicitly differentiate from the closely related sibling vibecloud_rebuild.

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

Usage Guidelines2/5

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

The description provides operational caveats about cost and sandbox mode, but gives no guidance on when to prefer this tool over alternatives like cloud_service_start, cloud_service_stop, or vibecloud_rebuild. There is no clear 'use this when...' statement.

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

cloud_servicesMọi dịch vụ đang chạyB

Gom VPS/database MONA Cloud cùng tài khoản ảo và webhook MONA Pay.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description does the work: it discloses the scope of what is aggregated (VPS/databases plus virtual accounts/webhooks) and the title suggests a read-only status view. However, it never explicitly says the operation is non-mutating, what 'Gom' returns, or whether stopped/failed resources are included.

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 short and free of fluff, with the resource scope listed front-loaded. It loses a point because the colloquial 'Gom' and the ambiguous 'cùng' chain could be clearer while staying concise.

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

Completeness2/5

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

There is no output schema, so the description should explain what the agent can expect back and how this aggregated view differs from dedicated list tools. It names resource categories but omits return shape, status semantics, and any exclusions, leaving a zero-parameter tool under-specified.

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?

The input schema has zero parameters and 100% schema coverage, so there is nothing for the description to add. The baseline of 4 applies because no parameter semantics are needed.

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 states an action ('Gom' = gather/aggregate) over explicit resources: MONA Cloud VPS/databases and MONA Pay virtual accounts/webhooks. This makes the overall purpose reasonably clear and separates it from single-resource siblings, though 'Gom' is colloquial and the exact output is left implicit.

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

Usage Guidelines2/5

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

No guidance is given for when to use this tool instead of the many relevant siblings such as cloud_services_list, monapay_list_virtual_accounts, or monapay_list_webhooks. The description implies an aggregate overview but never states the intended selection condition.

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

cloud_services_listDanh sách service MONA CloudA

Liệt kê VPS/database; sandbox=true gộp cả service thử 0đ bằng API, không cần header.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNosandbox=true: thử 0đ, không cần ví

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden and does add some behavior: `sandbox=true` merges trial 0đ services and 'không cần header' signals an auth-header requirement. It does not mention read-only status, pagination, or any side effects, though listing is implicitly non-destructive.

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?

A single front-loaded sentence states the action, resource, parameter mode, and header requirement without filler. Every clause earns its place.

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 low-complexity listing tool with one optional parameter and no output schema, the description covers purpose, the sandbox modality, and the header requirement. It stops short of describing the response shape or pagination, but those are minor gaps for this simple call.

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 coverage is 100% and the only parameter (`sandbox`) already has a schema description stating 'thử 0đ, không cần ví'. The tool description repeats the sandbox behavior and adds the header note, but this is only marginal value beyond the schema.

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 uses a specific verb ('Liệt kê') and resource ('VPS/database'), so an agent can tell this is a listing operation. It is clear but does not explicitly differentiate itself from the similarly named sibling `cloud_services` or `cloud_subscription_list`.

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 description gives useful invocation context: `sandbox=true` includes 0đ trial services and no header is required. It does not, however, state when to prefer this tool over siblings like `cloud_services` or `cloud_subscription_list`, leaving alternative selection to inference.

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

cloud_service_startstart service MONA CloudA

start VPS/database MONA Cloud. Lệnh có thể phát sinh chi phí và kiểm tra ví trước. sandbox=true: thử 0đ, không cần ví.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNosandbox=true: thử 0đ, không cần ví
service_idYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does a good job by warning that starting can incur costs, advising to check the wallet first, and clarifying sandbox=true costs 0đ with no wallet required. This addresses the most critical behavioral side effect, though it omits details like idempotency, failure behavior, or effects on an already-running service.

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?

Three short, purposeful sentences. The core action and resource are front-loaded, followed by the cost warning and the sandbox clarification. No filler or redundant restatement beyond the minimal title overlap.

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 description covers the essentials: what it starts, the cost risk, and the free-test path. However, with no output schema and no annotations, it omits what the tool returns (e.g., job ID, status), whether the service must already exist, and what the response/UI will say. This is adequate but not fully complete for an agent making autonomous calls.

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 coverage is only 50% since service_id lacks a description, while sandbox has one. The description reinforces the sandbox semantics and hints that service_id refers to a MONA VPS/database, but does not explain the service_id format, where to obtain it, or how it is validated. This is partial compensation at best.

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?

Description clearly states action 'start' and target 'VPS/database MONA Cloud', which resolves the exact resource type and scope. It is visually and semantically distinct from sibling tools like cloud_service_stop, cloud_service_rebuild, and vibecloud_start.

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?

Provides useful context about cost and sandbox mode, implying sandbox should be used for free testing. However, it does not explicitly state when to prefer this tool over alternatives like cloud_vps_create, cloud_services, or vibecloud_start, nor does it give conditions for normal vs sandbox use.

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

cloud_service_stopstop service MONA CloudA

Dừng VPS/database MONA Cloud; luôn cho phép dừng để người dùng hạn chế chi phí.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNosandbox=true: thử 0đ, không cần ví
service_idYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does add value by stating the action is always permitted and that stopping reduces costs, which hints at billing behavior. But it omits the risk profile: whether stopping is reversible via cloud_service_start, whether a stopped database loses data availability, or whether running workloads are affected.

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 a single compact sentence with two clauses, both of which earn their place: the first carries the action and resource, the second adds policy/permission context. No filler or redundancy; the core information is front-loaded.

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?

For a simple 2-parameter tool with no output schema, the description covers the essentials: action, resource type, and policy. But it leaves gaps: no indication of what the call returns, no confirmation that a stopped service can be restarted, and no guidance on where service_id comes from. Adequate but not complete.

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 coverage is 50%: the sandbox parameter is well documented in the schema ('thử 0đ, không cần ví'), and service_id is reasonably self-evident from its name. However, the tool description adds no parameter information and does not explain how to obtain a valid service_id (e.g., from cloud_services_list), leaving the required parameter only minimally described.

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 states a specific verb ('Dừng' = stop) and a specific resource ('VPS/database MONA Cloud'), making the action unambiguous. The 'MONA Cloud' qualifier distinguishes it from the vibecloud_stop sibling, and the stop action separates it from start/rebuild siblings, though this differentiation is implicit rather than explicit.

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 clause 'luôn cho phép dừng để người dùng hạn chế chi phí' provides a clear permission signal (always allowed) and a use-case context (cost reduction), which is genuinely useful guidance. However, it does not mention any exclusions, preconditions, or alternatives such as vibecloud_stop, so the 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.

cloud_subscription_listB

Đọc các gói đang dùng, kỳ gia hạn và auto-renew. / List subscriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. It clearly signals a read operation via 'Đọc' and 'List', and it discloses the output scope (current plans, renewal period, auto-renew). However, it does not mention whether the list is scoped to the authenticated user, whether only active subscriptions are returned, or what the response format looks like.

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?

Very short and front-loaded, with the Vietnamese phrase carrying more detail than the generic English 'List subscriptions.' There is minor redundancy between the tool name and the English summary, but nothing else is wasted.

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?

For a simple 0-parameter list tool with no output schema, the description covers the resource and the key returned aspects. Still, it leaves gaps around user scoping, whether only active subscriptions are listed, and the exact format of renewal-period and auto-renew fields.

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?

The tool has zero parameters and the schema coverage is 100%, so there are no parameter semantics for the description to clarify. The 0-parameter baseline of 4 applies.

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?

States a clear verb and resource ('List subscriptions') and the Vietnamese description adds the specific data exposed: current plans, renewal period, and auto-renew status. It does not explicitly distinguish itself from vibecloud_subscription_list or the plan/list siblings, but the purpose is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as cloud_plan_list, cloud_packages, or vibecloud_subscription_list. The only implicit cue is the verb 'List' versus update-oriented siblings, but no conditions or exclusions are provided.

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

cloud_subscription_updateA

Đổi gói/chu kỳ/gia hạn sau khi đọc subscription và giá, ước tính rồi được duyệt. Upgrade tính prorate, downgrade kỳ sau. Huỷ: auto_renew=false, cancel_action=hourly|stop. / Update or cancel renewal.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo
plan_codeNo
auto_renewNo
service_idYes
cancel_actionNo

TDQS

A3.7/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 it does disclose key behavioral traits: updates are mutating, upgrades are prorated, downgrades apply next cycle, and cancellation requires specific parameter values. It also implies an approval step. It is not exhaustive about side effects or return behavior, but it covers the most important operational semantics.

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?

The description is compact and avoids padding, but it mixes Vietnamese and English awkwardly, and the trailing '/ Update or cancel renewal' partly duplicates the Vietnamese content. The information is dense but the structure is somewhat run-on and not cleanly front-loaded.

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?

For a 5-parameter mutation tool with no annotations and no output schema, the description gives solid behavioral context but leaves gaps: service_id is not explained, the approval mechanism is vague, and there is no indication of what response the agent should expect. The core workflow is clear, but an agent would still need to infer some call details.

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 0%, so the description must compensate. It does clarify the meaning of auto_renew=false and cancel_action values, and it maps plan_code/period to changing plan/cycle. However, the required service_id parameter is not mentioned, and some fields like period are only implied. Partial compensation, not full.

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 states a clear verb and resource: changing package/cycle/renewal or cancelling a subscription. The phrase 'Update or cancel renewal' reinforces the action, and the cancel path is spelled out. It does not explicitly name sibling tools, but the intent is not ambiguous.

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?

The description gives useful process context: read subscription and prices, estimate, then get approval. It also explains when upgrade vs downgrade takes effect and how to cancel via auto_renew=false with cancel_action. It does not explicitly mention when not to use this tool or point to alternatives, so it falls just short of a 5.

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

cloud_token_limitGiới hạn chi tiêu của tokenC

Đặt spend guard riêng cho token hiện tại hoặc token_id chỉ định.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodYes
token_idNo
spend_limit_vndYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the target and scope; it does not disclose whether an existing spend guard is overwritten, whether the operation is reversible, what permissions are needed, or what the response or error behavior looks like.

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 a single, compact sentence with no filler and the main action front-loaded. It is appropriately concise, though slightly too terse to carry the behavioral and parameter information an agent needs.

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

Completeness2/5

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

For a mutating tool with no annotations and no output schema, the description is too sparse. It omits behavior on overwrite, the meaning of period, the interpretation of spend_limit_vnd, and any return or confirmation details. An agent would need to guess several important aspects before safely invoking the tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains the role of token_id by mentioning 'token hiện tại hoặc token_id chỉ định', but it does not explain spend_limit_vnd or period, including the accepted day/month values. The most important parameters are left undocumented in the description.

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 uses a specific verb 'Đặt' (set) and identifies the resource as a spend guard scoped to either the current token or a specified token_id. This makes the tool's purpose clear and distinguishes it from broader budget tools like cloud_budget_set, though it does not explicitly name a sibling as an alternative.

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 description implies when to use the tool: to set a per-token spend guard for the current token or a specified token_id. However, it gives no explicit guidance about when not to use it, does not mention alternatives, and does not clarify prerequisites or the relationship to other budget/spend tools.

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

cloud_topupNạp ví bằng VietQRB

Tạo yêu cầu nạp ví và trả VietQR; đây là bước con người thanh toán hợp lệ.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesSố tiền nguyên VND
idempotency_keyNo

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It usefully discloses that this is not a final payment but a step that returns a VietQR for a human to pay, implying the wallet credit is not immediate. It does not disclose cancellation, expiry, idempotency behavior, or post-payment verification, but the human-payment trait is a meaningful disclosure.

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 a single compact sentence with no filler. The primary action is front-loaded, and the human-payment caveat is placed as a clarifying second clause, giving high information density.

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

Completeness2/5

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

With no output schema, the description must explain what the agent receives and how to use the returned VietQR, but it only says 'returns VietQR'. It also omits the role of idempotency_key and any post-payment status flow, leaving the agent without enough to handle the full top-up workflow.

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

Parameters2/5

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

The schema descriptions cover only amount (integer VND) and leave idempotency_key undocumented. The tool description adds no parameter-level meaning, so an agent cannot infer why idempotency_key is needed or how the amount relates to the returned QR beyond what the schema already states.

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 states a specific action ('Tạo yêu cầu nạp ví') and its result ('trả VietQR'), making the tool's purpose clear. It also adds the key distinction that the QR is for a human to complete payment, which differentiates it from generic QR/checkout siblings, though it does not name any alternative explicitly.

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 description implies the tool should be used when a wallet top-up requires a human payment step, which is useful context. However, it gives no explicit guidance on when to prefer this over monapay_create_qr, monapay_create_checkout, or other payment-related siblings, and no exclusions or prerequisites.

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

cloud_usageChi phí MONA Cloud theo kỳB

Đọc usage và tổng tiền theo tháng, có thể lọc sản phẩm.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodYes
productNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full behavioral burden. It states the operation is a read ('Đọc'), but does not disclose output format, currency, tax inclusion, timezone handling, or pagination. It is minimally transparent but leaves significant behavior unspecified.

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 a single, compact sentence that conveys the core purpose and parameter semantics without redundancy. Every element earns its place and the main scope is front-loaded.

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?

For a simple two-parameter read tool with no output schema, the description covers the essential purpose and parameter meaning. However, it does not describe response contents beyond 'usage and total money', and offers no usage guidance or notes on output currency/format, leaving room for ambiguity.

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 0%, so the description must compensate. It maps 'theo tháng' to the period parameter and 'lọc sản phẩm' to the product parameter, which adds real semantic meaning. However, it does not explain period format, requiredness, or product value expectations beyond what the schema pattern already suggests.

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 states a specific action ('Đọc' = read) on a specific resource (MonA Cloud usage and total cost by month), with an optional product filter. This is clear and matches the title, though it does not explicitly differentiate it from cost-adjacent siblings like cloud_ledger or cloud_invoice_list.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as cloud_ledger, cloud_balance, or invoice tools. The description implies it is for monthly usage/cost lookups but provides no exclusions or comparison context.

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

cloud_vps_createTạo VPS MONA CloudA

Đọc cloud_plan_list (monthly) hoặc cloud_prices/cloud_packages (hourly), ước tính rồi hỏi duyệt trước tạo. Monthly bỏ CPU/RAM/đĩa, lấy từ plan_code; period=month|year. Kiểm ví đủ giá gói, trả estimate và job_id. / Estimate, approve, create VPS. sandbox=true: thử 0đ, không cần ví.

ParametersJSON Schema
NameRequiredDescriptionDefault
cpuNo
periodNo
ram_gbNo
disk_gbNo
sandboxNosandbox=true: thử 0đ, không cần ví
app_nameYes
plan_codeNo
billing_modeNo
package_slugNo

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the transparency burden. It discloses important behavioral traits: estimating pricing first, asking for approval before creation, checking the wallet balance, returning estimate and job_id, and supporting a zero-cost sandbox mode. It does not cover failure behavior or how approval is requested, but the core side effects are visible.

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 compact and front-loaded with the most important constraint: estimate and ask for approval before creating. It packs a lot of useful guidance into a short space, though the English summary '/ Estimate, approve, create VPS.' repeats the earlier workflow and the sandbox sentence largely duplicates the schema.

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?

For a complex tool with 9 parameters, no output schema, and no annotations, the description covers a lot: pricing source selection, monthly vs hourly behavior, wallet validation, job_id return, and sandbox. Still, it leaves required app_name undefined, does not clarify how billing_mode defaults, and does not explicitly separate this tool from vibecloud_create_vps.

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 only 11%, so the description must compensate. It does add meaning by explaining that monthly mode comes from plan_code and ignores CPU/RAM/disk, while hourly mode relates to cloud_prices/cloud_packages, and it clarifies period and sandbox behavior. However, app_name, billing_mode, and package_slug are not explained directly, leaving a real gap for a 9-parameter tool.

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 the tool creates a VPS and adds the concrete workflow 'Estimate, approve, create VPS', which is more specific than a generic create action. It does not explicitly differentiate from vibecloud_create_vps or other VPS creation siblings, but 'MONA Cloud' in the title and the cloud_* pricing references give indirect context.

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 explicitly instructs the agent to read cloud_plan_list for monthly or cloud_prices/cloud_packages for hourly, and explains when to use plan_code vs CPU/RAM/disk parameters. It also gives sandbox usage guidance and notes the wallet-check requirement, but it does not state an explicit exclusion like 'use vibecloud_create_vps for VibeCloud'.

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

cloud_whoamiTài khoản MONA CloudA

Xác minh MONA Pass hiện tại. / Return the current MONA Pass profile.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It conveys a read-only 'return' operation on the current profile, which is useful, but it does not mention authentication expectations, potential errors, or session-related caveats. It is adequate but not rich.

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 clauses in Vietnamese and English with the core action and resource front-loaded. It contains no filler or redundant information.

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?

For a zero-parameter tool this is mostly complete, but with no output schema the returned 'profile' shape is unspecified, and the sibling landscape contains monapay_whoami and monapay_me with no disambiguation. A one-line note about which service this identity belongs to would close the gap.

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?

There are zero parameters, so there is nothing for the description to explain beyond confirming the call takes no arguments. The empty schema already fully covers this, so the baseline score of 4 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 uses a specific verb ('Return') and a clear resource ('current MONA Pass profile'), and the title reinforces the MONA Cloud scope. However, it does not explicitly distinguish this from sibling monapay_whoami, so it stops short of full sibling differentiation.

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 use case is implied: call it when the current MONA Pass identity/profile is needed. There is no explicit guidance about when to prefer this over similar identity tools such as monapay_whoami or monapay_me, which would be valuable given the large sibling list.

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

mail_accountTài khoản MONA MailA

Khi bắt đầu tích hợp email, đọc tài khoản, quota và bước kế tiếp. / Use first to read account and quota at https://api.monamail.vn.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It does state that this is a read operation for account and quota, which implies no mutation. However, it does not disclose details like response structure, authentication needs, or any rate-limit behavior, though those may be less critical for a simple read tool.

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 short and front-loads the key instruction to use the tool first. It includes a useful API URL without excessive detail, though the Vietnamese and English sentences are partially redundant.

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 zero-parameter read tool, the description provides enough context: when to use it, what it reads, and where the API endpoint lives. It does not describe the exact return payload, but 'account and quota' gives adequate operational meaning without an output schema.

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?

The tool has zero parameters and the schema is fully covered, so the description need not explain parameters. The baseline of 4 applies and the description appropriately omits irrelevant parameter details.

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 the tool reads the account and quota, and explicitly says to use it first during email integration. The verb 'read' plus the resource 'account and quota' is specific, though it does not explicitly differentiate from sibling mail tools.

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?

The description gives clear usage context: 'Khi bắt đầu tích hợp email' (when starting email integration) and 'Use first'. It communicates when to invoke the tool but does not mention when not to use it or point to alternatives.

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

mail_api_key_createTạo API key MONA MailA

Khi tích hợp SDK vào app, tạo key live hoặc test. Key chỉ trả một lần; ghi vào .env của app dưới tên MONAMAIL_API_KEY, không cần in ra chat. / Use to create an app key; store the one-time secret in .env.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
nameYes
idempotency_keyNoGiữ cùng key khi thử lại cùng yêu cầu trong 24 giờ. / Reuse for retries.

TDQS

A3.8/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 behavioral burden and delivers: the key 'chỉ trả một lần' (returned only once) — the most safety-critical trait for a credential tool — plus storage guidance (write to .env as MONAMAIL_API_KEY) and a security instruction not to print the key in chat. This goes well beyond a bare 'create key' statement, though it omits details like whether old keys remain valid.

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 compact — two short sentences — and front-loaded with the usage trigger. The bilingual portions carry distinct content (Vietnamese adds the .env and no-print-in-chat details; English summarizes the action), with only minor duplication and no filler.

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?

For a simple 3-param, no-nested-object tool, it covers purpose, trigger, and the critical one-time-secret behavior. The main gap is response shape: with no output schema, the agent is only told the key is returned once, not what fields to expect, and error behavior is unmentioned.

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 only 33% (just idempotency_key), so the description must compensate. It does map the `mode` parameter via 'tạo key live hoặc test,' but the required `name` parameter is undocumented in both the schema and the description — a genuine gap that the enum-only mode field only partially offsets.

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 the action with a specific verb and resource: 'tạo key live hoặc test' / 'Use to create an app key.' The create action distinguishes it from sibling tools like mail_api_keys_list and mail_api_key_revoke, though those alternatives are never named explicitly, which keeps it a step below 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 Guidelines4/5

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

'Khi tích hợp SDK vào app' ('When integrating SDK into app') provides an explicit trigger condition, and the live/test distinction clarifies the two modes this tool covers. It gives clear context for when to invoke it but does not state exclusions or point to alternatives for listing/revoking keys.

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

mail_api_key_revokeThu hồi API keyA

Khi key không còn dùng hoặc bị lộ, thu hồi bằng key_id. / Use to revoke an unused or compromised API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
key_idYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether revocation is immediate or irreversible, what happens to integrations currently using the key, or how success is reported. For a destructive operation, this is a notable gap.

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 short and front-loaded with the purpose. The Vietnamese and English sentences are redundant with each other, but the duplication is compact and unlikely to confuse. It earns a high score, though a single-language version would be slightly tighter.

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?

For a simple one-parameter tool, the description gives the core trigger and target. However, with no output schema and no annotations, it misses behavioral details such as irreversibility, effect on active services, and confirmation/error behavior, leaving an agent with partial information.

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 0%, so the description must compensate. It does mention key_id as the identifier used for revocation, but it does not explain where the key_id comes from (e.g., from mail_api_keys_list) or any format expectations beyond the schema's min/max length.

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 action (revoke) on a specific resource (API key), and adds the condition under which it applies (unused or compromised). This clearly differentiates it from sibling tools like mail_api_key_create and mail_api_keys_list.

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?

The description gives explicit when-to-use guidance: revoke when the key is unused or compromised. It does not explicitly name alternatives or exclusion criteria, but the context is strong enough for an agent to select this tool over related key management tools.

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

mail_api_keys_listDanh sách API keyA

Khi kiểm tra key của app, đọc prefix và trạng thái; không trả secret. / Use to inspect existing API key metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses two useful behavioral facts: only prefix and status are returned, and the secret is never returned. It does not mention pagination, errors, or auth, but for a zero-parameter inspection tool this is a minor gap.

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 short and information-dense, with no filler. The Vietnamese sentence and English summary carry slightly overlapping meaning, which costs a small amount of structural efficiency, but both are useful and the overall size is appropriate.

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 zero-parameter list with no output schema, the description explains what the tool does, what fields it reads, and what it deliberately does not return. There is no material missing context that would prevent an agent from invoking it correctly.

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?

The input schema is empty with zero parameters, so there is nothing for the description to document. The description still adds value by indicating what the returned data will contain (prefix/status, no secret), satisfying the baseline for a parameterless tool.

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: 'inspect existing API key metadata.' It also adds a concrete scope by saying the tool reads prefix and status but not the secret, which clearly separates it from sibling create/revoke tools like mail_api_key_create and mail_api_key_revoke.

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?

The first sentence gives a clear usage context: when checking an app's key, read its prefix and status. It does not explicitly name alternatives or state when not to use it, but 'existing API key metadata' plus the sibling names make the list-vs-create/revoke distinction obvious.

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

mail_domain_addThêm domain gửi emailA

Khi gửi bằng domain của app, thêm domain. Trả record DNS; nếu người dùng dùng Cloudflare có thể gọi mail_domain_cloudflare với token của họ (không lưu). / Use to register a sender domain and get DNS records.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
idempotency_keyNoGiữ cùng key khi thử lại cùng yêu cầu trong 24 giờ. / Reuse for retries.

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses that the tool returns DNS records and notes that the Cloudflare token is not stored, but it does not describe side effects, whether the domain registration is persistent, how long DNS propagation takes, or whether verification is required afterward.

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?

The description is compact and front-loaded with the core purpose, but it repeats the same information in Vietnamese and English ('Trả record DNS' / 'get DNS records'). Bilingual duplication adds length without adding new semantic content, so it is not as tightly written as it could be.

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?

With no output schema and no annotations, the description should explain what the DNS records look like, what the agent should do with them, and whether a verification step is needed. It provides the key output type (DNS records) and the Cloudflare alternative, but omits follow-up verification context and any mention of retry/idempotency behavior, leaving moderate gaps.

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 50%: idempotency_key is documented in the schema, but domain has no schema description. The description adds some meaning by clarifying that domain refers to a sender domain for the app, but it does not specify format rules, whether it must be a root domain or subdomain, or how the idempotency_key interacts with the registration process.

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 clearly states the tool registers a sender domain and returns DNS records, using a specific verb and resource ('register a sender domain', 'get DNS records'). It also distinguishes itself from the Cloudflare sibling tool by naming mail_domain_cloudflare, so an agent can tell the purpose apart.

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?

The description gives an explicit when-to-use context ('when sending by the app's domain') and names an alternative: call mail_domain_cloudflare if the user uses Cloudflare. However, it does not explicitly mention when to prefer mail_domain_verify or exclude other non-Cloudflare cases, so the guidance is strong but not fully exhaustive.

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

mail_domain_cloudflareThêm DNS qua CloudflareA

Khi người dùng cung cấp token Cloudflare, thêm DNS rồi verify domain. Token dùng một lần, không lưu, không log. / Use a user-provided Cloudflare token to configure DNS and verify.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_tokenYes
domain_idYes
idempotency_keyNoGiữ cùng key khi thử lại cùng yêu cầu trong 24 giờ. / Reuse for retries.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It does well by disclosing that the token is single-use, not stored, and not logged, and that the tool modifies DNS and performs verification. It stops short of describing failure modes or DNS propagation behavior, but these are secondary to the main security-relevant disclosure.

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 compact, front-loaded with the triggering condition and main effect, and contains no filler. The bilingual phrasing is justified for mixed-language users, and the security note is integrated without bloating the entry.

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 description covers the core action and token-security behavior, but omits important context such as prerequisites (e.g., whether the domain must already exist, whether a Cloudflare zone is required), expected return/status information, and error behavior. Since there is no output schema and no annotations, these gaps matter for reliable agent invocation.

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?

The description adds meaning beyond the schema by identifying api_token as a user-provided Cloudflare token that is used once and never logged, and by implying that domain_id is the target domain. However, schema coverage is only 33%, and the description does not clarify where domain_id comes from or how it relates to the mail-domain lifecycle, so compensation is only partial.

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 action: when a user provides a Cloudflare token, add DNS records and verify the domain. It clearly distinguishes this from sibling tools like mail_domain_add and mail_domain_verify by making Cloudflare automation the central resource and process.

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?

The phrase 'Khi người dùng cung cấp token Cloudflare' explicitly names the triggering condition: use this when the user supplies a Cloudflare token. It does not name sibling alternatives or state when not to use them, but the context is clear enough for an agent to recognize the intended usage.

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

mail_domains_listDomain MONA MailA

Khi chọn địa chỉ gửi, xem domain và trạng thái xác minh. / Use to find verified sender domains.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral disclosure. 'Xem/view' signals a read-only listing and it indicates the returned data (domain and verification status), but it does not clarify whether unverified domains are also returned, nor does it mention pagination or auth expectations. Adequate but not rich.

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 compact and to the point, with no wasted words. The Vietnamese and English sentences largely restate the same idea, which is minor redundancy, but the overall structure is efficient and readable.

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 zero-input list tool, the description covers the essential context: when to use it and what it returns (domains and verification status). Since there is no output schema, the description adequately names the return content. Missing deeper details like response format are not critical here.

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?

The input schema has zero parameters and full schema description coverage, so the baseline of 4 applies. The description adds relevant context about what the tool scans, even though there is nothing parameter-specific to document.

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 states a specific verb-resource pair: 'find verified sender domains' and viewing domain plus verification status. It is clearly a lookup operation, and the list intent is unambiguous even though it does not explicitly contrast with the sibling mail_domain_add/verify/cloudflare tools.

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 gives a concrete usage context: when choosing a sending address, use this to check domains and their verification status. It does not explicitly name alternatives or exclusions, but for a simple zero-parameter list tool, this is clear enough guidance.

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

mail_domain_verifyXác minh DNS domainA

Khi đã thêm DNS, kiểm DKIM và trạng thái domain. / Use after adding DNS records to verify the sender domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYes
idempotency_keyNoGiữ cùng key khi thử lại cùng yêu cầu trong 24 giờ. / Reuse for retries.

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the tool checks DKIM and domain status, but it does not state whether verification is read-only or triggers an action, nor mention side effects or propagation timing. Basic behavior is clear, but the safety profile is incomplete.

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?

Two short bilingual sentences with no filler; the most important usage condition ('after adding DNS records') is front-loaded and the rest is directly relevant.

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 low-complexity tool with one required parameter and no output schema, the description covers the key workflow context and enough semantics to invoke it. A minor gap is the lack of guidance about possible pending states or propagation delays after DNS changes.

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 only 50% and domain_id has no description in the schema. The description identifies the domain as the object being verified, which maps to domain_id, but it does not explain how to obtain it, and it adds nothing about idempotency_key beyond the schema's own description.

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: 'verify the sender domain' after DNS records are added, and names concrete checks ('DKIM and domain status'). This clearly distinguishes it from siblings like mail_domain_add and mail_domains_list, which cover adding and listing domains.

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 gives explicit contextual timing: 'Use after adding DNS records to verify the sender domain' / 'Khi đã thêm DNS'. This tells an agent when in the domain-setup workflow to invoke it, though it does not explicitly name alternatives or state when not to use it.

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

mail_listDanh sách emailB

Khi tra lịch sử gửi, lọc theo trạng thái, người nhận hoặc thời gian. / Use to search sent email history.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
limitNo
sinceNo
statusNo

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It conveys a read/search intent but says nothing about result format, pagination, default limits, ordering, or which statuses are included (e.g., queued vs. sandbox). The content largely restates purpose rather than revealing behavioral traits.

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?

Two compact sentences with the usage context front-loaded. The bilingual repetition (Vietnamese and English saying the same thing) is a minor redundancy, but there is no filler or irrelevant detail.

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

Completeness2/5

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

Given zero schema descriptions, no annotations, and no output schema, this description leaves important gaps: what the response looks like, the role of the limit parameter, and how results relate to mail_status/mail_stats. It is adequate for recognizing the tool's purpose but not for confidently invoking it with full expectations.

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 0%, so the description must compensate. It maps three parameters to filter concepts ('trạng thái, người nhận hoặc thời gian' = status, recipient, time), which adds mild meaning. However, it ignores the limit parameter entirely and adds little beyond what the self-explanatory parameter names already suggest.

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 names a specific action and resource: 'search sent email history', plus the filter dimensions (status, recipient, time). This is enough to distinguish it as a history-listing tool, though it never explicitly differentiates from mail_status or mail_stats among siblings.

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?

'Khi tra lịch sử gửi' ('when checking send history') provides an implicit usage context. However, there are no exclusions or alternative tool references — an agent cannot determine when to pick mail_list over mail_status (single-message status) or mail_stats (aggregate statistics) without opening other definitions.

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

mail_plansGói MONA MailA

Khi chọn gói gửi mail, đọc giá và quota hiện hành. / Use to compare current email plans.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It indicates a read/compare action via 'đọc' and 'compare', implying non-mutating behavior, but it does not describe output format, whether all plans are returned, or any other side effects. This is adequate but minimal.

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 short and front-loads the triggering condition and the core action. The Vietnamese and English sentences are near-duplicates, adding minor redundancy, but there is no filler beyond the bilingual restatement.

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 zero-parameter lookup tool, the description covers enough: it names the object (email plans), the data of interest (price and quota), and the action (compare/read). It lacks an output schema, but the simplicity of the operation makes the description reasonably complete.

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?

The tool has zero parameters and an empty input schema with 100% schema coverage, so there are no parameter semantics for the description to add. Per the zero-parameter baseline, this is not a deficiency.

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 states a clear verb and resource: compare/read current email plans, including price and quota. It is distinct from mail_plan_set and other mail tools, though it does not explicitly name an alternative, 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 Guidelines4/5

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

'Khi chọn gói gửi mail' gives an explicit condition: use this when choosing a mail-sending plan to read current pricing and quota. It provides clear context, but it does not state exclusions or sibling alternatives such as mail_plan_set for changing a plan.

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

mail_plan_setĐổi gói MONA MailB

Khi cần đổi quota, chọn gói; gói trả phí trừ ví VND, thiếu tiền gọi cloud_topup. / Use to change the email plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
planYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. It discloses an important side effect – paid plans deduct from the VND wallet and insufficient balance should trigger cloud_topup. However, it does not say whether the change is immediate, whether existing mailboxes/data are affected, or whether downgrades are possible.

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 short and front-loaded: it gives the condition, the action, and the billing fallback in two compact clauses. The trailing English sentence mostly repeats the title, which is slightly redundant but not harmful.

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?

For a one-parameter tool, it covers the trigger, the action, and the payment fallback, which is useful. However, with no annotations and no output schema, it leaves unstated what the agent should expect after the call succeeds – immediate confirmation, asynchronous job status, or any prerequisites beyond wallet balance.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to explain the plan parameter meaning, but it only says 'chọn gói' generically. It does not map the enum values (free, khoi-nghiep, kinh-doanh, doanh-nghiep) or clarify which plans are paid versus free beyond a general mention of 'gói trả phí'.

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 states a specific verb ('change') and resource ('email plan' / 'đổi quota'), and ties it to MONA Mail. It is clear enough to know this is a plan-change operation, though it does not explicitly contrast with sibling tools like mail_plans.

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 gives an explicit trigger: 'Khi cần đổi quota, chọn gói' – when a quota change is needed, select a plan. It also covers a fallback path by directing the agent to call cloud_topup if wallet funds are insufficient, though it does not mention when to prefer mail_plans for inspecting plans.

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

mail_sendGửi email giao dịchA

Khi gửi OTP hoặc thông báo, dùng domain đã verify; onboarding@monamail.vn chỉ gửi tới email chủ. sandbox=true thử 0đ, không gửi ra Internet. / Use to send transactional email or test in sandbox.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes
fromYes
htmlNo
tagsNo
textNo
sandboxNoGửi X-Mona-Sandbox: 1, không tính quota hoặc trừ ví. / Test without delivery or charges.
subjectNoBắt buộc nếu không dùng template_id. / Required without a template.
reply_toNo
variablesNo
template_idNo
idempotency_keyNoGiữ cùng key khi thử lại cùng yêu cầu trong 24 giờ. / Reuse for retries.
unsubscribe_urlNo

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are present, so the description carries the full behavioral burden. It discloses verified-domain requirements, sandbox side effects, and the onboarding address limitation. However, it does not mention real-send costs/quota, idempotency behavior, template versus subject requirements, or how suppression lists affect delivery.

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 short and front-loads the most critical constraint: verified domain usage. The bilingual repetition is somewhat redundant but serves a mixed-language audience, and there is no filler or excessive detail.

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

Completeness2/5

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

With 12 parameters, no annotations, and no output schema, a two-sentence description is insufficient. It omits the subject/template selection rule, retry semantics, quota/cost behavior for real sends, and what a successful response means. An agent would need to inspect the schema and infer significant behavior before invoking this side-effecting tool.

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 only 25%, and the tool description adds useful meaning for sandbox behavior and the from-address requirement. It does not compensate for the many undocumented parameters such as template_id, variables, reply_to, tags, idempotency_key, and unsubscribe_url, leaving important invocation details to inference.

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 the action: sending transactional email, and it mentions concrete use cases: OTP or notifications and sandbox testing. It does not explicitly contrast itself with sibling tools like mail_template_create or mail_suppressions_list, but the send/test framing is distinct enough.

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?

The description provides clear usage context: use a verified domain, sandbox for zero-charge tests without Internet delivery, and a special restriction on the onboarding@monamail.vn address. It does not name sibling alternatives or state when not to use this tool, so it falls short of a 5.

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

mail_statsThống kê gửi emailC

Khi đánh giá khả năng giao thư, đọc tỷ lệ delivered và bounce theo thời gian. / Use to review email delivery statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only action ('đọc'/'review') and names the metrics involved (delivered, bounce), but it does not disclose output shape, aggregation granularity, data latency, or whether both metrics are always returned. For an unannotated tool this is thin coverage.

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?

The description is compact and front-loads the evaluation context, but the Vietnamese and English halves are largely redundant restatements of the same idea. A single merged sentence would convey the same information, so not every clause earns its place.

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?

For a low-complexity tool (two optional date params, no output schema, no annotations), the description is minimally adequate: it states the purpose and the key metrics. But an agent still lacks clarity on what the response contains and how from/to shape the query, and with no output schema to fall back on, those gaps matter.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. The phrase 'theo thời gian' (over time) loosely hints that the from/to date parameters define a time window, but it never maps from→start and to→end, never mentions optionality, and gives no format guidance beyond the schema regexes. This is marginal compensation for a 0%-coverage schema.

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 states a concrete activity — reviewing email delivery statistics, specifically delivered and bounce rates over time. This distinguishes it from send/provisioning tools like mail_send or mail_domain_add. However, it does not differentiate itself from close siblings such as mail_status or monapay_email_stats, and the weak verb 'review/đọc' leaves the exact operation somewhat open.

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 Vietnamese clause 'Khi đánh giá khả năng giao thư' supplies a scenario-based trigger ('when evaluating mail delivery capability'), which is a legitimate usage signal. But it gives no exclusions and never points to alternatives, leaving an agent uncertain whether to pick this over mail_status, mail_list, or monapay_email_stats.

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

mail_statusTrạng thái emailA

Khi cần xác nhận thư đã giao, đọc trạng thái, events và sandbox_preview. / Use to inspect an email after sending.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_idYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full transparency burden. It does signal a non-mutating inspection through 'đọc/read/inspect' and discloses the elements inspected (status, events, sandbox_preview). However, it does not explain what sandbox_preview contains, any polling or waiting semantics after sending, or what happens for an invalid or missing email_id.

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?

Two short clauses, front-loaded with the trigger condition and closing with the plain-English purpose. The bilingual duplication is mild redundancy, but nothing is wasted and the key scoping detail ('after sending') is prominent.

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?

For a single-parameter read tool, the description covers the basics — what to inspect and when. Yet with no output schema and no annotations, an agent is left guessing at the shape of the returned status/events objects, the semantics of sandbox_preview, and the provenance of email_id. Adequate but not self-sufficient.

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 0%, so the schema itself provides no meaning for email_id. The description compensates only partially: it implies the ID identifies a just-sent email, but it never states where the ID originates (e.g., from mail_send's response) or gives any format guidance beyond the schema's raw length constraints.

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 states a specific action — inspecting/reading an email's status, events, and sandbox_preview after sending — rather than merely restating the name or title. It differentiates itself from email-family siblings (mail_send, mail_list, mail_stats) by context, though it never names the alternatives explicitly.

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?

The Vietnamese opening supplies an explicit trigger condition ('when needing to confirm the email was delivered'), and the English clause adds sequencing context ('after sending'). No exclusions or named alternatives, but the when-condition is concrete enough for an agent to route to this tool over mail_send or mail_list.

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

mail_suppression_removeGỡ suppression tài khoảnA

Khi đã xử lý nguyên nhân chặn, gỡ suppression của tài khoản; lớp toàn hệ không gỡ được. / Use to remove an account-level suppression.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It discloses the operation's scope (account-level only) and a practical precondition, but does not mention whether removal is idempotent, what happens if the email is not suppressed, required permissions, or the response format. Moderate transparency.

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?

Two compact sentences conveying condition, action, and limitation, with the key English summary up front. The Vietnamese and English phrases partly repeat, creating slight redundancy, but nothing is wasted overall.

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?

For a one-parameter, no-output-schema tool, the description covers what the tool does and when to use it, but leaves open questions about error behavior, idempotency, and the exact input mapping. Adequate for selection and basic invocation, with clear gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to explain the email parameter's role, but it never mentions 'email' or maps 'tài khoản' (account) to the email identifier. The parameter is simple and named, but the description adds no semantic value beyond the schema.

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 ('remove') and resource ('account-level suppression'), with a clear scope limitation that system-wide suppressions cannot be removed via this tool. This differentiates it from listing tools like mail_suppressions_list and from any broader suppression-removal operation.

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?

Gives an explicit precondition: use only after the blocking cause has been handled ('Khi đã xử lý nguyên nhân chặn'). It also states an exclusion: system-wide suppressions are not removable. It does not name a specific alternative tool, so it stops short of a full when/when-not/alternatives statement.

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

mail_suppressions_listĐịa chỉ ngừng gửiB

Khi thư bị suppressed, xem địa chỉ và lý do ngừng gửi. / Use to diagnose suppressed recipients.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does add that the operation is a read/view returning addresses plus reasons, which is meaningful, but it says nothing about output shape, scope (mail vs monapay), ordering, or pagination. For a tool with zero annotation coverage, this is thin.

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?

Two short sentences in Vietnamese and English, with the scenario front-loaded before the action. Every word earns its place and there is no filler; the only minor inefficiency is the bilingual duplication being partially redundant.

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?

Given there is no output schema and no annotations, the description should clarify what the response looks like and any scope constraints; it reveals only that addresses and reasons are returned. For a simple zero-parameter list tool it is close to adequate, but it omits sibling differentiation and any hint of output structure that an agent would need without an output schema.

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?

The schema declares zero parameters with trivially complete coverage, so per the rubric the baseline for 0 params is 4. There is nothing about parameters for the description to add, and the schema needs no compensation.

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 states a specific action and resource: "xem địa chỉ và lý do ngừng gửi" (view addresses and the reason for suppression), and the English gloss 'diagnose suppressed recipients' reinforces the read/list nature. It is distinguishable from the sibling mail_suppression_remove by direction (view vs remove), though it does not explicitly name that sibling or the cross-domain monapay_list_email_suppressions.

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 English sentence 'Use to diagnose suppressed recipients' gives a clear trigger condition for when to call the tool, which is more than just implied usage. However, it provides no exclusions and names no alternatives — an agent gets no guidance on when to prefer this over monapay_list_email_suppressions or when to pair it with mail_suppression_remove.

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

mail_template_createTạo mẫu emailC

Khi app dùng lại nội dung mail, tạo template với biến {{ten_bien}}. / Use to create a reusable email template.

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlYes
nameYes
textNo
subjectYes
idempotency_keyNoGiữ cùng key khi thử lại cùng yêu cầu trong 24 giờ. / Reuse for retries.

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It usefully discloses the {{ten_bien}} variable-substitution convention, but it doesn't state what happens on success or error, whether template names must be unique, overwrite behavior, or the response format — a bare 'create' with no consequences leaves an agent guessing.

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?

Two short sentences, roughly 20 words, with the when-condition front-loaded. But the bilingual halves are partially redundant (both convey 'create reusable template'), and the English 'Use to create...' is grammatically awkward, which slightly undermines clarity.

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

Completeness2/5

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

For a 5-parameter, 3-required creation tool with no annotations and no output schema, this is underspecified. An agent still cannot tell what name/subject/text should contain, whether text is optional despite existing, or what a successful creation returns — the description must carry more weight given how little structured context exists.

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

Parameters2/5

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

Schema description coverage is only 20% (just idempotency_key is documented), so the description must compensate. It adds the {{ten_bien}} variable convention relevant to html, but the semantics of name, subject, and text (e.g., text as a plain-text fallback) are unexplained in both schema and description.

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 states a clear verb and resource ('create a reusable email template'), and the Vietnamese clause adds a trigger scenario ('when the app reuses mail content'). The word 'email' scopes it away from agent_templates_list/agent_templates_get, but the description doesn't explicitly name or differentiate from those siblings.

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 Vietnamese clause implies when to use it — when the app reuses mail content — which provides recognizable context. However, there is no explicit when-not-to-use guidance or named alternative (e.g., mail_send for one-off sends), so routing an agent to the correct tool still requires inference.

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

mail_webhook_createTạo webhook emailA

Khi app cần nhận sự kiện gửi hoặc bounce, đăng ký HTTPS webhook; lưu secret một lần vào .env, không log. / Use to subscribe an app to email events.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
eventsYes
idempotency_keyNoGiữ cùng key khi thử lại cùng yêu cầu trong 24 giờ. / Reuse for retries.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses meaningful behavior: the webhook must be HTTPS, the secret should be saved once to .env, and it must not be logged. However, it does not mention what the response contains, whether it replaces existing webhooks, or any side effects, leaving gaps.

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 two sentences and reasonably concise. The English summary somewhat repeats the Vietnamese core idea, but the Vietnamese portion adds unique details about secret handling and HTTPS, so every sentence earns its place overall.

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?

Despite having no output schema and no annotations, the description covers the essential purpose and a key operational caveat (secret storage). It omits other useful context such as the expected response, idempotency behavior, and how to verify the webhook later, making it adequate but not complete.

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 low at 33%, so the description must compensate. It adds meaning to the url parameter by requiring HTTPS and hints at the events parameter with 'gửi hoặc bounce' (send or bounce). It does not explain idempotency_key beyond the schema's own description, so compensation is partial.

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 the tool's function: 'Use to subscribe an app to email events' and 'đăng ký HTTPS webhook' (register an HTTPS webhook) when the app needs to receive send or bounce events. The verb 'subscribe' and 'create' in the name distinguish it from list/test siblings, though the description does not explicitly name them.

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?

The Vietnamese clause 'Khi app cần nhận sự kiện gửi hoặc bounce' provides a clear condition for when to use the tool. However, it does not mention alternatives such as mail_webhooks_list or mail_webhook_test, nor any when-not-to-use guidance, so it stops short of a 5.

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

mail_webhooks_listDanh sách webhook emailA

Khi kiểm tra cấu hình sự kiện của app, liệt kê webhook. / Use to inspect registered email webhooks.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. 'Inspect' and 'registered' clearly imply a read-only listing of existing webhooks, which is the key trait. However, it does not disclose auth requirements, return format, pagination, or explicitly confirm that no changes are made.

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 clauses: one frames the use case, the other states the resource scope. There is no filler or redundant detail beyond the intentional bilingual mirroring.

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 zero-parameter list operation, the description supplies the trigger condition and the resource scope. The absence of response-shape details is a minor gap given no output schema, but not a blocking omission.

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?

The tool has zero parameters and 100% schema coverage, so there is nothing for the description to add. The 0-parameter baseline of 4 applies; no param semantics are needed.

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 action ('liệt kê' / 'inspect') on a specific resource ('webhook email' / 'registered email webhooks'). The 'email' qualifier and 'registered' wording clearly separate it from create/test webhook siblings and from the monapay webhook tools.

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 explicitly gives a trigger context: 'Khi kiểm tra cấu hình sự kiện của app' (when checking app event configuration). It does not name alternatives or state when not to use it, so it lacks full exclusionary routing guidance.

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

mail_webhook_testThử webhook emailB

Khi đã có endpoint, gửi mẫu email.delivered để kiểm tra HTTP response. / Use to test webhook delivery to an app.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhook_idYes
idempotency_keyNoGiữ cùng key khi thử lại cùng yêu cầu trong 24 giờ. / Reuse for retries.

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full disclosure burden. It does disclose the key behavioral trait — it sends a sample email.delivered event (not a real email) and inspects the resulting HTTP response. Yet it omits additional behavioral context such as whether test events are logged, rate limits, or how failures/timeouts are surfaced.

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?

Two short sentences with the usage condition front-loaded before the purpose statement. The main inefficiency is bilingual redundancy — the English sentence restates the Vietnamese sentence — but there is no filler beyond that and the content is appropriately compact for a simple tool.

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?

For a simple 2-parameter tool with no output schema, the description covers purpose, prerequisite, and payload type. However, it lacks expected outcome guidance (e.g., what HTTP status codes indicate success), error/retry behavior, and any clarification of webhook_id. The presence of monapay_test_webhook as a sibling also means the platform scope (mail vs monapay) is only implicit via the name prefix.

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

Parameters2/5

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

Schema description coverage is only 50%; webhook_id (the required parameter) has no schema description and the tool description provides no clarification of it beyond the tool name. The idempotency_key parameter is documented in the schema, but the description adds nothing about how either parameter should be supplied or used.

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 states a specific verb ('test') and resource ('webhook delivery to an app') and specifies the exact payload sent ('email.delivered' sample) for checking the HTTP response. This clearly distinguishes it from sibling create/list webhook tools, though it does not explicitly name the sibling test tool (monapay_test_webhook) for contrast.

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 description opens with 'Khi đã có endpoint' (when you already have an endpoint), which communicates the prerequisite that a webhook endpoint must exist before testing. However, it does not state when NOT to use this tool, nor does it explicitly mention alternatives like monapay_test_webhook for testing other webhook types.

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

monapay_cancel_checkoutHuỷ phiên thanh toánA

Huỷ checkout đang pending; checkout đã paid, expired hoặc cancelled không thể huỷ lại. / Cancel a pending checkout.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkout_idYesID phiên thanh toán
idempotency_keyNoKhoá chống tạo trùng; bỏ trống để MCP tự sinh UUID

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description alone must disclose behavioral traits. It does state the key state restriction, which is valuable. But it omits what happens on invalid states (error vs no-op), whether cancellation is reversible, any idempotency effects, or side effects. This is minimal but not comprehensive.

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, one in Vietnamese and one in English, with no filler. The action and state restriction are front-loaded, and every word contributes to the meaning.

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?

For a simple cancellation tool, the essential action is stated, but without an output schema the description does not clarify return values or failure behavior. It also does not explain how idempotency_key affects cancellation or recommend verifying checkout status beforehand. Adequate but with clear gaps.

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%, and the schema already documents checkout_id and idempotency_key, including the auto-UUID behavior. The description adds no additional parameter meaning, so the baseline of 3 applies.

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 clearly specifies the action: cancel a pending checkout, and explicitly restricts the operation to pending state only. This distinguishes it from sibling tools like monapay_cancel_qr and other checkout operations without ambiguity.

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?

The description provides clear context on when the tool is valid (pending checkout) and explicitly lists ineligible states (paid, expired, cancelled). However, it does not name an alternative tool for non-pending checkouts or suggest checking status first, so it stops short of full routing guidance.

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

monapay_cancel_qrHuỷ mã QRB

Huỷ một mã VietQR động đã tạo. / Cancel a dynamic QR.

ParametersJSON Schema
NameRequiredDescriptionDefault
qr_code_idYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says cancellation happens, without revealing whether the cancellation is irreversible, what happens if the QR was already scanned, or any side effects on associated transactions. This is a significant transparency gap for a destructive operation.

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 uses two short, parallel sentences (Vietnamese and English) that communicate the action directly. It is front-loaded, scannable, and wastes no words.

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

Completeness2/5

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

For a single-parameter mutation tool with no annotations and no output schema, this description is too thin. It omits parameter semantics, behavioral side effects, and any response hints. An agent would need to infer too much to invoke it correctly and confidently.

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

Parameters1/5

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

Schema coverage is 0% and the description does not mention qr_code_id at all. While the parameter name is somewhat self-explanatory, the description fails to compensate for the lack of schema documentation. An agent is left guessing what value to pass and how to obtain it.

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: 'Cancel a dynamic QR' (Huỷ một mã VietQR động đã tạo). This clearly distinguishes it from siblings like monapay_create_qr and monapay_cancel_checkout. The bilingual text reinforces the same unambiguous action.

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 'already created' implies a prerequisite: the QR must be dynamic and existing. However, there is no explicit guidance on when to use this versus alternatives like monapay_cancel_checkout, nor any mention of conditions or exclusions. The usage context is only lightly implied.

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

monapay_create_checkoutTạo link thu tiềnA

Tạo link thu tiền, đưa link cho khách hoặc chuyển hướng checkout; đợi webhook CHECKOUT_PAID trước khi giao hàng. / Create a hosted checkout link; wait for CHECKOUT_PAID before fulfilment.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesSố tiền nguyên VND
sandboxNotrue = phiên THỬ với VA sandbox, không tiền thật; dùng được khi chưa nối ngân hàng
metadataNo
cancel_urlNo
expires_inNo
order_codeYes
payer_nameNo
return_urlYes
descriptionNo
payer_emailNo
idempotency_keyNoKhoá chống tạo trùng; bỏ trống để MCP tự sinh UUID
virtual_account_idNo

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals the critical async trait: payment completes via webhook later, not synchronously, so fulfilment must wait for CHECKOUT_PAID. It does not mention response shape, cancel semantics, or side effects, but the most important behavioral caveat is present.

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?

Two short sentences in each language, with purpose front-loaded and the webhook caution following. Every clause carries distinct information, though the bilingual duplication roughly doubles length without adding content.

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

Completeness2/5

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

For a tool with 12 parameters, 3 required fields, nested metadata, no annotations, and no output schema, the description is incomplete. It does not state the response contract (though 'checkout link' implies a URL), explain how required parameters interact, or clarify sandbox-vs-live usage, leaving an agent under-informed for a complex call.

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

Parameters2/5

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

Schema description coverage is only 25% (amount, sandbox, metadata, and idempotency_key have schema descriptions; 8 parameters do not). The description mentions no parameters at all, so it does not compensate for the coverage gap, leaving amount, order_code, return_url, expires_in, payer fields, and virtual_account_id semantics undocumented.

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 uses a specific verb+resource pair: 'Create a hosted checkout link' (Tạo link thu tiền). It clearly identifies what the tool produces and distinguishes it from sibling payment tools like monapay_create_qr and monapay_cancel_checkout by resource type, though it never names those alternatives explicitly.

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?

The description gives clear usage context: give the link to the customer or redirect them to checkout, and wait for the CHECKOUT_PAID webhook before fulfilment. This is explicit operational guidance, but it does not state exclusions or name alternative tools for other payment scenarios.

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

monapay_create_email_configTạo cấu hình thông báo emailA

Tạo kênh thông báo email. Sau khi tạo, MONA Pay gửi mã 6 số tới từng địa chỉ; hỏi người dùng mã rồi gọi monapay_verify_email; không tự đoán mã. / Create an email notification config. MONA Pay sends a 6-digit code to each address; ask the user for each code, call monapay_verify_email, and never guess a code.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTên cấu hình
eventsNoSự kiện gửi email; luôn phải có TRANSACTION_IN
recipientsYesTừ 1 đến 10 địa chỉ nhận email
virtual_account_idNoChỉ nhận thông báo cho VA này; bỏ trống = mọi tài khoản

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden, and it does this well. It discloses that the tool triggers a 6-digit verification code to every recipient and requires a separate verification step. The explicit warning 'never guess a code' is a valuable behavioral safeguard that an agent would otherwise not know.

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 compact and front-loaded: the first phrase states the purpose, and the rest explains the required follow-up workflow. The bilingual version is still short, with no filler or redundant elaboration. Every sentence contributes actionable information.

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 creation tool with no output schema, the description adequately covers purpose, side effects, and the necessary next step of calling monapay_verify_email. It does not describe the shape of the create response or explicitly state whether the config is inactive until verification, which would be marginally useful. Overall, the agent has enough context to call the tool and proceed correctly.

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, but the description adds meaning beyond the schema by stating that each recipient address independently receives a 6-digit code and must be verified. This is not inferable from the recipients property description and helps the agent understand how multiple values are processed. It does not add detail about events or virtual_account_id, but the schema already covers those adequately.

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 opens with a clear verb and resource: 'Tạo kênh thông báo email' / 'Create an email notification config'. It clearly identifies this as a creation operation for an email notification channel, distinguishing it from list, update, delete, and verify siblings. The follow-up verification instruction makes the tool's role even more specific.

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?

The description gives clear workflow guidance: after creation, a 6-digit code is sent to each recipient, the user must be asked for the code, and the agent must call monapay_verify_email rather than guessing. It does not explicitly state when to choose this tool over monapay_notification_register or other create-type siblings, but the named follow-up and clear purpose make the use case fairly obvious.

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

monapay_create_qrTạo VietQR động cho đơn hàngA

Tạo mã VietQR động điền sẵn số tiền + nội dung cho một đơn hàng qua ACB. Khách quét là tiền vào tài khoản ảo, MONA Pay bắn webhook. / Create a dynamic VietQR for an order.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesSố tiền VND (số nguyên)
userIdNo
orderIdYesMã đơn hàng của hệ thống anh chị
ownerTypeNoPER cá nhân / ORG doanh nghiệpPER
merchantIdYesMã merchant (hiển thị ở dashboard mục Tạo QR)
terminalIdNoWEB
descriptionNoNội dung chuyển khoản, nên chứa mã đơn
loyaltyCodeNo
ownerNumberYesSố tài khoản ACB nhận tiền
traceNumberNo
voucherCodeNo
beneficiaryNameYesTên đơn vị hưởng
virtualAccountPrefixYesĐầu số tài khoản ảo đã đăng ký

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It adds valuable context beyond the schema: the customer scans the QR, funds go to a virtual account, and MONA Pay fires a webhook. This explains the operational consequence of calling the tool, though it does not discuss idempotency, expiry, or failure modes.

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 short, front-loaded with the core action, and includes a useful behavioral sentence. The English summary is mildly redundant with the Vietnamese sentence but serves bilingual users without adding meaningful bloat.

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 tool has 13 parameters, no annotations, and no output schema, so the description should compensate for more. It explains the payment flow and webhook behavior, which is helpful, but it does not describe what the tool returns (e.g., QR image, URL, or ID), nor does it give guidance on prerequisites or when to prefer this over related Monapay payment tools.

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 62%, so the schema already documents most key parameters. The description adds a small semantic clue by saying 'điền sẵn số tiền + nội dung', which maps to the `amount` and `description` parameters, but it does not explain ambiguous optional parameters like `traceNumber`, `loyaltyCode`, or `voucherCode`.

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 explicitly states a specific verb ('Tạo'), resource ('mã VietQR động'), and context ('cho một đơn hàng qua ACB'). This clearly distinguishes it from siblings like monapay_create_checkout and monapay_cancel_qr, and adds behavioral specifics beyond the title.

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 description implies when the tool should be used ('cho một đơn hàng' / for an order) and describes the QR flow, but it does not explicitly contrast it with alternatives such as monapay_create_checkout, monapay_link, or static QR generation. There are no exclusions or if-then routing cues.

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

monapay_create_webhookTạo cấu hình webhookC

Đăng ký URL nhận webhook khi có tiền vào; khuyến nghị auth_type HMAC_SHA256 + secret_key. / Create a webhook config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
auth_typeNoHMAC_SHA256
secret_keyNoSecret ký HMAC hoặc giá trị API key
webhook_urlYes
api_key_nameNoTên header khi auth_type=API_KEY, mặc định X-Webhook-Secret
payload_formatNoapplication/json
virtual_account_idNoChỉ bắn cho VA này; bỏ trống = mọi tài khoản

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description must carry full behavioral disclosure. It states the side effect of registering a webhook and recommends HMAC_SHA256 plus secret_key, but it does not explain whether secret_key is required or auto-generated for HMAC, whether the URL is validated, when the webhook becomes active, or what the response contains.

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 short and front-loaded, with the core purpose and a useful security recommendation. The English trailing phrase 'Create a webhook config' largely repeats the title, so there is minor redundancy, but overall it is compact.

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

Completeness2/5

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

For a 7-parameter mutation tool with no annotations, no output schema, and only 43% schema coverage, this description is incomplete. It omits required-field semantics, conditional behavior for auth types, notification scope details, and the expected result or error cases, leaving the agent to guess important configuration choices.

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

Parameters2/5

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

Schema description coverage is only 43%, so the description should compensate. It adds a recommendation involving auth_type and secret_key, but it does not explain the required 'name' field, clarify webhook_url expectations beyond 'URL', or describe payload_format and virtual_account_id behavior.

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 the action ('Đăng ký URL nhận webhook' / 'Create a webhook config') and the triggering condition ('khi có tiền vào' / when money comes in). It distinguishes this from update/delete/list webhook siblings by the explicit create/register framing, though it does not name alternatives.

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 description implies when to use it: when you need a webhook to receive incoming-payment notifications. However, it does not explicitly tell the agent when to prefer this over monapay_update_webhook, monapay_test_webhook, or monapay_generate_webhook_snippet, and it omits prerequisites or conditions.

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

monapay_create_zalo_groupNối nhóm ZaloA

Nối nhóm có bot Gấu Mona bằng group_id 10–25 chữ số lấy từ MONA Account/PMS; Zalo không parse Markdown, nên template phải là text thuần.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventsNoCác sự kiện gửi vào nhóm Zalo
group_idYesgroup_id gồm 10–25 chữ số, lấy từ MONA Account/PMS
is_activeNo
friendly_nameYesTên dễ nhớ của nhóm
message_templateNoText thuần; hỗ trợ {amount}, {description}, {virtual_account_number}, {transaction_code}, {transfer_date} và dạng {{...}}
virtual_account_idNoChỉ nhận thông báo cho VA này; bỏ trống = mọi tài khoản

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral transparency burden. It does disclose a non-obvious platform behavior (Zalo ignores Markdown, so templates must be plain text) and clarifies that the group already contains the bot. However, it omits side effects, idempotency, duplicate-connection behavior, permissions, and success/failure response details for a mutation tool.

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 compact sentences with no filler. It front-loads the primary action and ID constraint, then adds the important template caveat, making every sentence earn its place.

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 description covers essential ID sourcing and the Markdown constraint, but for a connection operation with no output schema and no annotations, it lacks information about what happens on success or failure, whether reconnecting an already-connected group errors or is idempotent, and how events and is_active interact. The sibling update/delete/test tools are not referenced for follow-up actions.

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?

The input schema already covers 83% of parameters, including group_id source and message_template plain-text requirements, so the description mostly restates schema content. The only added semantic context is the rationale that Zalo does not parse Markdown. This meets the baseline but does not compensate for the undocumented is_active parameter.

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 uses a specific action verb 'Nối' (connect/link) and identifies the resource: a Zalo group containing the Mona bear bot, identified by a 10–25 digit group_id. The action is clearly distinct from sibling list/update/delete/test operations, and the title reinforces that this is about connecting, not creating, a Zalo group.

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?

The description gives clear, actionable context: obtain group_id from MONA Account/PMS and keep message templates as plain text because Zalo does not parse Markdown. It does not explicitly contrast with monapay_update_zalo_group or state when not to use it, so there is room for a 5, but the prerequisites and constraints are clear enough for correct usage.

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

monapay_delete_email_configXoá cấu hình thông báo emailA

Xoá vĩnh viễn một cấu hình email. / Permanently delete an email notification config.

ParametersJSON Schema
NameRequiredDescriptionDefault
config_idYesUUID cấu hình email

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does disclose that deletion is permanent/irreversible, which is important for a destructive operation. However, it does not mention side effects, required permissions, or what happens to linked notifications after deletion.

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 very short and front-loaded: 'Xoá vĩnh viễn' / 'Permanently delete' appears immediately. Both bilingual lines earn their place with no filler or redundancy.

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 tool is simple with one required parameter, and the schema covers that parameter fully. The description adds the key permanence warning, but with no annotations and no output schema, it leaves expected return behavior and side effects unspecified.

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%, and the single required parameter config_id is already documented as a UUID for the email config. The description adds no additional parameter-level meaning, so the baseline score of 3 applies.

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 action ('permanently delete') and a clear resource ('email notification config'), which fully clarifies what the tool does. It also distinguishes itself from sibling tools like list, create, and update email configs by using the verb 'delete'.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is provided. The description does not mention alternatives such as monapay_update_email_config for modifying a config instead of deleting it, nor does it warn about conditions like invalid or already-deleted config IDs.

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

monapay_delete_webhookXoá cấu hình webhookC

Xoá một webhook config. / Delete a webhook config.

ParametersJSON Schema
NameRequiredDescriptionDefault
config_idYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It only restates the delete operation and adds nothing about permanence, failure behavior, side effects, authentication needs, or response shape.

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 a single, short, front-loaded sentence in two languages with no wasted words. However, it largely repeats the tool name and title, so the conciseness does not add much informational value.

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?

For a one-parameter delete operation, the core instruction is present and minimally usable. But with no annotations and no output schema, the agent is left without behavioral expectations or any guidance on locating config_id, so completeness is only adequate for a very simple tool.

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 coverage is 0% and config_id is only described as a required string. The description adds the minimal context that the resource is a 'webhook config', which lets an agent infer that config_id identifies that config, but it does not explain how to obtain the ID or any format expectations.

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 states a specific action and resource: 'Delete a webhook config', and the Vietnamese title reinforces it. It is clearly distinct from sibling operations like monapay_create_webhook, monapay_update_webhook, or monapay_test_webhook because of the delete verb, even without explicit comparison.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no prerequisites (e.g., that the config must exist, that the operation is irreversible), and no indication that config_id should be obtained from monapay_list_webhooks. The sibling list shows many webhook-related operations, but the description provides no routing help.

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

monapay_delete_zalo_groupXoá nhóm ZaloB

Xoá một cấu hình thông báo nhóm Zalo.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID cấu hình nhóm Zalo do MONA Pay trả về (UUIDv6)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the delete action but does not disclose whether the deletion is permanent, whether notifications stop immediately, whether it is idempotent, or what happens if the id does not exist. There is no contradiction, but the transparency is minimal.

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 a single, front-loaded sentence with no wasted words. It efficiently conveys the exact action and object, which is appropriate for a simple delete operation.

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 one-parameter delete tool, the description is nearly complete: it names the exact resource and the schema documents the id thoroughly. It falls just short of a 5 because it omits optional but useful context such as irreversibility, success/failure behavior, or requirements, especially given the absence of annotations and an output schema.

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?

The schema describes the only parameter fully, including its purpose and UUIDv6 format, so the description does not need to repeat parameter details. With 100% schema description coverage, the baseline of 3 applies.

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 uses the specific verb 'Xoá' and clearly identifies the resource as a Zalo group notification configuration ('cấu hình thông báo nhóm Zalo'). This distinguishes it from sibling operations like create, update, test, and list, and clarifies that it is the configuration being deleted, not an actual Zalo group.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. It does not mention how to obtain the id via monapay_list_zalo_groups, nor does it provide conditions such as 'use only when you want to permanently remove a group notification configuration' or any exclusions.

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

monapay_email_logsLịch sử gửi emailA

Tra meta từng lần gửi email, không chứa nội dung thư; lọc theo cấu hình, trạng thái, sự kiện và ngày. / List email delivery metadata; message bodies are never stored.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
statusNo
to_dateNo
config_idNo
from_dateNo
event_typeNo

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are present, so the description carries the behavioral disclosure burden. It meaningfully discloses that message bodies are never stored, which is an important privacy trait, and implies a read-only metadata listing. It omits pagination behavior, ordering, retention, and permission requirements, but those are less critical for a non-destructive log query.

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 short and front-loaded with the core action, followed by the privacy caveat and filter dimensions. The Vietnamese and English halves are redundant, but the duplication is compact and unlikely to confuse an agent.

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?

For a read-only optional-filter listing tool, the description covers purpose, the no-body guarantee, and the main filter dimensions. It lacks any hint of the returned metadata fields, default ordering, or pagination behavior, and there is no output schema to fill that gap.

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?

With 0% schema description coverage, the description only partially compensates: it maps filters to config, status, event, and date, which correspond to config_id, status, event_type, and from_date/to_date. It does not explain enum meanings, date format, or pagination semantics, so agents must still rely on property names and schema patterns.

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 ('List'/'Tra') on a specific resource ('email delivery metadata'/'email logs') and explicitly excludes message bodies, which distinguishes it from email config, stats, and suppression tools. The bilingual wording reinforces the same intent without ambiguity.

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 gives clear use context: retrieving per-send delivery metadata with optional filters by config, status, event, and date. It does not explicitly name sibling alternatives or state exclusions, but the intended lookup scenario is clear enough for an agent to select this tool over the related email stats or config tools.

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

monapay_email_statsThống kê gửi emailB

Lấy tổng số gửi, tỷ lệ thành công, P95 và nhóm lỗi trong khoảng ngày. / Get email delivery totals, success rate, P95 latency and error groups.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_dateNo
from_dateNo

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden and does disclose the main output aspects: totals, success rate, P95 latency, and error groups. It does not mention whether the operation is read-only, how date boundaries are treated (inclusive/exclusive), timezone assumptions, or any limits, but the wording strongly implies a read-only aggregate report.

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 compact and front-loaded with the key metrics and the date-range constraint in the first clause. The bilingual repetition is slightly redundant for an English-capable agent, but it is not verbose and every substantive detail serves a purpose.

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?

For a simple two-parameter statistics tool, the description covers the core return value categories and the date-range input concept. It is incomplete in smaller but useful ways: no mention of date inclusivity, maximum range, timezone, default behavior when parameters are absent, or how this relates to sibling tools like mail_stats and monapay_email_logs.

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 0%, so the description must compensate. It mentions a date range, which partially explains the purpose of from_date and to_date, and the parameter names are self-explanatory. However, it does not explicitly state which parameter is the start or end, whether both are required, or what happens when one is omitted.

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 resource (email delivery statistics) and a specific verb (Lấy/Get), and enumerates the metrics returned: totals, success rate, P95 latency, and error groups. However, it does not explicitly distinguish itself from the similar sibling mail_stats or from monapay_email_logs, so it stops short of full differentiation.

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 'trong khoảng ngày / in date range' implies this tool is for date-bounded aggregate reporting, which gives some usage context. There is no explicit statement of when to use this tool versus alternatives like mail_stats or monapay_email_logs, and no exclusions or conditions are provided.

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

monapay_generate_keyTạo API key (client_secret)B

Sinh client_secret mới (hiện 1 lần) để dùng header X-Client-Secret. / Generate a client secret.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNomcp

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It usefully discloses that the secret is shown only once ('hiện 1 lần'), which is critical for the agent. However, it does not mention whether existing keys remain valid, whether generation has side effects, or any security/rate-limit implications; the English portion omits the one-time display detail entirely.

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 short and front-loaded, with the key action and one-time display behavior placed first. The bilingual repetition is mostly redundant, and the crucial 'shown once' detail appears only in Vietnamese, which slightly harms structure and accessibility.

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?

For a simple tool with no output schema, the description partially explains the result: a new client_secret is generated, displayed once, and used in a header. However, it lacks explicit return/format details, parameter semantics, and any indication of whether previous secrets are affected, so the information is adequate but incomplete.

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

Parameters2/5

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

The input schema has one optional string parameter 'name' with default 'mcp' and no schema description (0% coverage). The description never mentions this parameter, so the agent cannot know what 'name' represents or whether it affects the generated key. The optional/default nature lowers the risk, but semantic meaning is entirely absent.

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 the verb and resource: generate a new client_secret, and it explains the intended use via the X-Client-Secret header. This makes the tool's purpose understandable and distinct in practical terms, though it does not explicitly contrast it with the sibling monapay_rotate_key.

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

Usage Guidelines2/5

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

No usage guidance is provided about when to choose this tool over alternatives such as monapay_rotate_key or mail_api_key_create. The description implies it is for obtaining a new client_secret but gives no conditions, exclusions, or context about when generation is appropriate.

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

monapay_generate_webhook_snippetCode mẫu nhận webhookA

Trả code mẫu endpoint nhận webhook MONA Pay + verify HMAC đúng chuẩn cho PHP / Node / Python, kèm payload mẫu. / Get a webhook receiver snippet.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It clearly states the output is sample code with HMAC verification and a sample payload, but it does not explicitly disclose that the tool only returns code and does not create, modify, or register a webhook endpoint or send a test request.

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 a single bilingual sentence with no filler. It front-loads the core purpose and packs the key details, supported languages and HMAC verification, into compact form.

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 simple one-parameter code-snippet tool, the description covers the main facts a caller needs: the output kind, supported languages, HMAC verification, and sample payload. It could be slightly more complete by noting the tool has no side effects and does not configure an actual webhook, but the gap is minor.

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?

There is only one parameter, language, and schema description coverage is 0%. The description compensates by listing the supported languages (PHP, Node, Python), matching the enum values, but it does not explain any behavioral differences between language choices or how the response might vary.

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 names a specific verb ('Trả code mẫu' / get) and a specific resource (webhook receiver endpoint with HMAC verification) for PHP, Node, and Python. It clearly differentiates this code-generation tool from sibling webhook configuration/management tools such as monapay_create_webhook or monapay_webhook_stats.

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 description implies the use case: call this when you need sample receiver code for a MONA Pay webhook. However, it does not explicitly state when not to use it or name alternatives, such as monapay_verify_signature for actually verifying a signature or monapay_create_webhook for registering a webhook.

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

monapay_get_checkoutLấy một phiên thanh toánA

Lấy trạng thái và chi tiết checkout theo ID; nên kiểm tra server-side trước khi giao hàng. / Get a checkout by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkout_idYesID phiên thanh toán

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool returns authoritative status/details and positions it as a server-side verification step, which is useful behavioral context. However, it does not explicitly state that it is read-only, whether it has side effects, or what happens for invalid or expired checkout IDs.

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 short, front-loaded with the core purpose, and includes a practical usage note. The bilingual repetition is acceptable in this context and every sentence earns its place.

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?

There is no output schema, so the description's mention of 'status and details' is the main return-value information, which is broad but adequate for a simple single-parameter get-by-ID tool. It also supplies the important integration context of checking server-side before delivery. It omits possible status values or error behavior, but those are not critical for basic invocation.

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% and the only parameter, checkout_id, is already documented as 'ID phiên thanh toán' (payment session ID). The description merely repeats 'by ID' without adding format details, constraints, or guidance on where to obtain the ID, so it adds no meaningful value beyond the schema.

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 clearly states the verb 'get', the resource 'checkout', and the scope 'by ID', and additionally says it returns status and details. This makes it easy to distinguish from sibling tools like monapay_create_checkout, monapay_list_checkouts, and monapay_cancel_checkout.

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?

The description gives a concrete usage context: 'should check server-side before shipping/delivery', which tells the agent when this tool is the right choice. It does not explicitly rule out alternatives or compare with monapay_list_checkouts, but the before-delivery scenario is a clear signal.

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

monapay_get_payment_profileLấy hồ sơ trang thanh toánA

Lấy tên shop, nhận diện và tài khoản mặc định dùng cho trang thanh toán. / Get the hosted-checkout payment profile.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the transparency burden. The word 'Get' clearly signals a read operation and the returned fields are listed, but it does not explicitly confirm absence of side effects, authentication needs, or error/empty-result behavior.

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 compact: one Vietnamese sentence with useful field details and one short English equivalent. There is no filler, and the key information is front-loaded.

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 zero-input getter with no output schema, the description is mostly complete: it names the resource and the returned fields. It could add minor context such as how this profile relates to monapay_set_payment_profile, but nothing critical is missing 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?

The tool has zero parameters and 100% schema description coverage, so no parameter documentation is required. The description adds context about what the result contains, which is enough for a parameterless getter.

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 uses a specific verb ('Get') and identifies the exact resource ('hosted-checkout payment profile'), while the Vietnamese text adds the returned fields: shop name, identification, and default account. This clearly differentiates it from related siblings like monapay_set_payment_profile.

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 verb 'Get' implies this tool should be used when the agent needs to read the current hosted-checkout payment profile. However, it does not explicitly state when to use it over alternatives or mention the setter sibling, leaving usage context mostly implied.

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

monapay_list_bank_accountsDanh sách tài khoản ngân hàng đã nốiA

Liệt kê tài khoản ngân hàng (ACB…) đã nối vào MONA Pay. / List linked bank accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Liệt kê' implies a read-only enumeration, but the description does not explicitly state that the operation has no side effects, what it returns, or whether any authentication/authorization constraints apply beyond MONA Pay linkage.

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 minimal and front-loaded with the action and resource. The bilingual phrasing adds a little length but does not introduce filler or ambiguity.

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 zero-parameter, read-only listing tool, the description provides enough context to invoke it correctly: it names the resource, the platform, and the operation. The main gap is the absence of an output schema means the description could be slightly more explicit about the returned account fields, but this does not prevent 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?

The input schema has zero properties and 100% description coverage, so there are no parameters to explain. A baseline of 4 is appropriate for a no-parameter tool; the description correctly implies that no inputs are required.

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, 'Liệt kê' (list), and a specific resource: bank accounts linked to MONA Pay. It is specific enough to distinguish this tool from siblings like monapay_list_virtual_accounts, monapay_list_transactions, and monapay_link_bank_start. The 'ACB…' example reinforces that these are real connected bank accounts.

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?

The description gives clear context: use this tool to retrieve bank accounts already linked to MONA Pay. It does not explicitly name alternatives or state when not to use it, but the resource scope is clear enough for a simple zero-parameter listing operation.

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

monapay_list_checkoutsDanh sách phiên thanh toánB

Liệt kê checkout theo trạng thái, mã đơn, khoảng ngày và phân trang. / List and filter hosted checkouts.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
statusNo
to_dateNo
from_dateNo
order_codeNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it only restates the filter dimensions already visible in the parameter names. It does not disclose pagination defaults, result ordering, whether from_date/to_date are inclusive, timezone handling, or what happens when filters are omitted — key unknowns for a fully-optional-parameter list tool.

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 a single front-loaded sentence starting with the verb, with no filler. The only mild inefficiency is that the Vietnamese and English halves partially duplicate each other, though each contributes one distinct piece ('filter dimensions' in Vietnamese, 'hosted' qualifier in English).

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

Completeness2/5

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

This tool has no output schema, no annotations, and zero parameter documentation, making the description the sole documentation; it does not cover the response shape, pagination defaults, or filter semantics. An agent would understand what the tool does but not what to expect back or how optional filters behave when omitted.

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?

With 0% schema description coverage, the description is the only semantic layer for the parameters and it maps each parameter cluster to a concept: trạng thái→status, mã đơn→order_code, khoảng ngày→from_date/to_date, phân trang→page/limit. However, it adds no depth beyond these labels — no default values, no date-format or range-boundary semantics, and no note on how filters combine.

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 uses a specific verb ('Liệt kê' / 'List') with a clear resource ('hosted checkouts') and enumerates the filter dimensions: status, order code, date range, and pagination. The 'list' verb and 'hosted checkouts' qualifier distinguish it from siblings such as monapay_get_checkout (single retrieval), monapay_create_checkout, monapay_cancel_checkout, and other resource-different list tools (transactions, webhooks, bank accounts).

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 tool's role as a list/filter operation is implied by the description, and the listed filter dimensions give context for when it applies (finding checkouts by status, order code, or date). However, there is no explicit guidance on when not to use it or which sibling to prefer instead — e.g., monapay_list_transactions for payment transaction history or monapay_get_checkout for a single checkout.

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

monapay_list_email_configsDanh sách cấu hình emailA

Liệt kê các cấu hình gửi thông báo email và trạng thái xác minh người nhận. / List email notification configs and recipient verification status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It conveys non-mutating behavior through 'List' and reveals that the output includes recipient verification status, but it does not disclose auth needs, scope, pagination, or any side-effect guarantees beyond what 'list' implies.

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 a single compact sentence in two languages with no filler. The operative verb and object appear immediately, and the recipient-verification detail is appended without redundancy.

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 zero-parameter, non-mutating list tool, the description is sufficient to invoke: it names the resource and the notable output trait. It would be stronger with explicit return-shape or scope details, but the absence of parameters and output schema keeps the needed context small.

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?

The input schema has zero parameters, so the baseline is 4 and there are no parameter semantics for the description to clarify. The description instead clarifies the output domain (configs plus verification status), which is the relevant context.

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 uses a specific verb (Liệt kê/List) with a concrete resource (email notification configs) and adds a distinguishing scope detail (recipient verification status). Among the email-config siblings, this clearly identifies the read-only listing operation rather than create/update/delete/verify/test.

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 intended use is implied by the verb and resource: an agent should call this when the user asks to see email notification configs or their recipient verification state. It does not, however, name alternatives or state when not to use it, so there is no explicit routing guidance.

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

monapay_list_email_suppressionsDanh sách email bị chặn gửiB

Liệt kê địa chỉ bị suppression do bounce, khiếu nại hoặc tắt tay. / List suppressed recipient addresses.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It adds useful context by defining what suppression means (bounce, complaint, manual), which goes beyond the bare tool name. However, it does not disclose the output shape, whether reasons are returned per address, pagination behavior, or that this is a non-destructive read — though the verb 'list' weakly implies it.

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?

Two parallel clauses — Vietnamese and English — with the verb front-loaded and the suppression-cause taxonomy adding genuine value. The bilingual duplication is mild redundancy but serves a dual-language user base; nothing extraneous is present.

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?

Adequate for a simple zero-parameter list tool, but the crowded sibling set makes the missing differentiation material. The description does not clarify the scope boundary versus `mail_suppressions_list`, nor hint that results can be cleaned up via `monapay_remove_email_suppression`. For such a small tool, the core meaning is covered but the surrounding workflow context is not.

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?

The tool has zero parameters with 100% schema coverage, so there is nothing for the description to explain. Baseline 4 applies because no parameter documentation is needed; the description correctly implies a parameterless list operation.

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 states a clear verb ('Liệt kê' / 'List') and resource (suppressed recipient addresses), and even adds the suppression causes: bounce, complaint, or manual. However, it does not differentiate itself from the near-identical sibling `mail_suppressions_list`, leaving ambiguity about which list tool applies in which context.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. With `mail_suppressions_list` as a sibling and `monapay_remove_email_suppression` being the natural follow-up action, the description does not say when to choose this over `mail_suppressions_list` or when to pair it with the removal tool. Usage context is only implied by the monapay prefix.

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

monapay_list_transactionsTra giao dịch tiền vàoB

Liệt kê giao dịch tiền vào theo tài khoản ảo, phân trang tối đa 100/trang; dùng để đối soát. / List incoming transactions.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
virtual_account_numberYesSố tài khoản ảo (bắt buộc; lấy từ monapay_list_virtual_accounts)

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden, and it does disclose real behavior: filtering by virtual account, pagination capped at 100 per page, and incoming-only scope. But it omits ordering of results, whether pending/failed transactions are included, and any read-only guarantee — details that matter for a reconciliation workflow.

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 Vietnamese sentence is efficient and front-loaded with verb+resource+scope, with every clause earning its place. The trailing English fragment 'List incoming transactions' adds nothing beyond the title and is mild redundancy, preventing a 5.

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?

For a simple 3-parameter list tool with no output schema and no annotations, the description covers the essentials: what is listed, the required filter, the pagination cap, and the reconciliation use case. Gaps remain: no indication of return shape, no transaction-status semantics, and no disambiguation from monapay_list_checkouts, which an agent might confuse it with.

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 only 33% (only virtual_account_number is documented), so the description must compensate. The pagination clause ('phân trang tối đa 100/trang') explains the limit/page semantics beyond the bare schema, but it does not explicitly define what 'page' means or how results are ordered, and it partly duplicates the schema's maximum:100 constraint.

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 states a specific verb ('Liệt kê' / list), a concrete resource (incoming transactions — 'giao dịch tiền vào'), and the scoping dimension (by virtual account). This distinguishes it from sibling tools like monapay_list_checkouts and monapay_list_webhooks without needing to open the schema. It falls short of 5 because it never names a sibling to contrast against.

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 'dùng để đối soát' (used for reconciliation) provides an explicit use case, which is genuine context an agent can act on. However, there is no guidance on when NOT to use it or which alternative to choose (e.g., monapay_list_checkouts for order-facing transactions), leaving selection among the many monapay list_* tools to inference.

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

monapay_list_virtual_accountsDanh sách tài khoản ảo (VA)A

Liệt kê tài khoản ảo thuộc một tài khoản ngân hàng. / List virtual accounts of a bank account.

ParametersJSON Schema
NameRequiredDescriptionDefault
bank_account_idYesUUID tài khoản ngân hàng (lấy từ monapay_list_bank_accounts)

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. 'List' clearly signals a read-only, non-destructive operation, which is the most important behavior. However, it does not mention pagination, response format, authentication requirements, or any limitations such as whether the result is ordered or capped.

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 a single bilingual sentence with no filler or repetition. It front-loads the verb and resource, and the English version clarifies the Vietnamese without adding unnecessary length.

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 tool with one fully documented parameter and no output schema, the description is nearly complete: it states the action, the resource, and the scope. The only minor gap is the absence of any comment about result shape or pagination, but the low complexity of this list operation makes that a small omission.

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 the schema already fully documents bank_account_id, including where to obtain it from monapay_list_bank_accounts. The description adds no parameter-level meaning beyond what the schema provides, so the baseline of 3 is appropriate.

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 ('List') and a precise resource ('virtual accounts of a bank account'), making the operation immediately identifiable. It inherently distinguishes this tool from sibling list operations such as monapay_list_bank_accounts by making clear it lists virtual accounts scoped to a bank account, not bank accounts themselves.

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 description implies the use case: when an agent needs virtual accounts belonging to a specific bank account. The parameter schema additionally points the agent to monapay_list_bank_accounts as the source of bank_account_id, which helps with prerequisites, but the description itself gives no explicit when-to-use or when-not-to-use guidance compared to alternative tools.

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

monapay_list_webhooksDanh sách cấu hình webhookA

Liệt kê webhook đã cấu hình. / List webhook configs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and 'list' communicates a read-only retrieval with no side effects. It does not describe return format, pagination, or permissions, but for a zero-parameter list operation this is minimally adequate.

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 short and front-loaded with the action and resource. The Vietnamese and English versions duplicate the same information, but the redundancy is minor and the entire description fits in one compact line.

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?

For a zero-parameter list tool, the description is sufficient to select and invoke the tool. It is less complete for post-call interpretation because there is no output schema and the description does not describe response fields, pagination, or how it differs from webhook stats/logs tools.

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?

The input schema has zero parameters and 100% schema coverage, so there are no parameter semantics for the description to add. The baseline of 4 for zero-parameter tools applies.

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 action ('Liệt kê / List') on a clear resource ('webhook configs'), so an agent knows exactly what this tool returns. It also distinguishes the tool from sibling webhook tools that create, update, delete, test, log, or collect stats on webhooks.

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 intended use is implied: call this when the agent needs to see the list of configured webhooks. However, it does not explicitly state when not to use it or point to closely related alternatives such as monapay_webhook_stats or monapay_webhook_logs.

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

monapay_list_zalo_groupsDanh sách nhóm ZaloA

Liệt kê cấu hình thông báo nhóm Zalo; nhóm phải có bot Gấu Mona.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It does communicate that the operation is a non-destructive listing filtered to groups with the Gấu Mona bot — a genuinely useful behavioral fact. However, it does not disclose output shape, empty-result behavior, or what happens when no qualifying groups exist, which matters more given there is no output schema.

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?

Two short clauses with zero waste: the first front-loads the verb and resource, the second appends the constraint. Nothing repeats the title verbatim, and every word earns its place.

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 zero-parameter, no-output-schema list tool, the description covers the essentials: what is listed and the inclusion criterion. Small gaps remain — no statement of the tool's practical purpose (e.g., identifying groups that can receive notifications) or guidance for when no groups have the bot — but nothing blocks 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?

The tool has zero parameters and schema coverage is trivially 100%, so the baseline of 4 applies per the rubric. The description adds the only relevant context a parameter-less call needs: what the result set contains and under what condition groups are included.

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 pairs a specific verb ('Liệt kê' = list) with a specific resource ('cấu hình thông báo nhóm Zalo' — Zalo group notification configurations), and adds a meaningful scope constraint: groups must have the Gấu Mona bot. This distinguishes it from the sibling mutation tools (monapay_create/update/delete_zalo_group) by its read-list nature, though it does not explicitly name them as the HIGH calibration example did.

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 bot precondition ('nhóm phải có bot Gấu Mona') implies when the tool is applicable and suggests the agent may need to verify bot presence first, but there is no explicit when-to-use vs. when-not-to-use guidance or named alternative. Among five Zalo group siblings (create/update/delete/test/logs), the agent is left to infer that this is the read-only listing option.

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

monapay_meHồ sơ tài khoản MONA PayA

Lấy thông tin tài khoản MONA Pay đang đăng nhập (id, tên, trạng thái). / Get current MONA Pay client profile.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

There are no annotations, so the description carries the burden. 'Get' implies a read-only operation and 'đang đăng nhập' indicates the current authenticated account, which is useful. However, the description does not explicitly state side-effect-free behavior, error conditions, or authentication requirements beyond the implication.

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 with no filler, and the bilingual wording is front-loaded with the core action. It is concise while conveying the resource, scope, and sample output fields.

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 simple no-parameter profile tool with no output schema, the description is reasonably complete by naming the data it returns (id, tên, trạng thái). It lacks differentiation from sibling tools, but that gap is more about usage guidance than contextual completeness.

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?

The tool accepts zero parameters, so the description does not need to explain parameter meanings. The baseline for zero-parameter tools is 4, and the description appropriately confirms the operation without inventing parameter details.

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 states a specific action ('Get') and resource ('current MONA Pay client profile') and even lists the expected fields (id, tên, trạng thái). However, it does not distinguish this tool from the sibling monapay_whoami, which appears to serve the same purpose.

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

Usage Guidelines2/5

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

The description gives some context ('đang đăng nhập' / currently logged in) but provides no when-to-use guidance or exclusions. With siblings like monapay_whoami and monapay_get_payment_profile nearby, an agent cannot tell when to choose this tool over those.

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

monapay_notification_registerĐăng ký thông báo tiền vào và gửi OTP lần 2A

Bước 3/4: đăng ký nhận thông báo giao dịch tức thì. OTP lần 2 do ngân hàng gửi về điện thoại của người dùng; agent phải HỎI người dùng rồi mới gọi tool xác thực, không được tự đoán. / Step 3/4: register real-time transaction notifications. The second OTP is sent by the bank to the user’s phone; the agent MUST ASK the user before verification and must never guess it.

ParametersJSON Schema
NameRequiredDescriptionDefault
virtual_account_idYesID VA trả về từ monapay_link_bank_verify_otp

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. It discloses a key side effect (the bank sends a second OTP to the user's phone) and sets an interaction rule (never guess the OTP). It does not mention idempotency, reversibility, permissions, or failure behavior, so it is above bare but not rich.

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 dense and front-loaded with step and purpose, and the user-querying rule is emphasized. Bilingual duplication adds a little length but remains focused with no filler.

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?

For a one-parameter step with no output schema or annotations, the description gives the essential flow position and interaction requirement. It does not describe the return payload or explicitly list preconditions, leaving some ambiguity for an autonomous agent.

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 coverage is 100%, with the only parameter already documented as coming from monapay_link_bank_verify_otp. The description adds no additional parameter details, so the baseline of 3 applies.

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 clearly states 'Step 3/4: register real-time transaction notifications' with a specific verb ('register') and resource ('real-time transaction notifications'). It also notes that the second OTP is sent by the bank, which distinguishes this registration step from subsequent verification steps.

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?

The 'Bước 3/4 / Step 3/4' prefix positions the tool within a multi-step flow, and the explicit instruction that the agent must ask the user before calling the verification tool ('tool xác thực') gives clear usage context. It does not explicitly name an alternative tool or state when not to use it, but the sequencing is informative.

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

monapay_notification_verify_otpXác thực OTP lần 2 và hoàn tất nhận tiềnA

Bước 4/4: OTP do ngân hàng gửi về điện thoại của người dùng, agent phải HỎI người dùng rồi mới gọi tool này; tuyệt đối không tự đoán OTP. / Step 4/4: the OTP is sent by the bank to the user’s phone; the agent MUST ASK the user before calling this tool and must never guess the OTP.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesOTP lần 2 do người dùng cung cấp sau khi nhận từ ACB
acb_request_idYesID yêu cầu ACB trả về từ monapay_notification_register

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does disclose a key trait: the tool completes a money-receiving flow using a code only the user possesses, and the agent must not fabricate it. However, it does not disclose the operation's side effects (finalizing/irreversibly completing the transfer), error behavior on a wrong code, or retry implications — meaningful gaps for a financial step.

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?

A single bilingual sentence, front-loaded with the critical guardrail and free of fluff; the VI/EN duplication is a deliberate localization choice, not redundancy. The step marker 'Bước 4/4 / Step 4/4' precedes the rule, placing the highest-value information first.

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?

For a 2-parameter tool with a fully documented schema, the essentials are present: what to collect (user-provided OTP plus request ID), when to call (step 4/4, only after asking), and the outcome in the title. Missing is any guidance on failure behavior — what happens if the OTP is wrong, whether retries are allowed, or that calling this completes a financial transaction — which matters more given there are no annotations and no output schema.

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% — both parameters are described with provenance (code comes from the user after receiving from ACB; acb_request_id comes from monapay_notification_register). The description adds a normative rule beyond the schema by forbidding OTP guessing and requiring user confirmation, which directly sharpens the semantics of the code parameter. Baseline 3 raised to 4 for that added constraint.

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 title states the action plainly ('Xác thực OTP lần 2 và hoàn tất nhận tiền' — verify the second OTP and complete receiving money), and the description anchors the tool as step 4/4 of a bank-OTP flow. The 'lần 2' qualifier plus the acb_request_id linkage to monapay_notification_register distinguishes it from the bank-linking OTP sibling, though not explicitly.

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?

The description gives an explicit invocation condition: the agent MUST ASK the user for the OTP before calling and must never guess it — a strong, actionable rule for a fraud-sensitive step. It also positions the call as step 4/4, implying it follows monapay_notification_register. It does not explicitly name alternatives or state when not to use it (e.g., monapay_link_bank_verify_otp for the separate bank-linking flow).

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

monapay_remove_email_suppressionGỡ chặn gửi tới một emailA

Gỡ suppression sau khi đã sửa nguyên nhân; client tự chịu trách nhiệm khi gửi lại. / Remove a suppression after fixing its cause; the client accepts responsibility for future sends.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the burden, and it does disclose a key consequence: removing the suppression shifts responsibility for future sends to the client. The phrase 'after fixing its cause' also warns that careless removal is unsafe. It does not describe irreversibility or permissions, but the main risk is covered for a one-parameter removal action.

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 clauses that front-load the action and then add the essential responsibility caveat, with no filler or restatement of the name. The bilingual repetition is compact and still minimal.

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 tool with a single email parameter and no output schema, the description covers the core context: what action to take, the precondition, and the consequence. It does not specify return values or partial-failure behavior, but those are not critical for such a simple removal operation.

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?

The schema documentation coverage is 0%, so the description must compensate, yet it never explicitly maps the email parameter to the address to be unblocked. The parameter name, the email format in the schema, and the title 'Gỡ chặn gửi tới một email' make the meaning inferable, but the description itself adds no parameter-level detail.

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 states a concrete action with a clear verb and resource: 'Remove a suppression after fixing its cause.' This is unambiguous and the title in Vietnamese reinforces that it unblocks sending to an email. It does not explicitly distinguish itself from the sibling mail_suppression_remove, 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 Guidelines4/5

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

It gives an explicit precondition: remove only 'after fixing its cause,' and warns about responsibility for subsequent sends ('client accepts responsibility for future sends'). It does not mention alternative tools or list-check-before-remove, so it is not a full usage guide.

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

monapay_resend_email_verificationGửi lại mã xác minh emailB

Gửi mã xác minh mới tới một địa chỉ trong cấu hình; giới hạn 5 lần/địa chỉ/giờ. / Resend a verification code, limited to five requests per address per hour.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
config_idYesUUID cấu hình email

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral transparency burden. It does disclose a meaningful rate limit: five requests per address per hour. However, it omits other behavioral details such as whether sending a new code invalidates the previous one, what errors occur on limit exceedance, or whether an actual email is sent.

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 a single sentence that front-loads the primary action and includes the key rate-limit constraint. The bilingual duplication is mildly redundant but compact and not wasteful.

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?

For a simple resend-code operation, the description covers the core action and an important limitation. It is still incomplete because it does not specify when to use this over sibling tools, what a successful response looks like, or the behavior when the configuration or address is invalid.

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 coverage is only 50%; config_id has a description while email relies on its format and pattern. The description adds some context by linking the email to an address within the configuration, but it does not explain the source or format expectations beyond what the schema already provides.

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 the action: resend a verification email code to an address tied to a configuration. This is a specific verb plus resource and is understandable in both Vietnamese and English. However, it does not explicitly differentiate itself from sibling tools like monapay_verify_email or monapay_test_email.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives, such as when a verification code expired or was not received. It also does not mention prerequisites like needing an existing email configuration or the email belonging to that configuration.

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

monapay_retry_transactionGửi lại thông báo của một giao dịchB

Gửi lại webhook hoặc Telegram cho giao dịch đã có. / Re-send webhook/Telegram for a transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_idNo
target_typeNoWEBHOOK
transaction_idYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the key behavior—re-sending a webhook/Telegram notification—but it does not mention side effects such as duplicate delivery, prerequisites, or whether the action is reversible. This is enough for the core action but lacks deeper behavioral context.

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 a single direct sentence repeated in Vietnamese and English, with no filler. It is appropriately sized for a simple retry operation.

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

Completeness2/5

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

The tool has 3 parameters, no output schema, and no annotations, yet the description only covers the general purpose. It omits the meaning of target_id, the default target_type behavior, and what the response indicates about success or failure, so an agent has to guess at a non-trivial part of invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It maps target_type to 'webhook/Telegram' and transaction_id to 'transaction', but it says nothing about target_id, the default target_type behavior, or what happens when target_id is omitted. This leaves important invocation details undocumented.

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 action ('Re-send') and a specific resource scope ('webhook/Telegram for a transaction'), which is distinct from sibling tools like monapay_test_webhook or monapay_sandbox_transaction. The bilingual text reinforces the same clear purpose.

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 'cho giao dịch đã có / for a transaction' implies the tool is for existing transactions, so an agent can infer when to use it. However, it gives no explicit guidance about when not to use it or which sibling would be a better alternative for testing or creating notifications.

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

monapay_rotate_keyXoay secret API key hiện tạiA

Dùng khi secret nghi lộ; xoay key hiện tại bằng X-Client-Secret. Sau khi xoay phải cập nhật MONAPAY_CLIENT_SECRET ở plugin/agent rồi khởi động lại. / Rotate the current API key secret after suspected exposure, then update MONAPAY_CLIENT_SECRET.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/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 a good job: it discloses the rotational nature of the operation, the required X-Client-Secret, and the operational consequence that MONAPAY_CLIENT_SECRET must be updated and the plugin/agent restarted. It could more explicitly state that the old secret is immediately invalidated, but the implication is strong enough.

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 compact and front-loaded with the trigger condition. Both languages add value and there is no filler; every sentence earns its place.

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?

For a zero-parameter tool, the description covers the trigger, the mechanism, and the required post-step. However, since there is no output schema, it does not explain what the response returns—specifically how the new secret is conveyed—even though updating MONAPAY_CLIENT_SECRET implies the response provides it. This leaves an implicit gap.

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?

The input schema has zero parameters, so the baseline is 4. The description adds useful context about X-Client-Secret and MONAPAY_CLIENT_SECRET, though these are not formal parameters.

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 the action: rotate the current API key secret after suspected exposure. It is specific about the resource (API key secret) and the trigger condition, but it does not explicitly differentiate from the sibling monapay_generate_key, so it misses the top score.

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 explicitly states when to use the tool ('Dùng khi secret nghi lộ' / 'after suspected exposure') and gives a mandatory follow-up step: update MONAPAY_CLIENT_SECRET and restart. It does not mention alternatives or explicit when-not-to-use conditions, so it falls short of a 5.

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

monapay_sandbox_transactionTạo giao dịch thử (sandbox, không tốn tiền)A

Tạo một giao dịch tiền vào GIẢ: chưa nối ngân hàng thì MONA Pay tự cấp VA sandbox SBX; MONA Pay ghi giao dịch, bắn webhook có chữ ký, gửi Telegram/email/Zalo, khớp checkout như tiền thật, không tính hạn mức. / Create a fake incoming transaction in the sandbox.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNo
descriptionNoNội dung chuyển khoản giả; ghi order_code của phiên checkout để phiên đó paidDH10234 test sandbox
virtual_account_numberNoSố VA đã nối; bỏ trống = MONA Pay tự cấp VA sandbox SBX (không cần nối ngân hàng)

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so thoroughly. It discloses auto-creation of a sandbox VA, recording of the transaction, sending a signed webhook, delivering Telegram/email/Zalo notifications, matching checkouts like real money, and not counting toward limits.

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 main Vietnamese sentence is dense but every clause carries useful behavioral information. The English summary is somewhat redundant, but it provides a concise cross-language anchor and helps agents recognize the tool's core purpose quickly.

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 low-complexity tool with all-optional parameters and no output schema, the description covers the trigger, side effects, bank-link behavior, and checkout impact well. The main gap is that it does not describe what the caller receives in response, but that is not critical for safe invocation given the strong behavioral disclosure.

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 67%, and the schema already documents `description` and `virtual_account_number` well, including the auto-VA behavior. The tool description adds little parameter-specific meaning beyond what the schema provides, and `amount` still lacks an explicit semantic description, though its default and bounds are present.

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 clearly states the action and resource with 'Tạo một giao dịch tiền vào GIẢ' and 'Create a fake incoming transaction in the sandbox.' It also differentiates itself from real-payment transaction tools by emphasizing sandbox, fake, and no-cost behavior, making it distinct from siblings like monapay_retry_transaction and monapay_list_transactions.

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 description implies the tool is for testing incoming payments: it explains that without a linked bank, MONA Pay auto-provisions an SBX sandbox VA, and that the transaction matches a checkout like real money. However, it does not explicitly state when to use this tool instead of other MONA Pay tools, nor does it give any exclusion criteria.

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

monapay_set_payment_profileThiết lập hồ sơ trang thanh toánB

Tạo hoặc cập nhật tên shop, nhận diện và tài khoản nhận tiền mặc định trước khi tạo checkout. Secret ký redirect chỉ được API trả một lần. / Create or update the hosted-checkout payment profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNo
hotlineNo
logo_urlNoURL HTTPS của logo, tối đa 512 KB
va_prefixNo
owner_typeNo
merchant_idNo
terminal_idNo
accent_colorNo
display_nameNo
owner_numberNo
support_emailNo
show_mona_badgeNo
beneficiary_nameNo
default_bank_account_idNo
default_virtual_account_idNo

TDQS

B3.3/5.0
Behavior3/5

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

There are no annotations, so the description carries the burden. It does disclose that the operation creates/updates and adds a valuable warning that the redirect signing secret is returned only once. However, it does not explain what happens to existing fields on update, prerequisites, or error cases, leaving significant behavioral gaps.

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 short and front-loads the main action before adding the one-time-secret warning. The bilingual duplication uses two sentences but remains compact; no filler.

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

Completeness2/5

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

Despite 15 optional-looking parameters and no output schema, the description does not state prerequisites, what the API returns beyond the secret, or how partial updates behave. It is enough to understand the tool's role but not enough to invoke it reliably.

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

Parameters2/5

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

Schema description coverage is only 7%, so the description must compensate for 15 parameters. It groups some fields into broad concepts (shop name, identity, receiving account) but does not map them to actual parameter names and leaves merchant_id, terminal_id, locale, hotline, support_email, and others unexplained.

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?

States the verb and resource clearly: creates or updates the hosted-checkout payment profile, naming the shop name, identity, and default receiving account. The phrase 'before creating checkout' also separates it from checkout creation, though it does not explicitly name sibling tools.

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?

Explicitly says this happens 'before creating checkout', giving the agent a clear timing/context for when to call it. It does not mention alternatives or exclusions such as using get_payment_profile for reads, but the stated precondition is clear.

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

monapay_test_emailGửi thử thông báo emailA

Gửi email mẫu tới các địa chỉ đã xác minh trong cấu hình. / Send a test notification to verified recipients in a config.

ParametersJSON Schema
NameRequiredDescriptionDefault
config_idYesUUID cấu hình email

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It clearly discloses that the action sends a sample/test notification to recipients already verified within a config, which is a meaningful side-effect warning since these are not arbitrary addresses. It does not describe the return value or failure modes, but the core behavior and target are explicit.

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 entry is a single bilingual sentence with no filler; the verb and recipient constraint come first, making it easy to scan. Both languages carry the same content, but this is a deliberate bilingual format rather than redundancy.

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 one-parameter tool with no output schema, the description covers what the tool does, who is targeted (verified recipients), and how it is scoped (via a config). It could add expected results or error conditions, but the essential selection and invocation information is present.

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 coverage is 100%, and the single config_id parameter is already described as 'UUID cấu hình email'. The description adds 'in a config' but no new syntax, format, or value semantics beyond the schema, so the baseline score of 3 applies.

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 uses a specific verb ('Send') and identifies the resource ('test notification'/'email mẫu') and the recipient scope ('verified recipients in a config'). This clearly distinguishes it from sibling test tools such as monapay_test_webhook and monapay_test_zalo_group, and 'test/sample' signals it is not a production send.

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?

No explicit when-to-use or when-not-to-use guidance is provided, and no alternative tool is named. The word 'test' implies the tool is for validating an email config, but the agent is left to infer when to choose this over related send/test tools such as mail_send or monapay_test_webhook.

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

monapay_test_webhookBắn webhook thửB

MONA Pay gửi một giao dịch giả (is_dummy) tới URL để kiểm tra endpoint + chữ ký. / Send a dummy webhook.

ParametersJSON Schema
NameRequiredDescriptionDefault
auth_typeNo
secret_keyNo
webhook_urlNoBỏ trống = dùng config đã lưu

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It transparently reveals that a fake transaction (is_dummy) is sent to the URL and that the goal is endpoint/signature testing. However, it does not mention whether the test creates logs, whether it requires a saved webhook config, what side effects occur on MONA Pay, or what the caller receives back.

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 one compact sentence with the core purpose front-loaded. The English translation 'Send a dummy webhook' is largely redundant, but it does not add significant noise. It is appropriately sized for a straightforward test action.

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

Completeness2/5

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

There is no output schema, so the description should indicate what result the agent can expect—such as HTTP status, delivery success, or signature validation outcome. It does not. It also leaves the roles of auth_type, secret_key, and the saved-config fallback to the schema, making invocation details under-specified.

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

Parameters2/5

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

Schema description coverage is only 33%: only webhook_url has a description, and it is in Vietnamese. auth_type and secret_key are undocumented in both the schema and the tool description; the agent can only infer they relate to signing from the signature-testing phrase. With low schema coverage, the description needed to explain these parameters but did not.

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 states a specific action: MONA Pay sends a dummy webhook (is_dummy) to a URL to verify the endpoint and chữ ký (signature). This clearly identifies the resource and purpose. However, it does not explicitly distinguish it from sibling tools such as monapay_sandbox_transaction or monapay_verify_signature, so it stops one step short of full differentiation.

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?

The phrase 'để kiểm tra endpoint + chữ ký' gives an explicit use context: use this tool when you need to test whether a webhook endpoint receives and validates signatures. It does not mention exclusions or name alternative tools, but the scene is clear enough for an agent to decide when this tool fits.

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

monapay_test_zalo_groupGửi thử vào nhóm ZaloA

Gửi tin thử text thuần; nhóm phải có bot Gấu Mona vì Zalo không parse Markdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID cấu hình nhóm Zalo do MONA Pay trả về (UUIDv6)

TDQS

A4/5.0
Behavior3/5

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

No annotations are present, so the description carries the full disclosure burden. It does disclose two behavioral constraints: the bot must exist in the group and Markdown will not be parsed. However, it does not mention that this sends a real visible message to the group or what success/failure looks like.

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?

One compact sentence delivers action first, then prerequisite and rationale. There is no filler, no repetition of schema content, and every clause earns its place.

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 single-parameter test tool, the essential context is present: what it does, the required group precondition, and why only plain text is supported. Missing return-value or side-effect detail is a minor gap given the simple schema and absent output schema.

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%; the id parameter is already documented as the MONA Pay Zalo group configuration ID (UUIDv6). The description adds no parameter-level information, so the baseline 3 applies.

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 action: send a test plain-text message to a Zalo group ('Gửi tin thử text thuần'), and the second clause confirms the group context. 'Thử' plus the text-only constraint clearly differentiates it from the Zalo group create/update/delete/list/log siblings.

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 actionable usage context: the target group must contain the Gấu Mona bot, and the message must be plain text because Zalo does not render Markdown. It does not explicitly name alternative tools, but there is no direct sibling for sending a test Zalo message, so the prerequisite is sufficient guidance.

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

monapay_update_email_configSửa cấu hình thông báo emailB

Cập nhật tên, người nhận, sự kiện, VA hoặc trạng thái bật/tắt của cấu hình email. Người nhận mới phải xác minh trước khi cấu hình hoạt động. / Update an email config; new recipients must be verified before activation.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
eventsNo
config_idYesUUID cấu hình email
is_activeNo
recipientsNo
virtual_account_idNoUUID VA; null để bỏ giới hạn VA

TDQS

B3.3/5.0
Behavior3/5

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

Without annotations, the description carries the behavioral disclosure burden. It does reveal a key behavior: new recipients must be verified before the config becomes active. However, it does not disclose whether unverified recipients are rejected or saved in a pending state, whether the recipients array replaces or appends to the existing list, or what immediate mutation side effects occur.

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 compact and front-loaded with the most important information: what can be updated and the critical verification requirement. The bilingual repetition is slightly redundant but acceptable and adds clarity for both Vietnamese and English users.

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

Completeness2/5

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

For a mutation tool with six parameters, no annotations, and no output schema, the description is incomplete. It does not explain the verification workflow or next steps (e.g., verifying a recipient), the effect of setting is_active while recipients are unverified, or what a successful update returns. An agent could invoke it but would lack enough context to handle failed or partially verified updates safely.

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 only 33%, so the description must compensate. It does add semantic grouping by listing the updatable field categories (name, recipients, events, VA, active status). However, it does not clarify config_id targeting, replace-versus-append behavior for recipients, or the effect of virtual_account_id null beyond what the schema already states.

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 uses a specific verb ('Cập nhật'/'Update') with a specific resource ('email config') and enumerates the updatable fields: name, recipients, events, VA, and active status. This clearly distinguishes it from create/delete/list siblings, though it does not explicitly name those alternatives.

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?

Usage context is implied by the 'update' verb and by the sibling tool set, but there is no explicit when-to-use versus when-not-to-use guidance. The verification caveat is a precondition rather than a routing hint, so an agent must infer that creation or deletion tools should be used for other life-cycle operations.

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

monapay_update_webhookSửa cấu hình webhookC

Cập nhật webhook (URL, secret, bật/tắt). / Update a webhook config.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
auth_typeNo
config_idYes
is_activeNo
secret_keyNo
webhook_urlNo
api_key_nameNo
payload_formatNo
virtual_account_idNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the tool updates fields like URL, secret, and active status, but it does not disclose whether updates are partial or full replacement, what happens if the config_id is invalid, whether secret keys are returned or write-only, or what effects the update has on live webhook delivery.

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 compact and front-loaded, using a parenthetical to list the main updatable aspects and a bilingual sentence to reinforce the purpose. The duplication between Vietnamese and English costs some efficiency, but overall the description is appropriately brief for its clarity.

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

Completeness2/5

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

For a mutation tool with 9 parameters, no annotations, and no output schema, the description is far too sparse. It does not mention the required config_id parameter, the available auth types, payload formats, or what the tool returns upon success. An agent would struggle to know exactly how to construct a valid update request without additional information.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the 9 undocumented parameters. It provides some mapping for webhook_url, secret_key, and is_active, but it omits important parameters like config_id, auth_type, api_key_name, payload_format, and virtual_account_id, leaving the agent without semantic guidance for those fields.

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 the tool updates an existing webhook config and gives concrete examples of what can be changed (URL, secret, enable/disable). It distinguishes itself from create/list/delete webhook siblings through the explicit 'update' verb, though it could more explicitly separate itself from the delete/test sibling operations.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like monapay_create_webhook or monapay_delete_webhook. The verb 'update' implies modifying an existing webhook, but no context is given about prerequisites, such as needing an existing config_id, or when creation would be more appropriate.

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

monapay_update_zalo_groupSửa nhóm ZaloC

Sửa cấu hình nhóm có bot Gấu Mona; group_id lấy từ MONA Account/PMS và template dùng text thuần vì Zalo không parse Markdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID cấu hình nhóm Zalo do MONA Pay trả về (UUIDv6)
eventsNo
group_idNogroup_id gồm 10–25 chữ số, lấy từ MONA Account/PMS
is_activeNo
friendly_nameNo
message_templateNoTemplate text thuần, không dùng Markdown
virtual_account_idNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries a heavier burden. It tells the agent that this is an edit/update operation, but it does not disclose update semantics (partial vs full replacement), permissions, reversibility, effects of omitted fields, or expected response. The Markdown constraint is useful but is more parameter guidance than tool behavior.

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 a single efficient sentence that leads with the core action and packs two actionable constraints without unnecessary words. It is concise while still adding useful context.

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

Completeness2/5

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

For a mutation tool with 7 parameters, no output schema, and no annotations, this description is incomplete. It does not explain update behavior, what virtual_account_id represents, what the event values control, or what happens after a successful update. An agent could invoke it but would be guessing about several key fields.

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

Parameters2/5

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

Schema description coverage is only 43%. The tool description adds context for group_id (source) and message_template (no Markdown), but events, is_active, friendly_name, and virtual_account_id receive no meaningful explanation beyond their names and schema types. This is a significant gap for a config-update tool.

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 the verb ('Sửa' = edit) and resource ('cấu hình nhóm' = group configuration) for a Zalo group containing the Gấu Mona bot. This is distinguishable from the create/delete/test/list sibling tools, though it does not explicitly name a sibling.

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 description gives practical constraints: group_id comes from MONA Account/PMS and message_template must be plain text because Zalo does not parse Markdown. However, it does not explicitly state when to use this tool versus alternatives like monapay_create_zalo_group or monapay_delete_zalo_group.

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

monapay_verify_emailXác minh địa chỉ nhận emailA

Xác minh một người nhận bằng đúng mã 6 số người dùng đọc từ hộp thư; phải hỏi người dùng và không tự đoán mã. / Verify a recipient with the exact 6-digit code supplied by the user; never guess it.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesMã 6 số do người dùng cung cấp
emailYesĐịa chỉ đang chờ xác minh
config_idYesUUID cấu hình email

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full disclosure burden. It explicitly mandates asking the user and forbids guessing the code, which guards against a likely agent hallucination failure mode — valuable behavior beyond the schema's simple 6-digit pattern. It does not disclose failure semantics (wrong/expired code behavior), but the core interaction constraint is well covered.

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?

Two short sentences with the core action and protocol front-loaded: verification with the exact 6-digit code comes first, followed by the behavioral constraint. The bilingual Vietnamese/English repetition is mildly redundant for an agent consuming the text, but each section is compact and every sentence earns its place.

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 simple 3-param tool with no output schema and no annotations, the description covers the essential facts: what the code is, where it comes from, and how the agent must behave during the interaction. It does not mention what happens after successful verification (e.g., permanent verification status) or error handling, but these are minor gaps given the schema's full parameter documentation.

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 the baseline is 3. The description adds a small increment of meaning to the 'code' parameter by specifying its origin (read from the mailbox, supplied by the user) and the mandate not to guess it, which the schema's brief 'Mã 6 số do người dùng cung cấp' does not fully convey. email and config_id are already fully documented in the schema.

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 ('verify') with a clear resource ('a recipient' / email address) and the exact method (the exact 6-digit code the user reads from the mailbox). This clearly distinguishes it from siblings like monapay_resend_email_verification (which resends codes) and monapay_create_email_config (which creates configs).

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 instruction 'phải hỏi người dùng và không tự đoán mã' (must ask the user and never guess) gives an implied trigger — call only when the user has supplied a code — and an implicit exclusion (never call to guess). However, it does not name the obvious alternative (monapay_resend_email_verification) for when the user never received a code, so use-vs-alternative 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.

monapay_verify_signatureKiểm chữ ký webhook (offline)A

Tính và so chữ ký HMAC-SHA256 của một webhook MONA Pay từ raw body + timestamp + secret, không gọi mạng. / Verify a webhook signature locally.

ParametersJSON Schema
NameRequiredDescriptionDefault
secretYes
raw_bodyYes
signatureYes
timestampYes
tolerance_secNo
skip_time_checkNo

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations and no output schema, the description carries the behavioral burden. It delivers genuine value by disclosing the HMAC-SHA256 algorithm and the no-network-call behavior. However, it does not disclose what happens on signature mismatch (return false vs. error), the return shape, or how the timestamp tolerance rules behave.

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 compact (~25 words) and front-loads the algorithm, purpose, inputs, and offline trait in the first sentence. The second English sentence is largely redundant with the first, adding only the 'locally' gloss, so there is minor waste, but overall it is well-sized.

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

Completeness2/5

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

For a tool with no output schema, no annotations, and 0% parameter descriptions, the description should specify the return value on success/failure and how raw_body must be formatted (e.g., exact HTTP body vs. parsed JSON). The description explains the computation at a high level but leaves the agent unable to predict the tool's response, which is a significant gap for a verification utility.

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 0%, so the description must compensate. It adds real semantics by showing how raw_body, timestamp, and secret combine into the HMAC computation, and signature is implied by 'so chữ ký'. However, tolerance_sec and skip_time_check are left entirely to their self-descriptive names, which is thin compensation for the 0% schema coverage.

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 names a specific verb (verify), a specific resource (MONA Pay webhook signature), the exact algorithm (HMAC-SHA256), and the input composition (raw body + timestamp + secret). The added 'offline'/'không gọi mạng' trait clearly differentiates it from network-triggering siblings like monapay_test_webhook and monapay_generate_webhook_snippet.

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 offline/local framing gives implied usage context: use this to verify a signature without making network calls. However, it never explicitly names alternatives or states when NOT to use it, leaving the agent to infer the boundary against siblings like monapay_test_webhook.

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

monapay_webhook_logsLịch sử gửi webhookB

Lịch sử từng lần gửi (HTTP code, thời gian phản hồi, nhãn lỗi). / Webhook delivery logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
statusNo
to_dateNo
from_dateNoYYYY-MM-DD

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it does disclose that each log entry contains the HTTP code, response time, and error label of a send attempt, which is genuinely useful behavioral context for a read-only list tool. However, it does not disclose pagination defaults/limits, date-range semantics, or explicitly confirm these are outgoing delivery attempts to configured webhooks.

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 two short clauses totaling well under 20 words, with the core concept ('webhook delivery logs') front-loaded in English followed by the richer Vietnamese detail. The bilingual repetition is mildly redundant but each clause is compact, specific, and scannable.

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?

For a simple 5-parameter read-only list tool, the description conveys the core return content (HTTP code, response time, error label), which partially offsets the missing output schema. It omits pagination behavior, to_date format, whether logs span all configured webhooks, and the default state of the status filter, so an agent still faces small but real ambiguities.

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

Parameters2/5

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

Only from_date ('YYYY-MM-DD') is documented in the schema, so coverage is 20%; the description compensates with nothing — it names no parameter and explains no filter or pagination semantics. page, limit, status, and to_date meanings must be inferred from their names, and the to_date format is left unspecified.

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 specifies both the resource ('webhook delivery logs') and the content of each record ('HTTP code, response time, error label'), clearly identifying this as a list of individual delivery attempts. It is implicitly distinguishable from monapay_list_webhooks (webhook configurations) and monapay_webhook_stats (aggregate statistics) by subject matter, though it never names them.

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

Usage Guidelines2/5

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

No when-to-use guidance appears anywhere in the description — it does not say when to prefer this over monapay_webhook_stats or monapay_list_webhooks, nor does it state any exclusions or prerequisites. An agent must infer routing from the tool name and the terse content list.

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

monapay_webhook_statsThống kê webhookB

Tỷ lệ thành công, P95, phân loại lỗi. / Webhook delivery stats.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations and no output schema, the description carries full responsibility for behavioral disclosure. It does reveal the key output dimensions (success rate, P95, error classification), which is meaningful. However, it omits important traits such as whether the data is read-only, what time range is covered, whether it aggregates all webhooks or a subset, and what the response structure looks like.

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 extremely concise: a short Vietnamese phrase listing the metrics followed by an English translation. Every word adds value, and the key information is front-loaded. There is no repetition or filler.

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?

For a zero-parameter stats tool, the description names the three most important metrics, but it leaves gaps around the aggregation period, scope (which webhooks are included), and the exact output format. Since there is no output schema or annotation, these omissions could lead an agent to misinterpret the data or make wrong assumptions about the returned payload.

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?

The input schema is empty and there are zero parameters, so there are no parameter semantics to document. The baseline of 4 applies because the description does not need to add parameter meaning, and it doesn't introduce any confusing parameter-related text.

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 states a specific resource (webhook stats) and lists concrete metrics (success rate, P95, error classification), which clearly communicates what the tool provides. It also differentiates from sibling tools like monapay_webhook_logs, which focus on raw logs. However, it uses a noun phrase ('Webhook delivery stats') rather than an explicit verb like 'get' or 'retrieve'.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not explain when to choose this tool over alternatives such as monapay_webhook_logs or monapay_email_stats, nor does it mention any prerequisites or filtering context. An agent must infer usage entirely from the name and metric list.

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

monapay_whoamiKiểm tra kết nối MONA PayA

Xác nhận client credentials đang hoạt động, trả tên tài khoản và gói hiện tại. / Verify connection and return account name and plan.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of explaining behavior. It states that the tool confirms active credentials and returns account name and plan, which conveys the read-only, informational nature of the operation. It does not elaborate on error behavior or auth context, but for a simple whoami tool the core behavior is adequately disclosed.

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 covering both Vietnamese and English, with no wasted words. It front-loads the key action and the expected return values, making it easy for an agent to parse quickly.

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 simple, zero-parameter whoami tool, the description is complete: it states the purpose, the verification behavior, and the returned information. There is no output schema, but the description explicitly names what will be returned, so an agent has enough context to invoke and interpret the tool correctly.

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?

The tool has zero parameters, so parameter semantics are inherently simple. The description adds no parameter-specific meaning because none is needed; the schema already covers everything. Per the baseline for zero-parameter tools, this is appropriately handled.

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 clearly states the specific action: verify that client credentials are working and return the account name and current plan. It is specific about both the operation and the resource, making it easy to distinguish from the broader sibling set.

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?

The description explicitly frames the tool as a connection/credential verification action, which gives clear context for when to call it. It does not explicitly name alternatives like cloud_whoami or monapay_me, but for a zero-parameter whoami-style tool the usage context is sufficiently clear.

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

monapay_zalo_group_logsLịch sử gửi nhóm ZaloC

Tra lịch sử gửi vào nhóm Zalo, lọc trạng thái thành công hoặc thất bại.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It communicates a lookup/filter operation but does not state the return format, pagination behavior, whether results are limited to a specific Zalo group, or any other side effects or limitations.

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 one concise, front-loaded sentence with no wasted words. It could be slightly more structured by mapping behavior to parameters, but it is appropriately brief for a simple logs-lookup tool.

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?

For a simple two-optional-parameter log retrieval tool, the description conveys the core purpose and the status filter. However, with no output schema and no return-value explanation, the agent is left to infer what the response contains and how the 'limit' parameter behaves.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to explain both parameters. It only paraphrases the status filter ('lọc trạng thái thành công hoặc thất bại'), which largely restates the enum, and it says nothing about the 'limit' parameter or its default behavior.

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 states a specific action, 'Tra lịch sử gửi vào nhóm Zalo' (query send history to Zalo groups), with a clear resource and filter behavior. It is distinguishable from sibling tools like monapay_list_zalo_groups, though it does not explicitly name the alternative it is not.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus related tools such as monapay_email_logs, monapay_webhook_logs, or monapay_list_zalo_groups. There are no exclusions, prerequisites, or selection criteria provided.

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

vibecloud_agent_deployAlias cũ của cloud_agent_deployC

Alias tương thích; dùng cloud_agent_deploy cho tích hợp mới. sandbox=true: thử 0đ, không cần ví.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNosandbox=true: thử 0đ, không cần ví
templateYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It adds the sandbox=true free-trial/no-wallet behavior, which is useful, but it does not disclose deployment side effects, authentication requirements, failure modes, or whether the alias behaves identically to cloud_agent_deploy beyond the vague 'compatible alias' phrasing.

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 short, front-loaded with the alias/deprecation message, and every clause contributes useful information. The sandbox hint is slightly redundant with the schema but relevant enough to justify its place.

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

Completeness2/5

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

With no output schema, no annotations, and an opaque required template parameter, the description is incomplete for standalone invocation. The redirect to cloud_agent_deploy helps an agent find more information, but the description itself does not provide enough context to call the tool confidently without inspecting the sibling.

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

Parameters2/5

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

Schema description coverage is only 50%: the required 'template' parameter has only a regex pattern and no semantic description. The description only repeats the sandbox meaning already present in the schema and does not explain what template values should be, so it fails to compensate for the schema gap.

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

Purpose3/5

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

The description identifies the tool as a compatible alias of cloud_agent_deploy and points new integrations to that sibling, but it never states the underlying operation with a verb and resource. It relies on the tool name and the canonical sibling to convey what the tool actually does.

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?

The description explicitly says 'dùng cloud_agent_deploy cho tích hợp mới' (use cloud_agent_deploy for new integrations), naming the alternative and the condition. It implies this alias is for legacy compatibility, which is clear enough guidance for an agent deciding which tool to use.

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

vibecloud_app_createA

Alias tương thích của cloud_app_create. / Compatibility alias. App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. AI làm 99%: cloud_app_detect(local_dir) offline → cloud_app_host_list, cloud_prices/cloud_packages/cloud_plan_list và cloud_balance → cloud_app_create(local_dir, sandbox=true) nếu chưa có app host để ước tính chi phí giờ/gói → hỏi human một lần duyệt chi phí nếu chưa được duyệt → cloud_app_create(local_dir, sandbox=false) → poll tới done/succeeded → kiểm và trả URL. Nếu human có domain: cloud_app_domain_add và hướng dẫn CNAME từ API. Human đăng ký MONA Pass bằng device flow, nạp tiền khi hết credit 20k; AI làm các bước còn lại. App git cloud_app_create(repo_url) đã live; không gọi agent_deploy cho deploy dự án. / Detect locally, estimate, obtain cost approval once, upload and deploy, return URL, then attach an optional domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
envNo
nameNo
portNo
waitNo
branchNo
domainNo
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge
repo_urlNo
local_dirNo
build_typeNo
dockerfileNo
app_host_idNo
timeout_secNo
interval_secNo

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations present, the description carries the full burden and largely delivers: first app host takes ~2–3 minutes, subsequent deploys 10–20 seconds; sandbox=true is free with no real infrastructure; real deploys are billable and require a one-time cost approval; polling continues until done/succeeded; credit top-up threshold of 20k is stated. Missing only failure/cleanup behavior.

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?

The description is front-loaded with the alias statement and nearly every clause carries information, but it is a long bilingual block with an arrow-chain workflow, duplicated in Vietnamese and English, ending with a compact English summary. It is dense and hard to scan rather than concisely structured.

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?

For a 14-parameter tool with no annotations and no output schema, the description covers the end-to-end flow impressively: detect, estimate cost, get approval once, deploy, poll, return URL, attach domain, plus cost/timing/credit details. However, it leaves the majority of parameters unexplained, says nothing about failure behavior, and never distinguishes this tool from the cloud_app_deploy siblings — meaningful gaps at this complexity level.

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 coverage is only 7% (just sandbox has a description), so the description must compensate. It does add meaning for the most consequential parameters: local_dir vs repo_url as two source modes, sandbox free/no-infra semantics, optional domain handling, and polling behavior matching wait/timeout_sec/interval_sec. But env, name, port, branch, build_type, dockerfile, and app_host_id remain undocumented in both schema and description.

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 identifies the tool as a compatibility alias of cloud_app_create and conveys its core effect: deploying an app from a local directory or git repo and returning a URL. It also differentiates itself from agent_deploy by explicitly saying not to use it for project deployment. However, the purpose statement is embedded in a long workflow narrative rather than stated crisply at the top.

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?

Provides clear usage routing: use cloud_app_detect first for local dirs, use sandbox=true for cost estimation before real deployment, obtain one-time human cost approval, and use cloud_app_domain_add with CNAME instructions when the human has a domain. Explicitly excludes agent_deploy. The main gap is not distinguishing when to use cloud_app_deploy/vibecloud_app_deploy instead of this create tool.

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

vibecloud_app_deleteB

Alias tương thích của cloud_app_delete. / Compatibility alias. App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Sau khi user duyệt xoá: xoá app/domain/A record; app host vẫn có thể tính phí. / Delete an approved app.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

B3.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 discloses meaningful behavior: the deletion removes the app, domain, and A record, and critically warns that 'app host vẫn có thể tính phí' (the app host may still be billed) — a valuable caveat for a destructive operation. It also notes the deletion happens after user approval. The unrelated deployment-timing sentences ('app host đầu tiên ~2–3 phút...') are noise that detracts, but the core behavioral warnings are solid.

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

Conciseness2/5

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

The description is short but poorly structured: the same fact is repeated in two languages ('Alias tương thích của cloud_app_delete. / Compatibility alias.'), and a deployment-timing sentence appears copy-pasted from a deploy tool, adding nothing to a delete operation. The most important information (what gets deleted, billing warning) is buried mid-text rather than front-loaded, and the bilingual duplication wastes sentences.

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?

For a destructive tool with no annotations and no output schema, it covers several essential facts: what is removed (app/domain/A record), the post-deletion billing risk, and the approval precondition. However, it never explains the approval flow itself, what happens to the app host, what the tool returns, or how sandbox mode affects deletion, and the off-topic deployment timing adds confusion rather than completing the picture.

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 coverage is 50%: sandbox is documented in the schema ('Thử 0đ, không tạo hạ tầng thật / Sandbox, no charge'), but app_id has no schema description. The description partially compensates by implying that app_id must reference an approved, live app from git, which adds selection guidance. It does not, however, fully clarify app_id semantics or how sandbox interacts with the deletion and billing behavior described.

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 explicitly identifies the operation as deleting an app ('Delete an approved app', 'xoá app/domain/A record') and clarifies that it is a compatibility alias of cloud_app_delete, which distinguishes it from the sibling tool. The meaning is clear despite being buried under unrelated deployment-timing sentences. It loses a point because the purpose statement is fragmented and mixed with off-topic content.

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?

'Alias tương thích của cloud_app_delete / Compatibility alias' tells the agent this tool behaves identically to a known sibling, which is useful routing context. It also implies a prerequisite: only an app the user has approved for deletion can be deleted ('Sau khi user duyệt xoá'). However, it never explicitly says when to prefer this alias versus cloud_app_delete, nor contrasts it with other app management siblings.

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

vibecloud_app_deployA

Alias tương thích của cloud_app_deploy. / Compatibility alias. App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. App upload: local_dir đóng ZIP mới → upload → chờ job → deploy; bỏ local_dir để redeploy bản đã upload. / Redeploy uploaded source or a git app and poll.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNo
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge
local_dirNo
timeout_secNo
interval_secNo

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden and does add useful context: first app host takes about 2–3 minutes, subsequent deploys about 10–20 seconds, and the flow is zip/upload/wait/deploy/poll. However, it does not disclose what happens to the existing app during redeploy, failure behavior, or any destructive side effects, which is a notable gap for a deploy operation.

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?

The description is compact and the workflow is near the front, but it mixes two languages and slash-separated fragments that duplicate content, such as 'Compatibility alias' and 'Git apps are live.' It could be merged into a single coherent paragraph without losing information.

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

Completeness2/5

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

For a 6-parameter deploy tool with no annotations and no output schema, this is incomplete: it omits the return or job-status shape, how wait/timeout/interval interact with polling, sandbox behavior, and cost or error implications. The timing and local_dir guidance help, but an agent still lacks enough detail to invoke it confidently.

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

Parameters2/5

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

Schema coverage is only 17%, so the description must compensate for undocumented parameters. It explains local_dir semantics and implies polling, but app_id, wait, timeout_sec, and interval_sec are not described in the schema or the description, leaving most parameters underspecified.

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 explicitly identifies the tool as a compatibility alias of cloud_app_deploy and states the concrete action: redeploy an uploaded source or a git app and poll. It names both the resource and the operation, and the alias reference distinguishes it from the otherwise similar sibling cloud_app_deploy.

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 conditional usage: pass local_dir to zip and upload new source before deploying, or omit local_dir to redeploy the previously uploaded version or a git app. It also frames the tool as the compatibility alias of cloud_app_deploy, which helps an agent choose it in that context, though it doesn't enumerate exclusion cases.

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

vibecloud_app_detectA

Alias tương thích của cloud_app_detect. / Compatibility alias. Nhận diện Node/Next/Vite/Python/PHP/static, port, start, Dockerfile, build_type và tên biến .env.example; hoàn toàn offline, không thực thi code dự án. / Detect a local app without network.

ParametersJSON Schema
NameRequiredDescriptionDefault
local_dirYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does substantial work: 'hoàn toàn offline' discloses zero network dependence, and 'không thực thi code dự án' discloses that project code is never executed — the two safety-critical traits an agent needs before invoking a scanner. It does not cover error behavior or side effects like cache writes, but for a local read-only detector the disclosed traits are the essential behavioral contract.

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?

The definition is bilingual and repeats the alias fact twice ('Alias tương thích của cloud_app_detect' / 'Compatibility alias'), and the long Vietnamese capability sentence is then compressed into 'Detect a local app without network,' losing the output-field detail in the English half. The core facts are present and front-loaded, but the duplication means not every clause earns its place.

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 1-parameter tool with no output schema and no annotations, the description is near-complete: it enumerates the return payload fields (stack, port, start, Dockerfile, build_type, .env.example names), states the behavioral contract, and places itself among siblings via the alias declaration. Minor gaps remain — what happens on an invalid or nonexistent local_dir, and whether behavior is byte-for-byte identical to cloud_app_detect — but nothing blocks correct invocation.

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 0%, so the description must compensate for the lone required parameter. It does so only implicitly: 'Detect a local app' and 'không thực thi code dự án' strongly imply local_dir is a project directory path, but no sentence names local_dir or specifies format, absolute-vs-relative, or existence requirements. The meaning is guessable but not documented.

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 — 'Nhận diện... local app' (detect a local app) — and enumerates the exact detection outputs: 'Node/Next/Vite/Python/PHP/static, port, start, Dockerfile, build_type và tên biến .env.example.' It further differentiates itself from siblings by declaring 'Alias tương thích của cloud_app_detect,' so an agent can tell it apart from the cloud_app_detect twin and the other cloud_app_*/vibecloud_app_* tools.

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 description gives clear context for when the tool fits — detecting a local app's stack and run configuration purely offline — but never explicitly states when to prefer it over alternatives or what it should NOT be used for. The alias statement implies interchangeability with cloud_app_detect, but exclusions (e.g., 'use cloud_app_create for provisioning') are absent; usage is therefore implied rather than directed.

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

vibecloud_app_domain_addA

Alias tương thích của cloud_app_domain_add. / Compatibility alias. App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Thêm domain đã được duyệt, trả hướng dẫn CNAME từ API; chờ DNS trước kiểm HTTPS. / Attach custom domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYes
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it delivers: it discloses that the API returns CNAME instructions, that DNS propagation must precede HTTPS verification, and gives live-app timing expectations (~2–3 min for first host, 10–20s for deploys). It does not cover auth requirements, reversibility, or duplicate-domain behavior, but the core workflow is transparent.

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?

The three bilingual sentence-pairs are compact but redundant, repeating each idea in Vietnamese and English, and the English halves are telegraphic and incomplete (e.g., 'Git apps are live.' omits the timing numbers that appear only in Vietnamese). The core purpose line sits at the end rather than being front-loaded, though the alias identity is appropriately placed first.

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?

Given no annotations and no output schema, the description covers the operational essentials: what to attach, the prerequisite of an approved domain, the CNAME instructions returned by the API, and the DNS-before-HTTPS sequencing. Gaps such as response structure, error handling, and duplicate-domain behavior are minor given how well the end-to-end workflow is conveyed.

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 only 33% (host and app_id are undocumented in the schema), so the description needed to compensate. It partially does: 'custom domain' maps to host and implies it must be pre-approved ('đã được duyệt'), and 'App từ git' ties app_id to a git deployment. However, it never names the parameters explicitly and adds nothing about sandbox beyond what the schema already states.

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 states a clear verb+resource: 'Attach custom domain' / 'Thêm domain đã được duyệt' (add approved domain), and explicitly identifies itself as a compatibility alias of cloud_app_domain_add, which separates it from that sibling. It loses a point because the bilingual mix muddies the message: the English tagline is a bare phrase while the substantive detail lives only in Vietnamese.

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 alias note ('Compatibility alias') gives the agent the key routing signal that this is equivalent to cloud_app_domain_add, but it never states which variant to prefer or when an alternative would be more appropriate. The DNS sequencing guidance ('wait for DNS before checking HTTPS') provides operational context, but there are no explicit when-to-use or when-not-to-use rules.

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

vibecloud_app_env_setA

Alias tương thích của cloud_app_env_set. / Compatibility alias. App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Thay toàn bộ env sau khi được duyệt, gửi đầy đủ map cần giữ; không log secret. Gọi cloud_app_deploy sau đó để áp dụng. / Set app environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
envYes
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

A4/5.0
Behavior5/5

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

With no annotations provided, the description carries full behavioral burden and does it well. It warns that the entire environment is replaced after approval, instructs the caller to send a complete map of variables to preserve, cautions against logging secrets, and specifies the required follow-up deploy call. This is rich, honest behavioral disclosure.

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?

The description is somewhat compact but mixes Vietnamese and English with redundant translation of the alias statement. Key behavioral warnings are only in Vietnamese, which may reduce clarity for English-only agents. Still, each sentence carries useful operational information.

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?

The description covers destructive env replacement, preservation of existing variables, secret handling, deployment sequencing, and expected provisioning timing. It lacks explicit guidance on output or return values, but there is no output schema and the core invocation context is well covered.

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 only 33%, so the description must compensate for undocumented parameters. It adds important semantics for `env` by explaining the full-map replacement behavior, but it does not clarify `app_id` or `sandbox` beyond the schema. The contribution is meaningful but incomplete.

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 identifies the action as setting app environment variables and explicitly notes it is a compatibility alias for cloud_app_env_set. This gives a specific verb and resource, though it doesn't strongly differentiate behavior from its canonical sibling beyond the alias relationship.

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?

The description provides useful usage context: apps from Git are live, initial host provisioning takes 2–3 minutes, subsequent deploys take 10–20 seconds, and cloud_app_deploy must be called afterward to apply changes. It does not explicitly state when to prefer this alias over cloud_app_env_set, but the alias relationship implies interchangeability.

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

vibecloud_app_getB

Alias tương thích của cloud_app_get. / Compatibility alias. App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Đọc status, URL, lần deploy và app host. / Inspect app.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does disclose that this is a read/inspect operation ('Đọc'), identifies its alias behavior, and adds useful lifecycle context about git apps (first host ~2–3 min, deploys 10–20s). However, it does not mention authentication needs, error behavior, or response format beyond listing four fields — notable gaps given zero annotation coverage.

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?

Every substantive piece of information (alias identity, deployment timing, function) is relevant, but each statement is duplicated in Vietnamese and English, roughly doubling the length without adding content. The core function statement 'Inspect app' is back-loaded at the end rather than front-loaded.

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 simple get-style tool with 2 parameters and no output schema, the description covers the essentials: what it does, the fields it returns (compensating for the missing output schema), its alias equivalence, and deployment timing semantics. It lacks explicit error-handling or auth notes, but for this low complexity, the key bases are covered.

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

Parameters2/5

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

Schema coverage is 50%: the optional sandbox parameter has a schema description, but the required app_id parameter has none. The tool description adds no parameter meaning whatsoever — it never explains what app_id should be or how sandbox modifies behavior. Since app_id is required and undocumented in both schema and description, the description fails to compensate for the coverage gap.

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 states a specific verb and resource: 'Đọc status, URL, lần deploy và app host. / Inspect app' — read status, URL, deploy count, and app host of an app. It also explicitly identifies itself as a compatibility alias of cloud_app_get, which differentiates it from siblings like vibecloud_app_list. The deployment timing note is contextual but slightly muddies the core purpose.

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 alias statement 'Alias tương thích của cloud_app_get / Compatibility alias' implies this tool is interchangeable with cloud_app_get, giving some guidance. However, it never explicitly states when to use this tool versus cloud_app_get, vibecloud_app_list, or vibecloud_app_logs. There are no exclusions or explicit when-to-use conditions.

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

vibecloud_app_host_listA

Alias tương thích của cloud_app_host_list. / Compatibility alias. App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Đọc app host; chưa có host thì sandbox cloud_app_create trước để ước tính. / List app hosts.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

A3.8/5.0
Behavior4/5

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

There are no annotations, so the description carries the full burden. It communicates read-only behavior through 'Đọc app host' and 'List app hosts', and it adds useful operational context about expected timing: first app host takes ~2–3 minutes and later deploys 10–20 seconds. This is reasonably transparent for a simple list operation, though it does not cover failure modes or return-format details.

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?

The description is compact and includes useful details, but the structure is somewhat cluttered by the bilingual repetition and the fact that the main purpose, 'List app hosts', appears at the end rather than the front. It is not overly long, but it could be better organized and less repetitive.

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 simple one-parameter alias tool with no output schema, the description covers the essential context: what it does, its relationship to cloud_app_host_list, timing expectations, and a prerequisite action when no host exists. It does not describe return values, but the name and 'List app hosts' make the expected outcome reasonably clear for an agent.

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?

The schema already provides 100% description coverage for the only parameter, sandbox, including that it costs nothing and creates no real infrastructure. The tool description does not add much meaning about the parameter beyond referring to sandbox usage as part of the prerequisite workflow, so the baseline score of 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 states the tool 'List app hosts' and identifies itself as a compatibility alias of cloud_app_host_list, so the core function is clear. It does not deeply explain what an 'app host' is, but the verb+resource pair and the explicit alias reference are sufficient to distinguish it from the many other app and cloud tools.

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?

The description explicitly names cloud_app_host_list as the canonical equivalent, which tells an agent this tool can be used interchangeably with that sibling. It also gives conditional guidance: if no host exists yet, use sandbox cloud_app_create first to estimate. It could be stronger by explicitly stating when not to use this tool, but the alias and prerequisite guidance are clear.

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

vibecloud_app_listA

Alias tương thích của cloud_app_list. / Compatibility alias. App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Liệt kê app trước khi tạo để tránh trùng. / List apps.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It adds useful context — apps from git are live, first host takes roughly 2–3 minutes, subsequent deploys 10–20 seconds — which sets expectations about what the listing reflects. It does not explicitly confirm a read-only/non-destructive operation or explain how sandbox mode affects the listed scope, leaving a moderate gap.

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?

The description is short but fully bilingual, repeating every point in Vietnamese and English and roughly doubling its length. The front-loaded alias identity is well placed, but the deployment-timing sentence is tangential for a list tool and could be dropped without loss.

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?

For a one-optional-parameter list tool with no output schema and no annotations, it covers the essentials: what it lists, when to use it, and its sibling relationship. It does not describe the return shape or the scope of the listing (all apps vs. sandbox-only), and the deployment-timing note reads as if it belongs to a deploy tool rather than a list tool.

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% — the sandbox parameter already carries its own explanation ('Sandbox, no charge'), so the rubric baseline of 3 applies. The description adds nothing about the parameter beyond what the schema already declares.

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 states a specific verb and resource — 'List apps' / 'Liệt kê app' — and anchors identity by declaring itself a 'Compatibility alias' of cloud_app_list, so an agent can recognize it as equivalent to that sibling. The tangentially included git-deploy timing info slightly muddies the listing purpose, preventing 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 Guidelines4/5

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

'Liệt kê app trước khi tạo để tránh trùng' gives explicit when-to-use guidance: call this before creating an app to avoid duplicates. The alias declaration tells the agent it is interchangeable with cloud_app_list. It stops short of naming alternatives for other needs such as cloud_app_get or cloud_app_deploy, so exclusions are absent.

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

vibecloud_app_logsB

Alias tương thích của cloud_app_logs. / Compatibility alias. App từ git đã live: app host đầu tiên ~2–3 phút, deploy sau đó 10–20 giây. / Git apps are live. Đọc tối đa 500 dòng log; có thể chứa secret, không đưa nguyên log ra công khai. / Read deployment logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYes
sandboxNoThử 0đ, không tạo hạ tầng thật / Sandbox, no charge
deploymentNo

TDQS

B3.3/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses that the operation is read-only, caps output at 500 lines, and warns that logs may contain secrets and should not be publicly exposed. This is meaningful behavioral context beyond bare schema information.

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?

The description is short but not well-structured: the core purpose ('Read deployment logs') appears at the end, and the bilingual phrasing adds redundancy. Deployment timing and the secret warning are useful, but the main action should be front-loaded for faster agent comprehension.

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 description gives enough for a basic understanding: it is an alias, reads deployment logs, has a 500-line cap, and warns about secrets. However, with no output schema, it does not describe what the returned log data looks like, nor does it clarify the deployment parameter or what happens when deployment is omitted.

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

Parameters2/5

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

Schema description coverage is low at 33%, and the description does not compensate by explaining app_id or deployment. Only sandbox has a schema description. The text mentions deployment logs but does not clarify what the deployment parameter means or how it relates to app_id.

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 the tool reads deployment logs and explicitly identifies itself as a compatibility alias of cloud_app_logs. It names the resource (app logs) and the action (read), but does not differentiate from cloud_app_logs since it is an alias.

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 alias relationship implies it can be used in place of cloud_app_logs, but there is no explicit when-to-use or when-not-to-use guidance. The deployment timing note ('first app host ~2–3 minutes, deploy 10–20 seconds') provides useful context for when logs might be available, but no alternative selection criteria are given.

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

vibecloud_create_databaseAlias cũ của cloud_db_createB

Alias tương thích; dùng cloud_db_create cho tích hợp mới. sandbox=true: thử 0đ, không cần ví.

ParametersJSON Schema
NameRequiredDescriptionDefault
cpuNo
engineNomongodb
ram_gbNo
disk_gbNo
sandboxNosandbox=true: thử 0đ, không cần ví
app_nameYes
package_slugNo

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It does reveal that sandbox=true is free and requires no wallet, but it does not mention that this tool creates resources, what billing happens when sandbox is false, authentication needs, or any side effects of invoking the alias.

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, focused sentences. The alias/compatibility message is front-loaded, and the sandbox note is relevant and concise. There is no filler or redundant elaboration.

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

Completeness2/5

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

Given that this is a database-creation mutation with no annotations, no output schema, and mostly undocumented parameters, the description is not complete enough for direct invocation. It routes users to cloud_db_create for new integrations but provides no information about required inputs, return values, failure modes, or non-sandbox costs.

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

Parameters1/5

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

Schema description coverage is only 14%, with seven parameters and only sandbox documented in the schema. The description merely repeats the sandbox explanation ('thử 0đ, không cần ví') and gives no semantic guidance for app_name, engine, cpu, ram_gb, disk_gb, or package_slug. It therefore fails to compensate for the low schema coverage.

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

Purpose3/5

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

The description identifies the tool as a compatibility alias and points to cloud_db_create for new integrations, but it never explicitly states the tool's verb and resource (e.g., 'creates a database'). The purpose is inferable from the name, title, and schema rather than actually described.

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?

The description explicitly says to use cloud_db_create for new integrations, which clearly tells an agent when not to use this tool and names the preferred alternative. The legacy-only usage is strongly implied by the instruction.

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

vibecloud_create_vpsAlias cũ của cloud_vps_createB

Alias tương thích; dùng cloud_vps_create cho tích hợp mới. sandbox=true: thử 0đ, không cần ví.

ParametersJSON Schema
NameRequiredDescriptionDefault
cpuNo
periodNo
ram_gbNo
disk_gbNo
sandboxNosandbox=true: thử 0đ, không cần ví
app_nameYes
plan_codeNo
billing_modeNo
package_slugNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are present, so the description carries the full behavioral burden. It adds the useful sandbox behavior—free trial and no wallet required—but does not disclose the core creation behavior, billing implications, asynchronous behavior, or any side effects of creating a VPS.

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?

Two compact sentences with no filler; the alias guidance is front-loaded and the sandbox note is relevant. Minor deduction because the sandbox statement repeats the schema's existing property description, so it does not add wholly new information.

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

Completeness2/5

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

For a resource-creating tool with 9 parameters, no output schema, and no annotations, the description is incomplete. It relies heavily on the alias relationship to infer behavior and only documents one parameter, leaving most operational details and expected outputs undocumented.

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

Parameters2/5

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

Schema description coverage is only 11%, so the description must compensate for the other 8 parameters, but it only explains sandbox. Key parameters like cpu, ram_gb, disk_gb, plan_code, package_slug, and billing_mode receive no semantic guidance beyond their names.

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 identifies the tool as a compatibility alias for cloud_vps_create, so its purpose—creating a VPS—is recoverable from the canonical sibling's name and title. It does not directly state 'create a VPS,' but the alias relationship plus the name makes the intended action clear.

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?

The description explicitly says to use cloud_vps_create for new integrations ('dùng cloud_vps_create cho tích hợp mới'), which gives a clear when-not-to-use directive and names the preferred alternative. This is strong routing guidance for an agent choosing between alias and canonical tool.

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

vibecloud_credit_redeemA

Alias tương thích của cloud_credit_redeem. / Compatibility alias. Dùng mã credit người dùng cung cấp sau khi họ đồng ý; không thử đoán mã. / Redeem an approved promotional credit code.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It adds useful context: the code must be user-approved, not guessed, and must be an approved promotional code. However, it does not mention side effects (e.g., credit balance changes, irreversibility) or failure conditions for invalid/redeemed codes.

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 short and front-loaded with the alias relationship, followed by the operational constraint. Bilingual repetition is mildly redundant but not bloated.

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?

For a single-parameter mutation tool with no output schema and no annotations, the description covers how to obtain the code and what not to do, but omits what the tool returns and whether redemption is irreversible. This is a modest but real gap for an agent deciding to invoke it.

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 0%, so the description must compensate for the undocumented 'code' parameter. It partially does by specifying the code is an approved promotional code supplied by the user and not to be guessed, adding meaning beyond the raw property name. It does not provide format hints or examples.

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 action (redeem), a resource (promotional credit code), and explicitly identifies itself as a compatibility alias of cloud_credit_redeem. This makes its function unambiguous and distinguishes it from the many other cloud_* / vibecloud_* siblings.

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 instructs to use the code only after the user agrees and explicitly warns not to guess codes, which is valuable operational guidance. The alias note clarifies its relationship to cloud_credit_redeem, though it doesn't state conditional selection between the two aliases.

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

vibecloud_invoice_listA

Alias tương thích của cloud_invoice_list. / Compatibility alias. Đọc hoá đơn hàng tháng của tài khoản. / List monthly invoices.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It explicitly says the operation is to 'read' and 'list' monthly invoices, signaling a safe, non-mutating call with no parameters. It does not describe pagination or output shape, but for a simple read/list alias this is a reasonable disclosure.

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 compact: two ideas expressed bilingually in four short clauses. The alias relationship is front-loaded and the function statement is immediate. No filler or redundant schema repetition is present.

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 parameterless list tool, the description is nearly complete: it names the object (monthly invoices), the scope (account), and the action (read/list). It leaves out output format and pagination details, but it points to cloud_invoice_list as the canonical definition, which offsets the need to restate them.

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?

The tool has zero parameters, so there is no parameter meaning for the description to add. The 100% schema coverage and empty properties make any parameter documentation unnecessary. The baseline for a no-parameter tool is 4.

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: 'List monthly invoices' and 'Đọc hoá đơn hàng tháng của tài khoản' (reads the account's monthly invoices). It also identifies itself as a compatibility alias of cloud_invoice_list, which is enough to distinguish it from the many sibling tools.

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 'Compatibility alias' implies that this tool is equivalent to cloud_invoice_list and can be used in its place, but there is no explicit when-to-use vs when-not-to-use guidance. It does not state whether an agent should prefer the canonical cloud_invoice_list or this alias in a given situation.

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

vibecloud_invoice_pdfA

Alias tương thích của cloud_invoice_pdf. / Compatibility alias. Tải PDF hoá đơn vào file tạm riêng tư, trả path; sao chép ra nơi cần giữ trước khi hệ điều hành dọn. / Download invoice PDF to a private temporary file.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYes

TDQS

A4.3/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full disclosure burden and meets it well: it discloses the private-temporary-file destination, states that a path is returned, and warns that the file must be copied to a persistent location before the OS cleans it up. These are precisely the behavioral traits an agent needs to use the tool safely.

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 alias disclosure and covers function, return type, and the cleanup caution in a few lines. The Vietnamese/English duplication doubles length but serves locale compatibility; no sentence is filler.

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 one-parameter download tool with no output schema and no annotations, the description covers the essentials: destination (private temp file), return value (path), and a critical lifecycle warning (copy before OS cleanup). It does not state where to obtain invoice_id (e.g., from an invoice_list tool) or error behavior, which would round it out.

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 0% and the description does not explain invoice_id beyond the tool's overall purpose. However, with a single required parameter whose name is self-describing and whose role is strongly implied by 'download invoice PDF', the practical gap is small. No format, source, or validation semantics are added.

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 concrete verb+resource pair ('Download invoice PDF to a private temporary file') and the return value (a path). It also immediately declares itself a compatibility alias of cloud_invoice_pdf, which clearly distinguishes it from the sibling set and tells the agent exactly what this tool is.

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?

The bilingual statement 'Compatibility alias' of cloud_invoice_pdf explicitly establishes interchangeability with the original tool, which is the relevant usage context for an alias and routes the agent correctly among siblings. It lacks an explicit when/when-not condition, but for an alias the declaration itself is the routing guidance.

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

vibecloud_job_statusAlias cũ của cloud_job_statusB

Alias tương thích; dùng cloud_job_status cho tích hợp mới. Job sandbox được tự nhận diện, không cần header.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNo
job_idYes
sandboxNosandbox=true: thử 0đ, không cần ví
timeout_secNo
interval_secNo

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It adds one useful detail (sandbox jobs are auto-detected, no header needed), but it does not explain that the tool polls/waits for job status, what the response looks like, or whether it is a read-only operation.

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 compact and front-loaded: it states alias status and routing first, then adds the sandbox note. Every sentence earns its place, though the alias statement partially duplicates the title.

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

Completeness2/5

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

For a tool with 5 parameters, no output schema, and no annotations, this is incomplete. The agent learns how to route to the canonical tool and about sandbox detection, but not what the tool returns, how wait/timeout interact, or what job_id should reference.

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

Parameters2/5

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

Schema description coverage is only 20%, so the description must compensate for the undocumented parameters. It partially clarifies sandbox behavior, but it says nothing about job_id format, wait semantics, timeout_sec, or interval_sec, leaving most parameters explained only by their names.

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 identifies the tool as a compatibility alias and explicitly names cloud_job_status as the canonical equivalent, which distinguishes it from the sibling tool. However, it never states the underlying action (checking job status) in its own words, relying on the name and title for the core function.

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?

"dùng cloud_job_status cho tích hợp mới" explicitly tells the agent to use the canonical tool for new integrations and implies this alias is reserved for legacy compatibility. This is concrete when/when-not guidance with the alternative named.

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

vibecloud_list_servicesAlias cũ của cloud_services_listA

Alias tương thích; dùng cloud_services_list cho tích hợp mới. sandbox=true gộp service thử 0đ, không cần header.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNosandbox=true: thử 0đ, không cần ví

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It adds useful behavioral detail: the tool is a compatibility alias, sandbox=true includes trial 0đ services, and strangely 'không cần header' (no header needed). However, it omits return format, pagination, error handling, and authentication expectations. Some value added, but the profile is far from complete.

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?

Two short Vietnamese sentences with zero filler. The alias identity and canonical routing are front-loaded first, followed by the parameter behavior. Every clause earns its place.

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?

Given the tool's simplicity — one optional boolean parameter, no nested objects, no enums — the description covers identity, routing, and parameter semantics adequately. However, since there is no output schema, the absence of any mention of what the service list returns is a gap, partially mitigated by redirecting new integrations to cloud_services_list.

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 coverage is 100% — the sandbox parameter already has a description in the schema ('sandbox=true: thử 0đ, không cần ví'). The tool description partially echoes this and adds the extra detail 'không cần header'. This is marginal value beyond the schema, matching the baseline of 3 for full coverage.

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 title and description both identify the tool as 'Alias cũ của cloud_services_list' / 'Alias tương thích', making its core identity as a backward-compatible alias of the canonical service-list tool unmistakable. It clearly distinguishes itself from siblings by naming cloud_services_list as the canonical version. It lacks an explicit verb+resource statement ('lists services'), but the alias relationship carries the meaning.

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?

The description explicitly instructs 'dùng cloud_services_list cho tích hợp mới' (use cloud_services_list for new integrations), which routes agents to the preferred alternative. The implied counterpart — use this tool only for legacy compatibility — is clear enough. It also adds usage context for the sandbox parameter. It stops short of a full when-not-to-use enumeration, so not a 5.

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

vibecloud_packagesAlias cũ của cloud_packagesA

Alias tương thích; dùng cloud_packages cho tích hợp mới.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does disclose the key behavioral trait that this tool is an alias and is not the canonical entry point, but it does not describe the underlying behavior, side effects, or what cloud_packages itself does. This is adequate but minimal.

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 extremely concise: a short label identifying the alias role and a direct instruction to prefer cloud_packages. Every word earns its place and the key routing guidance is front-loaded.

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 zero-parameter deprecated alias, the description is nearly complete for correct invocation. It explains the alias relationship and directs new usage to the correct sibling, though it relies on the cloud_packages tool definition for the actual package-related behavior and return values.

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?

The input schema has zero parameters, so the baseline is 4. The description adds no parameter-specific information, but none is needed because there is nothing to pass when invoking this tool.

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 clearly states that the tool is a compatible alias for cloud_packages, giving it a specific role and naming the canonical sibling it maps to. It is not a tautology and distinguishes itself from cloud_packages by designating the latter as the primary tool.

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?

The description explicitly instructs users to use cloud_packages for new integrations, which is a clear when-not-to-use statement. It also implies the alias remains available for legacy compatibility, making the intended usage unambiguous.

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

vibecloud_plan_listA

Alias tương thích của cloud_plan_list. / Compatibility alias. Bảng gói cùng giá tháng/năm; gợi ý gói rẻ nhất đủ CPU/RAM/đĩa yêu cầu, admin_only không tự chọn. Đọc trước khi duyệt chi phí. / List plans, prices and sizing recommendation.

ParametersJSON Schema
NameRequiredDescriptionDefault
cpuNo
ram_gbNo
disk_gbNo

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations present, the description bears the full burden of behavioral disclosure. It does add meaningful behavior: it says plans are compared at monthly/yearly price points, that the cheapest plan sufficient for the given specs is suggested, and that admin_only plans are not auto-selected — the latter being a genuine non-obvious trait. However, it never explicitly confirms read-only status, authentication needs, or what happens when no parameters are supplied, so it falls short of fully carrying that burden.

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?

The description is short and front-loads the key fact ("Alias tương thích của cloud_plan_list / Compatibility alias"), which is good. However, the bilingual formatting is redundant — the alias statement is repeated almost verbatim in two languages, and the detailed Vietnamese content (admin_only behavior, cost-approval guidance) has no English counterpart, so the two sections are not functionally parallel. The redundancy wastes space without adding information.

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?

Given there is no output schema and no annotations, the description carries the completeness burden for a moderately simple 3-parameter list tool. It covers the core essentials: what is listed (plans with monthly/yearly prices), the recommendation logic (cheapest plan satisfying requirements), the admin_only exclusion, and when to read it (before cost approval). Remaining gaps are behavior with zero parameters, parameter units and combination semantics, and the output shape, leaving the definition adequate but not fully complete.

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 0%, so the description must compensate. The phrase "gợi ý gói rẻ nhất đủ CPU/RAM/đĩa yêu cầu" maps cpu, ram_gb, and disk_gb to the sizing requirements that drive the recommendation, giving the bare schema fields real semantic meaning. It does not clarify units (e.g., cores vs vCPU), whether the three fields must be combined, or the behavior when all are omitted.

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: "List plans, prices and sizing recommendation," and the Vietnamese text adds concrete detail — a plan table with monthly/yearly prices that recommends the cheapest plan meeting CPU/RAM/disk requirements. It explicitly identifies itself as a "Compatibility alias" of cloud_plan_list, which cleanly distinguishes it from the many sibling tools. The purpose is unambiguous and actionable.

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?

The Vietnamese phrase "Đọc trước khi duyệt chi phí" ("read before approving costs") gives an explicit when-to-use context: consult this tool prior to cost approval decisions. Naming cloud_plan_list as the alias target tells the agent this is the vibecloud-compatible variant of that exact tool. It does not, however, state explicit exclusions or compare itself to nearby siblings like cloud_prices or cloud_packages.

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

vibecloud_pricesAlias cũ của cloud_pricesA

Alias tương thích; dùng cloud_prices cho tích hợp mới.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the most important behavioral fact — 'Alias tương thích' (compatible alias) means this tool behaves identically to cloud_prices. But it provides nothing beyond that: no indication of what the operation does, no read-only/mutation hints, no auth or output-format info, forcing the agent to dereference cloud_prices for actual behavior. Useful but thin.

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?

A single two-clause sentence with zero filler: identity is front-loaded ('Alias tương thích') followed immediately by actionable routing guidance. Every word earns its place for a deprecation notice.

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 0-parameter tool with no annotations and no output schema, the description supplies the essential facts an agent needs to avoid mis-selection: it is an alias, and new integrations should target cloud_prices. It is complete enough that an agent will correctly route itself, though the actual return semantics must be learned from the sibling tool's definition.

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?

The tool has 0 parameters and 100% schema coverage trivially, so there is nothing for the description to add — the baseline of 4 for zero-parameter tools applies. No parameter meaning is needed beyond the empty schema.

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 identifies the tool as a compatible alias of cloud_prices, which effectively states its identity and function for an alias-type tool. It names the canonical resource (cloud_prices) and is not a tautology — 'vibecloud_prices' alone would not tell an agent it is an alias. It stops short of describing what the underlying operation actually does (e.g., listing prices), so it is not 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 Guidelines4/5

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

The description explicitly names the alternative (cloud_prices) and the condition for choosing it ('dùng cloud_prices cho tích hợp mới' — use cloud_prices for new integrations), which is clear routing guidance. However, the when-to-use-this-tool case (legacy integrations relying on the alias) is only implied, not stated explicitly, so it lacks the full when/when-not symmetry of a 5.

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

vibecloud_rebuildAlias cũ của cloud_service_rebuildA

Alias tương thích; dùng cloud_service_rebuild cho tích hợp mới. sandbox=true: thử 0đ, không cần ví.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNosandbox=true: thử 0đ, không cần ví
service_idYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It adds useful context by stating that sandbox=true is free and requires no wallet, and it signals that the tool is a compatibility alias. However, it does not disclose that rebuilding likely modifies or recreates a service, nor does it mention authentication needs or response behavior.

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 very short and front-loads the most important routing information in the first sentence. The sandbox sentence is useful but somewhat redundant with the schema. Overall, every sentence serves a purpose and there is no padding.

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?

For a simple alias tool with two parameters and no output schema, the description is adequate but not self-sufficient. It tells the agent to use the canonical tool for new integrations, but an agent unfamiliar with cloud_service_rebuild would still lack clarity on what the rebuild operation actually does and what service_id should refer to.

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

Parameters2/5

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

Schema coverage is only 50%, and the description does not compensate for the undocumented service_id parameter beyond its minLength constraint. The sandbox=true line duplicates the schema description exactly rather than adding new meaning. The required service_id remains unexplained in both schema and description.

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 identifies the tool as a compatibility alias ('Alias tương thích') and points to cloud_service_rebuild as the canonical sibling, so an agent can tell it is the legacy entry point for the same operation. It does not explicitly describe the underlying 'rebuild' action, but the name and canonical reference make the purpose reasonably clear.

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?

The description explicitly tells the agent to use cloud_service_rebuild for new integrations, which clearly distinguishes when this alias is intended for legacy compatibility vs when the canonical tool should be selected. The sandbox=true guidance also gives a concrete usage condition. This is direct routing guidance with no ambiguity.

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

vibecloud_startAlias cũ của cloud_service_startB

Alias tương thích; dùng cloud_service_start cho tích hợp mới. sandbox=true: thử 0đ, không cần ví.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNosandbox=true: thử 0đ, không cần ví
service_idYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of disclosing behavior. It adds only the sandbox cost hint ('thử 0đ, không cần ví') and says nothing about the start action itself, billing outside sandbox, side effects, or what the call returns.

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 alias/routing guidance is front-loaded in one compact clause, and the sandbox hint is short. It is appropriately terse for an alias tool, though the sandbox wording is redundant with the schema.

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?

For a simple two-parameter alias, the routing to cloud_service_start and the sandbox hint give enough to select the tool. However, with no output schema and no description of service_id, response, or non-sandbox cost, an agent cannot fully predict the invocation result without consulting the canonical sibling.

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

Parameters2/5

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

Schema coverage is only 50%; service_id has no description, and the tool description does not explain it. The sandbox sentence merely repeats the schema's own parameter description rather than adding new meaning.

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 identifies the tool as a compatibility alias and points to cloud_service_start as the canonical operation, so an agent can tell it apart from the surrounding vibecloud_*/cloud_* siblings. It stops short of stating the underlying action ('start a service') in its own words, relying on the name/title and the referenced sibling for that.

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?

It explicitly instructs new integrations to use cloud_service_start ('dùng cloud_service_start cho tích hợp mới'), naming the alternative and the condition that should select it. 'Alias tương thích' conveys the legacy-compatibility context in which this tool would still be used.

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

vibecloud_stopAlias cũ của cloud_service_stopB

Alias tương thích; dùng cloud_service_stop cho tích hợp mới.

ParametersJSON Schema
NameRequiredDescriptionDefault
sandboxNosandbox=true: thử 0đ, không cần ví
service_idYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are present, so the description carries full responsibility for behavioral disclosure. It only says the tool is a compatible alias, without stating what the operation does, its side effects, or any permission requirements. An agent cannot tell from this description alone that the tool stops a service.

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 a single sentence with no filler, front-loading the alias status and the canonical replacement. It is appropriately short and efficient for a deprecation notice. Some additional operational context would improve value, but nothing here is wasted.

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 description sufficiently routes an agent to cloud_service_stop for new integrations, which is valuable in context. However, it is thin regarding actual invocation of this alias, including the operation's behavior, return value, and parameter semantics. It is minimally adequate because the canonical sibling can supply the missing details.

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

Parameters1/5

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

The description contains zero parameter information, while schema coverage is only 50% (sandbox is described, service_id is not). With such incomplete schema coverage, the description needed to compensate but did not. An agent receives no help understanding service_id or how sandbox interacts with what the alias does.

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 identifies the tool's role as a compatibility alias and names the canonical tool cloud_service_stop, making its purpose unambiguous. It doesn't state the underlying operation (stopping a service), but as a deprecated alias, its purpose is accurately communicated. It distinguishes itself from siblings by being the old alias of cloud_service_stop.

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?

The description explicitly instructs to use cloud_service_stop for new integrations, providing a clear alternative and the condition for choosing it. This directly tells an agent when not to use the alias. The guidance is actionable and leaves little room for misinterpretation.

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

vibecloud_subscription_listA

Alias tương thích của cloud_subscription_list. / Compatibility alias. Đọc các gói đang dùng, kỳ gia hạn và auto-renew. / List subscriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It conveys read-only behavior through 'Đọc' / 'List' and hints at return contents, but discloses nothing beyond that — no auth requirements, error behavior, or output format details. Adequate for a simple read alias, but not rich.

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?

Three short sentences with the alias relationship front-loaded before the behavioral summary. The bilingual repetition ('Alias tương thích' / 'Compatibility alias', and the Vietnamese/English listing) is slightly redundant but compact and serves dual-language users without waste.

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?

Low-complexity tool: zero parameters, no output schema, no annotations. The description covers what it returns (subscriptions, renewal period, auto-renew) and its alias identity, which is sufficient for an agent to call it correctly. Minor gap: no explicit statement that it is behaviorally identical to cloud_subscription_list.

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?

The tool has zero parameters and a trivially complete 100% schema coverage, so the baseline of 4 applies. The description adds no parameter information, and none is needed since the empty schema already documents everything.

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 states a clear verb+resource pair ('List subscriptions', 'Đọc các gói đang dùng') and adds specific return scope (packages in use, renewal period, auto-renew). It explicitly identifies itself as a compatibility alias of cloud_subscription_list, which distinguishes it from the canonical sibling and the broader vibecloud/cloud pair pattern.

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?

Naming cloud_subscription_list as the compatibility alias target implies the two are interchangeable, and the sibling list's consistent vibecloud_* / cloud_* pairing reinforces the pattern. However, it never explicitly states when to choose this alias over the canonical tool, nor any conditions or exclusions.

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

vibecloud_subscription_updateA

Alias tương thích của cloud_subscription_update. / Compatibility alias. Đổi gói/chu kỳ/gia hạn sau khi đọc subscription và giá, ước tính rồi được duyệt. Upgrade tính prorate, downgrade kỳ sau. Huỷ: auto_renew=false, cancel_action=hourly|stop. / Update or cancel renewal.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo
plan_codeNo
auto_renewNo
service_idYes
cancel_actionNo

TDQS

A3.5/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 it delivers meaningful behavioral disclosure: upgrades are prorated, downgrades apply next period, and cancellation requires auto_renew=false combined with cancel_action=hourly|stop. This goes well beyond the schema by exposing billing timing and cancellation semantics. It falls short of 5 because it omits reversibility, permission requirements, and what happens after approval (response/confirmation).

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?

The text is compact in word count but structurally messy: it is a stream of slash-separated bilingual fragments, and roughly a third of it is redundant ('Alias tương thích của cloud_subscription_update' repeats 'Compatibility alias', and the English closing restates the Vietnamese). The core facts are front-loaded, but the wasteful duplication and lack of clean structure prevent a higher score.

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?

For a billing mutation with no annotations and no output schema, the description covers the critical business rules (proration, downgrade timing, cancel modes) but leaves gaps: what the tool returns after approval, how the approval flow works, and the exact semantics of cancel_action=hourly vs stop. The alias relationship is fully clarified, which is essential given the many paired cloud_*/vibecloud_* siblings.

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 0%, so the description must compensate. It maps plan_code to 'Đổi gói' (change plan), period to 'chu kỳ' (cycle), and auto_renew/cancel_action to the cancel workflow. However, it never explains the meaning of the enum values: what 'hourly' vs 'stop' actually do, or the month/year tradeoffs, and service_id is only implicitly the subscription identifier.

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 states a clear verb+resource: it updates a subscription (change plan/period/renewal) or cancels renewal, with concrete mechanics like 'auto_renew=false, cancel_action=hourly|stop'. It also identifies itself as a compatibility alias of cloud_subscription_update, which distinguishes it from sibling tools like vibecloud_subscription_list. It misses a clean 5 because the bilingual text is somewhat jumbled and the final '/ Update or cancel renewal.' merely restates what the Vietnamese already said.

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 'sau khi đọc subscription và giá, ước tính rồi được duyệt' (after reading subscription and prices, estimate then get approval) implies a workflow: read subscription/price data first, then update. Naming cloud_subscription_update as the canonical sibling gives the agent routing context. However, there are no explicit when-to-use vs when-not-to-use statements or exclusions, and no guidance on choosing this alias over its canonical counterpart.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 135 tool updatesv0.4.2
    • First observedagent_deploy
    • First observedagent_templates_get
    • First observedagent_templates_list
    • First observedcloud_agent_deploy
    • First observedcloud_app_create
    • First observedcloud_app_delete
    • First observedcloud_app_deploy
    • First observedcloud_app_detect
    • First observedcloud_app_domain_add
    • First observedcloud_app_env_set
    • First observedcloud_app_get
    • First observedcloud_app_host_list
    • First observedcloud_app_list
    • First observedcloud_app_logs
    • First observedcloud_balance
    • First observedcloud_budget_get
    • First observedcloud_budget_set
    • First observedcloud_credit_redeem
    • First observedcloud_db_create
    • First observedcloud_invoice_list
    • First observedcloud_invoice_pdf
    • First observedcloud_job_status
    • First observedcloud_ledger
    • First observedcloud_link
    • First observedcloud_open_console
    • First observedcloud_packages
    • First observedcloud_plan_list
    • First observedcloud_prices
    • First observedcloud_service_rebuild
    • First observedcloud_service_start
    • First observedcloud_service_stop
    • First observedcloud_services
    • First observedcloud_services_list
    • First observedcloud_subscription_list
    • First observedcloud_subscription_update
    • First observedcloud_token_limit
    • First observedcloud_topup
    • First observedcloud_usage
    • First observedcloud_vps_create
    • First observedcloud_whoami
    • First observedmail_account
    • First observedmail_api_key_create
    • First observedmail_api_key_revoke
    • First observedmail_api_keys_list
    • First observedmail_domain_add
    • First observedmail_domain_cloudflare
    • First observedmail_domain_verify
    • First observedmail_domains_list
    • First observedmail_list
    • First observedmail_plan_set
    • First observedmail_plans
    • First observedmail_send
    • First observedmail_stats
    • First observedmail_status
    • First observedmail_suppression_remove
    • First observedmail_suppressions_list
    • First observedmail_template_create
    • First observedmail_webhook_create
    • First observedmail_webhook_test
    • First observedmail_webhooks_list
    • First observedmonapay_cancel_checkout
    • First observedmonapay_cancel_qr
    • First observedmonapay_create_checkout
    • First observedmonapay_create_email_config
    • First observedmonapay_create_qr
    • First observedmonapay_create_webhook
    • First observedmonapay_create_zalo_group
    • First observedmonapay_delete_email_config
    • First observedmonapay_delete_webhook
    • First observedmonapay_delete_zalo_group
    • First observedmonapay_email_logs
    • First observedmonapay_email_stats
    • First observedmonapay_generate_key
    • First observedmonapay_generate_webhook_snippet
    • First observedmonapay_get_checkout
    • First observedmonapay_get_payment_profile
    • First observedmonapay_link
    • First observedmonapay_link_bank_start
    • First observedmonapay_link_bank_verify_otp
    • First observedmonapay_list_bank_accounts
    • First observedmonapay_list_checkouts
    • First observedmonapay_list_email_configs
    • First observedmonapay_list_email_suppressions
    • First observedmonapay_list_transactions
    • First observedmonapay_list_virtual_accounts
    • First observedmonapay_list_webhooks
    • First observedmonapay_list_zalo_groups
    • First observedmonapay_me
    • First observedmonapay_notification_register
    • First observedmonapay_notification_verify_otp
    • First observedmonapay_remove_email_suppression
    • First observedmonapay_resend_email_verification
    • First observedmonapay_retry_transaction
    • First observedmonapay_rotate_key
    • First observedmonapay_sandbox_transaction
    • First observedmonapay_set_payment_profile
    • First observedmonapay_test_email
    • First observedmonapay_test_webhook
    • First observedmonapay_test_zalo_group
    • First observedmonapay_update_email_config
    • First observedmonapay_update_webhook
    • First observedmonapay_update_zalo_group
    • First observedmonapay_verify_email
    • First observedmonapay_verify_signature
    • First observedmonapay_webhook_logs
    • First observedmonapay_webhook_stats
    • First observedmonapay_whoami
    • First observedmonapay_zalo_group_logs
    • First observedvibecloud_agent_deploy
    • First observedvibecloud_app_create
    • First observedvibecloud_app_delete
    • First observedvibecloud_app_deploy
    • First observedvibecloud_app_detect
    • First observedvibecloud_app_domain_add
    • First observedvibecloud_app_env_set
    • First observedvibecloud_app_get
    • First observedvibecloud_app_host_list
    • First observedvibecloud_app_list
    • First observedvibecloud_app_logs
    • First observedvibecloud_create_database
    • First observedvibecloud_create_vps
    • First observedvibecloud_credit_redeem
    • First observedvibecloud_invoice_list
    • First observedvibecloud_invoice_pdf
    • First observedvibecloud_job_status
    • First observedvibecloud_link
    • First observedvibecloud_list_services
    • First observedvibecloud_packages
    • First observedvibecloud_plan_list
    • First observedvibecloud_prices
    • First observedvibecloud_rebuild
    • First observedvibecloud_start
    • First observedvibecloud_stop
    • First observedvibecloud_subscription_list
    • First observedvibecloud_subscription_update

TDQS

C2.8/5.0
Disambiguation1/5

The set is dominated by duplicate compatibility aliases (vibecloud_* mirroring cloud_*), and several tools overlap in purpose (cloud_services vs cloud_services_list, cloud_whoami/monapay_whoami/monapay_me, agent_deploy/cloud_agent_deploy). An agent cannot reliably choose between canonical tools and their aliases.

Naming Consistency3/5

Most tools follow a readable snake_case prefix + verb_noun convention (cloud_app_*, monapay_*, mail_*). However, names are not consistent: cloud_services_list vs cloud_services, cloud_vps_create vs cloud_service_start, and aliases like vibecloud_create_vps vs cloud_vps_create create mixed conventions.

Tool Count1/5

135 tools is an extreme number for any MCP server, even after accounting for the many vibecloud_* alias duplicates. The size forces an agent to scan dozens of near-duplicate entries for every task, making the surface impractical.

Completeness3/5

The payment and email sub-domains have strong coverage (checkouts, QR, webhooks, keys, domains, templates, suppressions). But the cloud resource lifecycle has notable gaps: VPS/databases can be created, started, stopped, and rebuilt but not updated or deleted, and cloud_agent_deploy is only a stub.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/themonagroup/monacloud-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server