monacloud-mcp
OfficialAllows creating and managing MongoDB databases through MONA Cloud compute, including listing and lifecycle operations such as start, stop, and rebuild.
Allows creating and managing MySQL databases through MONA Cloud compute, including listing and lifecycle operations such as start, stop, and rebuild.
Allows creating and managing PostgreSQL databases through MONA Cloud compute, including listing and lifecycle operations such as start, stop, and rebuild.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@monacloud-mcp Deploy this project to MONA Cloud using the current directory"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
monacloud-mcp
MCP server for MONA Cloud: one MONA Pass login and one VND wallet to deploy apps, run VPS, databases and Base projects, manage domains, accept payments with MONA Pay, send email with MONA Mail and browse MONA Agent templates from Claude Code, Codex, Cursor or any MCP client.
Install
Requires Node.js 20 or later.
Sign in once with the OAuth device flow:
npx -y monacloud-mcp loginThe command prints a URL on pass.monacloud.vn and a device code. After you confirm, the refresh token is stored in ~/.config/monacloud/token.json (directory mode 0700, file mode 0600). The server refreshes access tokens automatically and never logs them.
npx -y monacloud-mcp whoami # show the signed-in MONA Pass profile
npx -y monacloud-mcp logout # remove stored tokens and linked credentialsDomain search and reservation work without signing in.
Claude Code
claude mcp add monacloud -- npx -y monacloud-mcpCodex (~/.codex/config.toml)
[mcp_servers.monacloud]
command = "npx"
args = ["-y", "monacloud-mcp"]Cursor (.cursor/mcp.json)
{
"mcpServers": {
"monacloud": {
"command": "npx",
"args": ["-y", "monacloud-mcp"]
}
}
}Remote endpoint
A hosted Streamable HTTP endpoint is available at https://mcp.monacloud.vn/mcp. Clients that support remote MCP servers (Claude.ai custom connectors, Cursor, Codex, ChatGPT developer mode) open MONA Pass to sign in on first use. See docs/remote.md.
Related MCP server: AgentPay
Quick start
Ask your agent, for example: "Deploy this project to MONA Cloud from the current directory."
A typical run:
cloud_app_detect({ local_dir: "/absolute/path/to/project" }) // offline: stack, port, start command, env names
cloud_app_create({ local_dir: "/absolute/path/to/project", name: "shop", sandbox: true }) // estimate only
// after the user approves the cost
cloud_app_create({ local_dir: "/absolute/path/to/project", name: "shop" })
cloud_app_domain_add({ app_id: "<app_id>", host: "shop.example.vn" }) // returns CNAME instructionsThe upload is a ZIP of up to 80 MiB. It respects .gitignore/.dockerignore and excludes .env*, *.pem, .git, node_modules and symlinks. Git repositories can be deployed with repo_url instead of local_dir. Details: docs/local-deploy.md.
If the wallet balance is too low, the agent calls cloud_topup(amount). The response includes qr_ascii (a VietQR code drawn in the terminal), qr_file (PNG), qr_url, bank, account number, amount and transfer note. The user scans it with a banking app and the agent polls cloud_topup_status(topup_id) until it is paid.
Usage
Tool names use snake_case. Most cloud_* tools also have a vibecloud_* alias with the same schema for older prompts. The groups below show representative tools; your MCP client lists the full set.
Apps and deploy
cloud_app_detect,cloud_app_create,cloud_app_deploy,cloud_app_list,cloud_app_get,cloud_app_logs,cloud_app_env_set,cloud_app_domain_add,cloud_app_delete,cloud_app_host_listVPS and services:
cloud_vps_create(hourly or monthly byplan_code),cloud_services_list,cloud_service_start,cloud_service_stop,cloud_service_rebuild,cloud_job_statusLong jobs wait up to 600 seconds; pass
wait: falseand pollcloud_job_statusif your client has a short timeout.
Databases and Base (beta)
cloud_db_create: MongoDB, PostgreSQL or MySQL.cloud_base_create,cloud_base_list,cloud_base_get,cloud_base_credentials,cloud_base_delete: Base projects (Postgres with API keys and a studio URL) on the same account and wallet as your apps.cloud_base_credentialsreturnsanon_key,service_keyanddb_url; treat them as secrets.
Domains
Search and price lookup (no login needed):
cloud_domain_search,cloud_domain_suggest,cloud_domain_tlds,cloud_domain_tld_groupsPurchase:
cloud_domain_buy(signed in), orcloud_domain_reserve→cloud_domain_reserve_status→cloud_domain_claimfor users without an account yet;cloud_domain_reserve_releasefrees a holdRegistrant and
.vnverification:cloud_domain_registrant_get,cloud_domain_registrant_set,cloud_domain_verify_start,cloud_domain_verify_status,cloud_domain_waitManagement:
cloud_domain_list,cloud_domain_renew,cloud_domain_dns_list/_add/_update/_delete,cloud_domain_ns_set,cloud_domain_attach(point a domain at an app with SSL),cloud_domain_health,cloud_domain_webhook_set
Wallet and billing
cloud_whoami,cloud_balance,cloud_ledger,cloud_usage,cloud_servicescloud_topup,cloud_topup_status,cloud_credit_redeemcloud_prices,cloud_packages,cloud_plan_list,cloud_subscription_list,cloud_subscription_update,cloud_invoice_list,cloud_invoice_pdfSpend controls:
cloud_budget_set,cloud_budget_get,cloud_token_limitReferral:
cloud_affiliate_link,cloud_affiliate_stats,cloud_affiliate_claim
Before a paid compute action the server checks the wallet balance (cloud_service_stop is never blocked). HTTP 402 insufficient_funds and 402 budget_exceeded are returned as JSON with code, message, next_step and request_id so the agent can top up or raise the budget and retry.
MONA Pay
All tools from monapay-mcp are re-exported (dependency ^0.5.5), for example monapay_create_qr, monapay_create_checkout, monapay_link_bank_start, monapay_list_transactions, monapay_create_webhook, monapay_test_webhook and monapay_verify_signature. monapay_link exchanges the MONA Pass session for MONA Pay credentials and caches them in ~/.config/monacloud/links.json.
MONA Mail
mail_* tools use the same MONA Pass session; the Mail account is created on first request.
Sending:
mail_send(supportssandbox: true),mail_status,mail_list,mail_stats,mail_template_createDomains:
mail_domain_add,mail_domain_verify,mail_domain_cloudflare,mail_domains_listAPI keys for your app:
mail_api_key_create,mail_api_keys_list,mail_api_key_revokeWebhooks and suppressions:
mail_webhook_create,mail_webhooks_list,mail_webhook_test,mail_suppressions_list,mail_suppression_removeAgent inboxes:
mail_inbox_create,mail_inbox_list,mail_inbox_messages,mail_inbox_message,mail_inbox_reply,mail_inbox_waitAccount and plans:
mail_account,mail_plans,mail_plan_set
Every POST sends an Idempotency-Key (from idempotency_key or generated). API keys are returned once; write them to the app's .env as MONAMAIL_API_KEY.
MONA Agent templates
agent_templates_list: readsMONACLOUD_TEMPLATES_DIRfirst, then the public mona-agent-templates catalog, then a built-in fallback.agent_templates_get(template): returns the template files (README.md,AGENTS.md,tools.json,deploy.md,CHECKLIST.md, skills).agent_deploy/cloud_agent_deploy: placeholder that currently returnsagent_runtime_pending.
Resources and prompts
monacloud://llms: machine-readable description of the MONA Cloud stack.monacloud://status: aggregated health of MONA Pass, Billing, compute, MONA Pay and MONA Mail.Prompts:
dung-app-ban-hang-monacloud(VPS, database, payments, webhook, deploy),gui-mail-otp-monamail(OTP email setup),mua-ten-mien-monacloud(domain purchase).
Sandbox
Pass sandbox: true to cloud_vps_create, cloud_db_create, cloud_service_start, cloud_service_rebuild, cloud_app_create, cloud_base_create or cloud_agent_deploy, or set MONACLOUD_SANDBOX=1, to simulate a call. Sandbox skips the balance check, creates no real infrastructure, does not charge the wallet and returns sandbox: true with a cost estimate.
Configuration
Variable | Default | Purpose |
| MONA Pass access token or PAT; takes precedence over the token store (useful in CI) | |
|
| |
|
| OIDC issuer |
|
| Billing and wallet API |
|
| Compute API |
|
| MONA Pay API |
|
| MONA Mail API |
|
| Console URL returned for human steps |
|
| Token and link cache directory |
|
| Local agent template catalog |
| mona-agent-templates on GitHub | Remote catalog; set to an empty string to disable |
Legacy variables (VIBECLOUD_API, VIBECLOUD_API_URL, VIBECLOUD_API_TOKEN, MONAPAY_CLIENT_ID, MONAPAY_CLIENT_SECRET, MONAPAY_LINK_PATH, VIBECLOUD_LINK_PATH) are still read for compatibility.
Development
npm install
npm run build
npm testTests use the Node.js built-in runner, a real stdio MCP transport and local HTTP mocks; they make no Internet calls.
To self-host the remote server, see deploy/remote/README.md.
Website: monacloud.vn.
License
MIT
MONA Cloud MCP is part of MONA Cloud by The MONA Group.
Available Tools
186 toolsagent_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.
Inputs: template (required).
agent_templates_getChi tiết MONA Agent templateBRead-onlyIdempotent
Đọc README, AGENTS.md, tools, deploy, checklist và skills của một template.
Inputs: template (required).
agent_templates_listCatalog MONA AgentBRead-onlyIdempotent
Đọ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.
Inputs: no named parameters.
cloud_affiliate_claimCông cụ MONA affiliate claimC
Gắn mã giới thiệu vào tài khoản hiện tại trong thời hạn cho phép. / Claim a referral code for the current account.
Inputs: code (required).
cloud_affiliate_linkCông cụ MONA affiliate linkARead-onlyIdempotent
Lấy link giới thiệu MONA Cloud và mức chia sẻ doanh thu để người dùng duyệt trước khi đăng. / Get the MONA Cloud referral link and revenue-share rates.
Inputs: no named parameters.
cloud_affiliate_statsCông cụ MONA affiliate statsARead-onlyIdempotent
Đọc thống kê, số dư có thể nhận và các hoa hồng gần nhất. / Read affiliate stats, payout availability and recent commissions.
Inputs: limit, status.
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í.
Inputs: template (required), sandbox.
cloud_app_createCông cụ MONA 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. Cần DB/Supabase? cloud_base_create (beta) — chung account/ví MONA Cloud, khớp app deploy. Sau khi app có URL, CHỦ ĐỘNG hỏi tên miền riêng: human đã có domain → cloud_app_domain_add (CNAME); chưa có → cloud_domain_search gợi 3–5 đuôi (.vn trước nếu khách Việt) kèm giá VND, hỏi xác nhận chính tả + duyệt tiền → cloud_domain_buy (đã login) hoặc cloud_domain_reserve (chưa login: QR + claim_url) → cloud_domain_attach trỏ DNS + SSL. Human đăng ký MONA Pass bằng device flow một lần; hết credit 20k thì AI gọi cloud_topup và in QR (qr_ascii) ngay trong terminal, human chỉ quét bằng app ngân hàng; 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, create an optional Base, return URL, then attach an optional domain.
Inputs: env, name, port, wait, +10 more.
cloud_app_deleteCông cụ MONA app deleteBDestructiveIdempotent
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.
Inputs: app_id (required), sandbox.
cloud_app_deployCông cụ MONA 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.
Inputs: app_id (required), wait, sandbox, local_dir, +2 more.
cloud_app_detectCông cụ MONA app detectBRead-onlyIdempotent
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.
Inputs: local_dir (required).
cloud_app_domain_addCông cụ MONA app domain addA
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 human ĐÃ có, trả hướng dẫn CNAME từ API; chờ DNS trước kiểm HTTPS. Human chưa có domain → dùng cloud_domain_search/cloud_domain_reserve/cloud_domain_buy rồi cloud_domain_attach (mua .vn/.com bằng VND ngay trong phiên). / Attach an existing custom domain; to buy one use cloud_domain_*.
Inputs: host (required), app_id (required), sandbox.
cloud_app_env_setCông cụ MONA app env setBIdempotent
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.
Inputs: env (required), app_id (required), sandbox.
cloud_app_getCông cụ MONA app getBRead-onlyIdempotent
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.
Inputs: app_id (required), sandbox.
cloud_app_host_listCông cụ MONA app host listARead-onlyIdempotent
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.
Inputs: sandbox.
cloud_app_listCông cụ MONA app listCRead-onlyIdempotent
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.
Inputs: sandbox.
cloud_app_logsCông cụ MONA app logsCRead-onlyIdempotent
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.
Inputs: app_id (required), sandbox, deployment.
cloud_balanceSố dư ví MONA CloudARead-onlyIdempotent
Đọc số dư ví VND chung trước khi tạo tài nguyên có phí.
Inputs: no named parameters.
cloud_base_createCông cụ MONA base createB
Ước tính, kiểm ví, tạo Base và poll job tới hoàn tất; sandbox chỉ trả ước tính. / Estimate, create and wait for the Base job. Base beta = thay Supabase, chung account/ví MONA Cloud. / Beta Supabase replacement on the shared MONA Cloud account and wallet.
Inputs: cpu, ram_gb, disk_gb, sandbox, +2 more.
cloud_base_credentialsCông cụ MONA base credentialsBRead-onlyIdempotent
Đọc anon_key, service_key và db_url. Bí mật, không log; lưu thẳng vào secret store hoặc .env không commit. / Reveal credentials once and keep them secret. Base beta = thay Supabase, chung account/ví MONA Cloud. / Beta Supabase replacement on the shared MONA Cloud account and wallet.
Inputs: base_id (required).
cloud_base_deleteCông cụ MONA base deleteCDestructiveIdempotent
Xoá Base beta đã được người dùng duyệt. / Delete an approved Base. Base beta = thay Supabase, chung account/ví MONA Cloud. / Beta Supabase replacement on the shared MONA Cloud account and wallet.
Inputs: base_id (required).
cloud_base_getCông cụ MONA base getCRead-onlyIdempotent
Đọc trạng thái và URL của một Base beta. / Inspect a Base. Base beta = thay Supabase, chung account/ví MONA Cloud. / Beta Supabase replacement on the shared MONA Cloud account and wallet.
Inputs: base_id (required).
cloud_base_listCông cụ MONA base listBRead-onlyIdempotent
Liệt kê Base beta của tài khoản hiện tại. / List Bases. Base beta = thay Supabase, chung account/ví MONA Cloud. / Beta Supabase replacement on the shared MONA Cloud account and wallet.
Inputs: no named parameters.
cloud_budget_getĐọc ngân sách MONA CloudBRead-onlyIdempotent
Liệt kê giới hạn và mức đã dùng theo kỳ.
Inputs: no named parameters.
cloud_budget_setĐặt ngân sách MONA CloudCIdempotent
Đặt giới hạn chi tiêu theo product, project hoặc token.
Inputs: scope (required), period (required), scope_id (required), limit_vnd (required).
cloud_credit_redeemCông cụ MONA credit redeemB
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.
Inputs: code (required).
cloud_db_createTạo database MONA CloudA
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í.
Inputs: app_name (required), cpu, engine, ram_gb, +3 more.
cloud_domain_attachGắn tên miền vào ứng dụngAIdempotent
Gắn tên miền vào app đã deploy. Tên miền .vn chưa active vẫn gọi được — attach đặt trước, server tự hoàn tất sau khi hồ sơ được duyệt và gửi webhook domain.status_changed. Dùng cloud_app_list để lấy app_id; domain_id là ID của domain row (từ cloud_domain_list).
Inputs: app_id (required), domain_id (required), sandbox.
cloud_domain_buyMua tên miềnA
Mua tên miền và trừ ví VND — làm trọn trong phiên; người dùng chỉ quét QR và xác nhận, không phải đăng ký trước hay tự làm trên web. Trước khi gọi: 1. cloud_domain_search để xem giá + còn trống. 2. Hỏi người dùng xác nhận chính tả tên miền (vd: "Đăng ký example.vn nhé?") → spelling_confirmed. WHOIS không sửa được sau khi mua. 3. Hỏi duyệt chi phí (giá từ search). 4. cloud_domain_registrant_set để lưu thông tin chủ thể (hỏi người dùng ngay trong phiên); .vn cần CCCD/MST. Khi gọi mà trả 402 insufficient_balance → gọi cloud_topup, IN NGUYÊN KHỐI qr_ascii (QR VietQR) cho người dùng quét bằng app ngân hàng NGAY trong terminal, chờ cloud_topup_status=paid rồi gọi lại cloud_domain_buy. Kết quả có suggested_next → gợi ý người dùng deploy app lên MONA Cloud (cloud_app_create) và gắn domain (cloud_domain_attach). .vn sau khi mua ở trạng thái pending_verification → dùng cloud_domain_verify_start (link eKYC/bản khai) rồi cloud_domain_wait. sandbox=true: giả lập 0đ, không mua thật. Người dùng CHƯA có tài khoản / login_required → KHÔNG bảo đi đăng ký; dùng cloud_domain_reserve thay cho tool này.
Inputs: name (required), spelling_confirmed (required), years, sandbox, +1 more.
cloud_domain_claimNhận reservation về tài khoản + mua (claim = đăng ký = trả tiền)A
Gắn reservation vào MONA Pass đang đăng nhập, kéo tiền đã chuyển (nếu có) về ví rồi MUA ngay. Cần đăng nhập (monacloud-mcp login) — lần đầu đăng nhập MONA Cloud tự tạo hồ sơ + ví, không có form đăng ký riêng. Idempotent: gọi lại khi trả 402 (ví chưa đủ → cloud_topup hoặc chờ tiền QR vào) hoặc 422 registrant_required (→ cloud_domain_registrant_set rồi claim lại; tiền vẫn nằm trong ví). Kết quả như cloud_domain_buy (order id, status, suggested_next).
Inputs: claim_token (required), reservation_id (required), registrant_id, marketing_consent.
cloud_domain_dns_addThêm bản ghi DNSB
Thêm 1 bản ghi DNS. Vd trỏ web: type=A, name=@, data=. Trỏ www: type=CNAME, name=www, data=. AI làm trọn.
Inputs: data (required), name (required), type (required), domain_id (required), +2 more.
cloud_domain_dns_deleteXoá bản ghi DNSCDestructiveIdempotent
Xoá 1 bản ghi DNS theo record_id.
Inputs: domain_id (required), record_id (required).
cloud_domain_dns_listXem bản ghi DNS của tên miềnARead-onlyIdempotent
Liệt kê bản ghi DNS (A/CNAME/MX/TXT...) của tên miền đăng ký tại MONA Cloud. domain_id lấy từ cloud_domain_list.
Inputs: domain_id (required).
cloud_domain_dns_updateSửa bản ghi DNSBIdempotent
Sửa 1 bản ghi DNS theo record_id (lấy từ cloud_domain_dns_list).
Inputs: data (required), name (required), type (required), domain_id (required), +3 more.
cloud_domain_healthKiểm tra sức khoẻ tên miềnBRead-onlyIdempotent
Kiểm tra hạn đăng ký, trạng thái hồ sơ, NS, SSL và cảnh báo tên miền đã mua.
Inputs: id (required).
cloud_domain_listDanh sách tên miền đã import/muaBRead-onlyIdempotent
Liệt kê tên miền đã đưa vào MONA Cloud (import + mua). sandbox=true → xem domain sandbox.
Inputs: sandbox.
cloud_domain_ns_setĐổi nameserver (NS) của tên miềnBIdempotent
Đổi NS cho tên miền (≥2). Vd giữ DNS ở MONA: ns1.mona.host, ns2.mona.host. Hoặc chuyển sang Cloudflare/nhà khác. AI làm hoàn toàn.
Inputs: ns_list (required), domain_id (required).
cloud_domain_registrant_getXem thông tin chủ thể đăng ký tên miềnARead-onlyIdempotent
Lấy thông tin chủ thể (registrant) đã lưu. Cần dữ liệu này để mua tên miền.
Inputs: no named parameters.
cloud_domain_registrant_setCập nhật thông tin chủ thể đăng ký tên miềnAIdempotent
Lưu thông tin chủ thể để đăng ký tên miền. HỎI NGƯỜI DÙNG cung cấp NGAY TRONG PHIÊN: họ tên, email, điện thoại, địa chỉ. Tên miền .vn cá nhân cần thêm CCCD 12 số + ngày sinh (DD/MM/YYYY) + giới tính; .vn tổ chức cần org_name + tax_code (MST) + representative. Lưu 1 lần, tái dùng cho các domain sau. Không tự bịa dữ liệu — thiếu trường nào thì hỏi đúng trường đó.
Inputs: email (required), phone (required), address (required), fullname (required), +10 more.
cloud_domain_renewGia hạn tên miền (trừ ví VND)A
Gia hạn tên miền đã mua qua MONA Cloud. LUÔN gọi dry_run=true trước để lấy price_vnd (đã VAT), HỎI người dùng duyệt số tiền, rồi gọi lại dry_run=false — lúc đó trừ ví VND và gia hạn thật ở registrar. 402 insufficient_balance → cloud_topup in QR cho người dùng quét, chờ paid rồi gọi lại. 502 retryable → tiền đang giữ chờ đối soát, đừng gọi lại liên tục; báo người dùng.
Inputs: id (required), billing_cycle (required), dry_run.
cloud_domain_reserveGiữ chỗ tên miền + QR trả tiền (không cần tài khoản)A
Giữ chỗ tên miền 30 phút cho người dùng CHƯA có MONA Pass (hoặc chưa login trên máy này) — không trừ tiền, không đăng ký thật, chỉ khoá tên trong hệ MONA Cloud. Dùng khi người dùng muốn mua ngay trong phiên mà không muốn "đi đăng ký" trước: bạn đã dựng app, chọn tên, chỉ cần người bấm. Bắt buộc hỏi người dùng: tên miền (xác nhận chính tả → spelling_confirmed), email, số điện thoại (kênh nhận link claim + hoá đơn). Hỏi thêm 1 câu nhẹ: "nhận thông báo ưu đãi MONA Cloud không?" → marketing_consent; không tick thì để false. Nếu người dùng đã đưa đủ thông tin chủ thể (.vn cần CCCD/MST) thì gửi luôn ở registrant — lúc claim khỏi hỏi lại. Kết quả: payment.qr_url (QR VietQR đúng số tiền) + claim_url + claim_token + guest_token (giữ lại để gọi cloud_domain_reserve_status). Đưa QR cho người dùng quét NGAY; tiền vào → hệ giữ cho reservation này. Sau đó người dùng mở claim_url: đăng nhập/đăng ký MONA Pass (Google/GitHub/email, 1 bước) → hệ tự lấy tiền + mua + tạo ví. Nếu người dùng ĐÃ có Pass trên máy này thì gọi thẳng cloud_domain_claim. Giữ chỗ chỉ trong hệ MONA Cloud (hold_scope=monacloud) — người ngoài vẫn có thể đăng ký tên đó ở registry khác trong 30 phút; nói rõ điều này nếu tên đẹp.
Inputs: name (required), email (required), phone (required), spelling_confirmed (required), +5 more.
cloud_domain_reserve_releaseNhả chỗ tên miền đã giữADestructiveIdempotent
Huỷ reservation chưa nhận tiền (người dùng đổi ý / chọn tên khác). Đã có tiền vào thì không huỷ được — dùng cloud_domain_claim.
Inputs: reservation_id (required), claim_token.
cloud_domain_reserve_statusTrạng thái giữ chỗ tên miềnARead-onlyIdempotent
Xem reservation đã nhận tiền chưa / đã claim chưa / còn hạn không. Guest truyền claim_token (hoặc guest_token) nhận từ cloud_domain_reserve; chủ reservation đã login thì không cần. Đọc next_step trong kết quả để biết bước kế.
Inputs: reservation_id (required), claim_token.
cloud_domain_searchTìm kiếm + báo giá tên miềnARead-onlyIdempotent
Kiểm tra tên miền còn trống và xem giá mua (VND, đã VAT). KHÔNG cần đăng nhập MONA Pass — gọi được ngay cả khi người dùng chưa có tài khoản; dùng trước khi mua/giữ chỗ để biết available/price.
Inputs: q (required), tlds, years.
cloud_domain_suggestGợi ý tên miền còn trốngARead-onlyIdempotent
Gợi ý những tên miền còn trống quanh một từ khoá, kèm giá VND đã gồm VAT. Từ khoá nhận tiếng Việt có dấu, tool tự bỏ dấu thành nhãn hợp lệ. Truyền industry (slug từ cloud_domain_tld_groups) để ưu tiên đuôi hợp ngành — vd quán cà phê sẽ ra .cafe và .coffee trước. Mọi kết quả đều đã tra trạng thái thật tại nhà đăng ký. Dùng khi tên người dùng muốn đã có người lấy, hoặc khi họ chưa nghĩ ra tên. Sau khi người dùng chọn thì gọi cloud_domain_buy (hoặc cloud_domain_reserve nếu chưa đăng nhập). Không cần đăng nhập.
Inputs: keyword (required), limit, industry, include_taken, +1 more.
cloud_domain_tld_groupsDanh mục đuôi tên miền theo ngànhARead-onlyIdempotent
Liệt kê các nhóm ngành của đuôi tên miền (Ăn uống, Công nghệ & AI, Quốc gia, Việt Nam...) kèm số lượng đuôi và khoảng giá VND mỗi nhóm. Gọi tool này TRƯỚC cloud_domain_tlds để biết slug ngành cần lọc. Không cần đăng nhập.
Inputs: no named parameters.
cloud_domain_tldsBảng giá đuôi tên miềnARead-onlyIdempotent
Bảng giá đầy đủ các đuôi tên miền MONA Domain bán được, giá VND đã gồm VAT — giá năm đầu (price_vnd, đã tính khuyến mãi nếu registry đang chạy) và giá gia hạn mỗi năm (renew_vnd). Lọc theo ngành (group, lấy slug từ cloud_domain_tld_groups), theo từ khoá (q), hoặc theo ngân sách (max_price_vnd). Dùng khi người dùng hỏi "có những đuôi nào", "đuôi nào rẻ", "đuôi nào hợp ngành X". Đuôi .vn có needs_verification=true nghĩa là cần hồ sơ xác thực chủ thể. Không cần đăng nhập.
Inputs: q, sort, group, limit, +3 more.
cloud_domain_verify_startBắt đầu nộp hồ sơ .vnA
Sinh bản khai đã điền sẵn và link upload hồ sơ .vn. Dùng sau khi mua tên miền .vn (status=pending_verification).
Inputs: id (required).
cloud_domain_verify_statusTrạng thái hồ sơ .vnBRead-onlyIdempotent
Kiểm tra trạng thái duyệt hồ sơ đăng ký .vn (profile_status từ MONA Host).
Inputs: id (required).
cloud_domain_waitChờ tên miền activeARead-onlyIdempotent
Long-poll cho đến khi tên miền chuyển sang active/failed (mặc định timeout=60s). Dùng sau cloud_domain_buy để chờ MONA Host xử lý.
Inputs: id (required), timeout.
cloud_domain_webhook_setĐăng ký webhook tên miềnAIdempotent
Đăng ký URL nhận sự kiện domain.status_changed (ký HMAC). Mỗi user 1 webhook; gọi lại để cập nhật.
Inputs: url (required), secret (required).
cloud_invoice_listCông cụ MONA invoice listBRead-onlyIdempotent
Đọc hoá đơn hàng tháng của tài khoản. / List monthly invoices.
Inputs: no named parameters.
cloud_invoice_pdfCông cụ MONA invoice pdfARead-onlyIdempotent
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.
Inputs: invoice_id (required).
cloud_job_statusTheo dõi job MONA CloudBRead-onlyIdempotent
Đọc job thật hoặc sandbox theo ID; API tự nhận diện sandbox nên không cần header.
Inputs: job_id (required), wait, sandbox, timeout_sec, +1 more.
cloud_ledgerSổ cái ví MONA CloudCRead-onlyIdempotent
Đọc các dòng nạp, trừ và hoàn tiền trong ledger.
Inputs: limit, cursor.
cloud_linkLiên kết MONA Cloud chuyển tiếpC
Xác nhận compute MONA Cloud nhận MONA Pass trực tiếp; chỉ đổi thành vc_live token khi upstream còn ở chế độ cũ.
Inputs: no named parameters.
cloud_open_consoleMở MONA Cloud ConsoleARead-onlyIdempotent
Trả URL console khi người dùng muốn tự xem hoá đơn hoặc quản lý tài khoản. Nạp ví KHÔNG cần console: dùng cloud_topup (QR in trong terminal).
Inputs: no named parameters.
cloud_packagesGói cấu hình MONA CloudBRead-onlyIdempotent
Liệt kê package_slug và cấu hình CPU/RAM/đĩa.
Inputs: no named parameters.
cloud_plan_listCông cụ MONA plan listARead-onlyIdempotent
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.
Inputs: cpu, ram_gb, disk_gb.
cloud_pricesBảng giá MONA CloudBRead-onlyIdempotent
Đọc đơn giá giờ hiện hành.
Inputs: no named parameters.
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í.
Inputs: service_id (required), sandbox.
cloud_servicesMọi dịch vụ đang chạyCRead-onlyIdempotent
Gom VPS/database MONA Cloud cùng tài khoản ảo và webhook MONA Pay.
Inputs: no named parameters.
cloud_services_listDanh sách service MONA CloudARead-onlyIdempotent
Liệt kê VPS/database; sandbox=true gộp cả service thử 0đ bằng API, không cần header.
Inputs: sandbox.
cloud_service_startstart service MONA CloudB
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í.
Inputs: service_id (required), sandbox.
cloud_service_stopstop service MONA CloudBDestructiveIdempotent
Dừng VPS/database MONA Cloud; luôn cho phép dừng để người dùng hạn chế chi phí.
Inputs: service_id (required), sandbox.
cloud_subscription_listCông cụ MONA subscription listBRead-onlyIdempotent
Đọc các gói đang dùng, kỳ gia hạn và auto-renew. / List subscriptions.
Inputs: no named parameters.
cloud_subscription_updateCông cụ MONA subscription updateADestructiveIdempotent
Đổ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.
Inputs: service_id (required), period, plan_code, auto_renew, +1 more.
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.
Inputs: period (required), spend_limit_vnd (required), token_id.
cloud_topupNạp ví bằng VietQR ngay trong terminalA
AI tự tạo yêu cầu nạp ví và nhận QR VietQR: qr_ascii (khối đầy, in thẳng trong Claude Code/Codex/Gemini; nền sáng dùng qr_ascii_light), qr_file (PNG trên máy), qr_url (ảnh). Người dùng chỉ quét bằng app ngân hàng. Tiền vào tự cộng ví; xác nhận bằng cloud_topup_status.
Inputs: amount (required), idempotency_key.
cloud_topup_statusTrạng thái yêu cầu nạp víARead-onlyIdempotent
Đọc trạng thái một yêu cầu nạp (pending/paid) sau khi người dùng quét QR, kèm số dư hiện tại. Dùng để chờ tiền vào rồi tiếp tục việc đang làm.
Inputs: topup_id (required).
cloud_usageChi phí MONA Cloud theo kỳBRead-onlyIdempotent
Đọc usage và tổng tiền theo tháng, có thể lọc sản phẩm.
Inputs: period (required), product.
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í.
Inputs: app_name (required), cpu, period, ram_gb, +5 more.
cloud_whoamiTài khoản MONA CloudBRead-onlyIdempotent
Xác minh MONA Pass hiện tại. / Return the current MONA Pass profile.
Inputs: no named parameters.
mail_accountTài khoản MONA MailBRead-onlyIdempotent
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.
Inputs: no named parameters.
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.
Inputs: mode (required), name (required), idempotency_key.
mail_api_key_revokeThu hồi API keyADestructiveIdempotent
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.
Inputs: key_id (required).
mail_api_keys_listDanh sách API keyARead-onlyIdempotent
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.
Inputs: no named parameters.
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.
Inputs: domain (required), idempotency_key.
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.
Inputs: api_token (required), domain_id (required), idempotency_key.
mail_domains_listDomain MONA MailARead-onlyIdempotent
Khi chọn địa chỉ gửi, xem domain và trạng thái xác minh. / Use to find verified sender domains.
Inputs: no named parameters.
mail_domain_verifyXác minh DNS domainB
Khi đã thêm DNS, kiểm DKIM và trạng thái domain. / Use after adding DNS records to verify the sender domain.
Inputs: domain_id (required), idempotency_key.
mail_inbox_batchTạo nhiều hộp agentA
Khi cần tạo nhiều địa chỉ một lần (ví dụ mỗi nhân viên một hộp), tạo hàng loạt trong quota gói; lỗi từng hộp không hủy cả batch. / Use to create many inboxes at once.
Inputs: agent_ids (required), mode, domain, forward_to.
mail_inbox_createTạo hộp thư agentA
Khi cần một địa chỉ email cho agent trực (đọc thư, trả lời), tạo hộp. Bỏ domain để dùng miền agent.monamail.vn (nhận ngay); truyền domain đã verify để có địa chỉ brand. / Use to create an inbox an AI agent can read and reply from.
Inputs: agent_id (required), domain.
mail_inbox_deleteXóa hộp agentADestructiveIdempotent
Khi hộp không còn dùng, xóa mềm; thư cũ còn đọc tới hết retention. / Use to soft-delete an inbox.
Inputs: inbox_id (required).
mail_inbox_getXem hộp agentBRead-onlyIdempotent
Khi cần địa chỉ và trạng thái của một hộp, đọc chi tiết. / Use to read one inbox.
Inputs: inbox_id (required).
mail_inbox_listDanh sách hộp agentARead-onlyIdempotent
Khi cần biết agent đang trực những hộp nào, liệt kê hộp còn hoạt động. / Use to list active agent inboxes.
Inputs: no named parameters.
mail_inbox_messageĐọc thư trong hộpBRead-onlyIdempotent
Khi cần nội dung đầy đủ, header và đính kèm của một thư, đọc chi tiết; lần đọc đầu đánh dấu đã xem. / Use to read a full inbox message before replying.
Inputs: inbox_id (required), message_id (required).
mail_inbox_messagesThư trong hộp agentBRead-onlyIdempotent
Khi trực hộp, liệt kê thư nhận; lọc seen=false để lấy thư chưa xử lý, phân trang bằng cursor. / Use to list messages an agent needs to handle.
Inputs: inbox_id (required), seen, limit, since, +1 more.
mail_inbox_replyTrả lời thư trong hộpA
Khi agent trả lời khách, gửi đúng thread (In-Reply-To, References) từ địa chỉ hộp; cần text hoặc html. Việc khó rút lại (hứa giá, chuyển tiền) thì báo người, đừng tự gửi. / Use to reply to an inbox message in-thread.
Inputs: inbox_id (required), message_id (required), html, text.
mail_inbox_updateCấu hình hộp agentBIdempotent
Khi cần đặt cách hộp xử lý thư: mode redirect (tự forward thư về email chủ) | store (chỉ lưu) | ai (để AI trực), địa chỉ forward_to, chat Telegram nhận báo, hoặc bật/tắt hộp. / Use to configure an inbox: redirect-forward email, Telegram chat, mode, active.
Inputs: inbox_id (required), mode, active, forward_to, +1 more.
mail_inbox_waitChờ thư trong hộpARead-onlyIdempotent
Khi cần chờ thư tới (ví dụ mã OTP hoặc thư khớp mẫu), chờ tối đa timeout giây; có thư khớp trả full nội dung + extracted_code, hết giờ trả 204. Gọi lại nếu cần chờ lâu hơn. / Use to wait for an OTP or a matching message.
Inputs: match (required), inbox_id (required), timeout.
mail_listDanh sách emailARead-onlyIdempotent
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.
Inputs: to, limit, since, status.
mail_plansGói MONA MailBRead-onlyIdempotent
Khi chọn gói gửi mail, đọc giá và quota hiện hành. / Use to compare current email plans.
Inputs: no named parameters.
mail_plan_setĐổi gói MONA MailBIdempotent
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.
Inputs: plan (required).
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.
Inputs: to (required), from (required), html, tags, +8 more.
mail_statsThống kê gửi emailBRead-onlyIdempotent
Khi đánh giá khả năng giao thư, đọc tỷ lệ delivered và bounce theo thời gian. / Use to review email delivery statistics.
Inputs: to, from.
mail_statusTrạng thái emailBRead-onlyIdempotent
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.
Inputs: email_id (required).
mail_suppression_removeGỡ suppression tài khoảnADestructiveIdempotent
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.
Inputs: email (required).
mail_suppressions_listĐịa chỉ ngừng gửiARead-onlyIdempotent
Khi thư bị suppressed, xem địa chỉ và lý do ngừng gửi. / Use to diagnose suppressed recipients.
Inputs: no named parameters.
mail_template_createTạo mẫu emailB
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.
Inputs: html (required), name (required), subject (required), text, +1 more.
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.
Inputs: url (required), events (required), idempotency_key.
mail_webhooks_listDanh sách webhook emailBRead-onlyIdempotent
Khi kiểm tra cấu hình sự kiện của app, liệt kê webhook. / Use to inspect registered email webhooks.
Inputs: no named parameters.
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.
Inputs: webhook_id (required), idempotency_key.
monapay_cancel_checkoutHuỷ phiên thanh toánADestructiveIdempotent
Huỷ checkout đang pending; checkout đã paid, expired hoặc cancelled không thể huỷ lại. / Cancel a pending checkout.
Inputs: checkout_id (required), idempotency_key.
monapay_cancel_qrHuỷ mã QRCDestructiveIdempotent
Huỷ một mã VietQR động đã tạo. / Cancel a dynamic QR.
Inputs: qr_code_id (required).
monapay_create_checkoutTạo link thu tiềnB
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.
Inputs: amount (required), order_code (required), return_url (required), sandbox, +8 more.
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.
Inputs: name (required), recipients (required), events, virtual_account_id.
monapay_create_qrTạo VietQR động cho đơn hàngC
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.
Inputs: amount (required), orderId (required), merchantId (required), ownerNumber (required), +9 more.
monapay_create_webhookTạo cấu hình webhookB
Đă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.
Inputs: name (required), webhook_url (required), auth_type, secret_key, +3 more.
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.
Inputs: group_id (required), friendly_name (required), events, is_active, +2 more.
monapay_delete_email_configXoá cấu hình thông báo emailBDestructiveIdempotent
Xoá vĩnh viễn một cấu hình email. / Permanently delete an email notification config.
Inputs: config_id (required).
monapay_delete_webhookXoá cấu hình webhookCDestructiveIdempotent
Xoá một webhook config. / Delete a webhook config.
Inputs: config_id (required).
monapay_delete_zalo_groupXoá nhóm ZaloBDestructiveIdempotent
Xoá một cấu hình thông báo nhóm Zalo.
Inputs: id (required).
monapay_email_logsLịch sử gửi emailARead-onlyIdempotent
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.
Inputs: page, limit, status, to_date, +3 more.
monapay_email_statsThống kê gửi emailBRead-onlyIdempotent
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.
Inputs: to_date, from_date.
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.
Inputs: name.
monapay_generate_webhook_snippetCode mẫu nhận webhookARead-onlyIdempotent
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.
Inputs: language (required).
monapay_get_checkoutLấy một phiên thanh toánARead-onlyIdempotent
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.
Inputs: checkout_id (required).
monapay_get_payment_profileLấy hồ sơ trang thanh toánBRead-onlyIdempotent
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.
Inputs: no named parameters.
monapay_linkLiên kết MONA Pay chuyển tiếpB
Tạm đổi MONA Pass thành client credential MONA Pay và cache cục bộ; bỏ khi MONA Pay nhận JWT trực tiếp.
Inputs: no named parameters.
monapay_link_bank_startBắt đầu nối ngân hàng ACB và gửi OTPA
Bước 1/4: đăng ký tài khoản ACB + VA. 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 OTP rồi mới gọi tool xác thực, không được tự đoán. / Step 1/4: register the ACB account and VA. The OTP is sent by the bank to the user’s phone; the agent MUST ASK the user before calling the verification tool and must never guess it.
Inputs: prefix (required), identifier (required), customer_type (required), description, +3 more.
monapay_link_bank_verify_otpXác thực OTP và tạo tài khoản ảo ACBA
Bước 2/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 2/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.
Inputs: code (required), acb_request_id (required).
monapay_list_bank_accountsDanh sách tài khoản ngân hàng đã nốiBRead-onlyIdempotent
Liệt kê tài khoản ngân hàng (ACB…) đã nối vào MONA Pay. / List linked bank accounts.
Inputs: no named parameters.
monapay_list_checkoutsDanh sách phiên thanh toánBRead-onlyIdempotent
Liệt kê checkout theo trạng thái, mã đơn, khoảng ngày và phân trang. / List and filter hosted checkouts.
Inputs: page, limit, status, to_date, +2 more.
monapay_list_email_configsDanh sách cấu hình emailBRead-onlyIdempotent
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.
Inputs: no named parameters.
monapay_list_email_suppressionsDanh sách email bị chặn gửiARead-onlyIdempotent
Liệt kê địa chỉ bị suppression do bounce, khiếu nại hoặc tắt tay. / List suppressed recipient addresses.
Inputs: no named parameters.
monapay_list_transactionsTra giao dịch tiền vàoARead-onlyIdempotent
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.
Inputs: virtual_account_number (required), page, limit.
monapay_list_virtual_accountsDanh sách tài khoản ảo (VA)CRead-onlyIdempotent
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.
Inputs: bank_account_id (required).
monapay_list_webhooksDanh sách cấu hình webhookBRead-onlyIdempotent
Liệt kê webhook đã cấu hình. / List webhook configs.
Inputs: no named parameters.
monapay_list_zalo_groupsDanh sách nhóm ZaloARead-onlyIdempotent
Liệt kê cấu hình thông báo nhóm Zalo; nhóm phải có bot Gấu Mona.
Inputs: no named parameters.
monapay_meHồ sơ tài khoản MONA PayBRead-onlyIdempotent
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.
Inputs: no named parameters.
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.
Inputs: virtual_account_id (required).
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.
Inputs: code (required), acb_request_id (required).
monapay_remove_email_suppressionGỡ chặn gửi tới một emailBDestructiveIdempotent
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.
Inputs: email (required).
monapay_resend_email_verificationGửi lại mã xác minh emailA
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.
Inputs: email (required), config_id (required).
monapay_retry_transactionGửi lại thông báo của một giao dịchC
Gửi lại webhook hoặc Telegram cho giao dịch đã có. / Re-send webhook/Telegram for a transaction.
Inputs: transaction_id (required), target_id, target_type.
monapay_rotate_keyXoay secret API key hiện tạiADestructive
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.
Inputs: no named parameters.
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.
Inputs: amount, description, virtual_account_number.
monapay_set_payment_profileThiết lập hồ sơ trang thanh toánBIdempotent
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.
Inputs: locale, hotline, logo_url, va_prefix, +11 more.
monapay_test_emailGửi thử thông báo emailB
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.
Inputs: config_id (required).
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.
Inputs: auth_type, secret_key, webhook_url.
monapay_test_zalo_groupGửi thử vào nhóm ZaloB
Gửi tin thử text thuần; nhóm phải có bot Gấu Mona vì Zalo không parse Markdown.
Inputs: id (required).
monapay_update_email_configSửa cấu hình thông báo emailAIdempotent
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.
Inputs: config_id (required), name, events, is_active, +2 more.
monapay_update_webhookSửa cấu hình webhookCIdempotent
Cập nhật webhook (URL, secret, bật/tắt). / Update a webhook config.
Inputs: config_id (required), name, auth_type, is_active, +5 more.
monapay_update_zalo_groupSửa nhóm ZaloBIdempotent
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.
Inputs: id (required), events, group_id, is_active, +3 more.
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.
Inputs: code (required), email (required), config_id (required).
monapay_verify_signatureKiểm chữ ký webhook (offline)BRead-onlyIdempotent
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.
Inputs: secret (required), raw_body (required), signature (required), timestamp (required), +2 more.
monapay_webhook_logsLịch sử gửi webhookCRead-onlyIdempotent
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.
Inputs: page, limit, status, to_date, +1 more.
monapay_webhook_statsThống kê webhookBRead-onlyIdempotent
Tỷ lệ thành công, P95, phân loại lỗi. / Webhook delivery stats.
Inputs: no named parameters.
monapay_whoamiKiểm tra kết nối MONA PayARead-onlyIdempotent
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.
Inputs: no named parameters.
monapay_zalo_group_logsLịch sử gửi nhóm ZaloBRead-onlyIdempotent
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.
Inputs: limit, status.
vibecloud_affiliate_claimCông cụ MONA affiliate claimB
Alias tương thích của cloud_affiliate_claim. / Compatibility alias. Gắn mã giới thiệu vào tài khoản hiện tại trong thời hạn cho phép. / Claim a referral code for the current account.
Inputs: code (required).
vibecloud_affiliate_linkCông cụ MONA affiliate linkARead-onlyIdempotent
Alias tương thích của cloud_affiliate_link. / Compatibility alias. Lấy link giới thiệu MONA Cloud và mức chia sẻ doanh thu để người dùng duyệt trước khi đăng. / Get the MONA Cloud referral link and revenue-share rates.
Inputs: no named parameters.
vibecloud_affiliate_statsCông cụ MONA affiliate statsBRead-onlyIdempotent
Alias tương thích của cloud_affiliate_stats. / Compatibility alias. Đọc thống kê, số dư có thể nhận và các hoa hồng gần nhất. / Read affiliate stats, payout availability and recent commissions.
Inputs: limit, status.
vibecloud_agent_deployAlias cũ của cloud_agent_deployB
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í.
Inputs: template (required), sandbox.
vibecloud_app_createCông cụ MONA app createB
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. Cần DB/Supabase? cloud_base_create (beta) — chung account/ví MONA Cloud, khớp app deploy. Sau khi app có URL, CHỦ ĐỘNG hỏi tên miền riêng: human đã có domain → cloud_app_domain_add (CNAME); chưa có → cloud_domain_search gợi 3–5 đuôi (.vn trước nếu khách Việt) kèm giá VND, hỏi xác nhận chính tả + duyệt tiền → cloud_domain_buy (đã login) hoặc cloud_domain_reserve (chưa login: QR + claim_url) → cloud_domain_attach trỏ DNS + SSL. Human đăng ký MONA Pass bằng device flow một lần; hết credit 20k thì AI gọi cloud_topup và in QR (qr_ascii) ngay trong terminal, human chỉ quét bằng app ngân hàng; 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, create an optional Base, return URL, then attach an optional domain.
Inputs: env, name, port, wait, +10 more.
vibecloud_app_deleteCông cụ MONA app deleteBDestructiveIdempotent
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.
Inputs: app_id (required), sandbox.
vibecloud_app_deployCông cụ MONA 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.
Inputs: app_id (required), wait, sandbox, local_dir, +2 more.
vibecloud_app_detectCông cụ MONA app detectARead-onlyIdempotent
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.
Inputs: local_dir (required).
vibecloud_app_domain_addCông cụ MONA 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 human ĐÃ có, trả hướng dẫn CNAME từ API; chờ DNS trước kiểm HTTPS. Human chưa có domain → dùng cloud_domain_search/cloud_domain_reserve/cloud_domain_buy rồi cloud_domain_attach (mua .vn/.com bằng VND ngay trong phiên). / Attach an existing custom domain; to buy one use cloud_domain_*.
Inputs: host (required), app_id (required), sandbox.
vibecloud_app_env_setCông cụ MONA app env setAIdempotent
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.
Inputs: env (required), app_id (required), sandbox.
vibecloud_app_getCông cụ MONA app getBRead-onlyIdempotent
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.
Inputs: app_id (required), sandbox.
vibecloud_app_host_listCông cụ MONA app host listBRead-onlyIdempotent
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.
Inputs: sandbox.
vibecloud_app_listCông cụ MONA app listBRead-onlyIdempotent
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.
Inputs: sandbox.
vibecloud_app_logsCông cụ MONA app logsBRead-onlyIdempotent
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.
Inputs: app_id (required), sandbox, deployment.
vibecloud_base_createCông cụ MONA base createB
Alias tương thích của cloud_base_create. / Compatibility alias. Ước tính, kiểm ví, tạo Base và poll job tới hoàn tất; sandbox chỉ trả ước tính. / Estimate, create and wait for the Base job. Base beta = thay Supabase, chung account/ví MONA Cloud. / Beta Supabase replacement on the shared MONA Cloud account and wallet.
Inputs: cpu, ram_gb, disk_gb, sandbox, +2 more.
vibecloud_base_credentialsCông cụ MONA base credentialsBRead-onlyIdempotent
Alias tương thích của cloud_base_credentials. / Compatibility alias. Đọc anon_key, service_key và db_url. Bí mật, không log; lưu thẳng vào secret store hoặc .env không commit. / Reveal credentials once and keep them secret. Base beta = thay Supabase, chung account/ví MONA Cloud. / Beta Supabase replacement on the shared MONA Cloud account and wallet.
Inputs: base_id (required).
vibecloud_base_deleteCông cụ MONA base deleteBDestructiveIdempotent
Alias tương thích của cloud_base_delete. / Compatibility alias. Xoá Base beta đã được người dùng duyệt. / Delete an approved Base. Base beta = thay Supabase, chung account/ví MONA Cloud. / Beta Supabase replacement on the shared MONA Cloud account and wallet.
Inputs: base_id (required).
vibecloud_base_getCông cụ MONA base getBRead-onlyIdempotent
Alias tương thích của cloud_base_get. / Compatibility alias. Đọc trạng thái và URL của một Base beta. / Inspect a Base. Base beta = thay Supabase, chung account/ví MONA Cloud. / Beta Supabase replacement on the shared MONA Cloud account and wallet.
Inputs: base_id (required).
vibecloud_base_listCông cụ MONA base listARead-onlyIdempotent
Alias tương thích của cloud_base_list. / Compatibility alias. Liệt kê Base beta của tài khoản hiện tại. / List Bases. Base beta = thay Supabase, chung account/ví MONA Cloud. / Beta Supabase replacement on the shared MONA Cloud account and wallet.
Inputs: no named parameters.
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í.
Inputs: app_name (required), cpu, engine, ram_gb, +3 more.
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í.
Inputs: app_name (required), cpu, period, ram_gb, +5 more.
vibecloud_credit_redeemCông cụ MONA 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.
Inputs: code (required).
vibecloud_invoice_listCông cụ MONA invoice listARead-onlyIdempotent
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.
Inputs: no named parameters.
vibecloud_invoice_pdfCông cụ MONA invoice pdfARead-onlyIdempotent
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.
Inputs: invoice_id (required).
vibecloud_job_statusAlias cũ của cloud_job_statusBRead-onlyIdempotent
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.
Inputs: job_id (required), wait, sandbox, timeout_sec, +1 more.
vibecloud_linkAlias cũ của cloud_linkA
Alias tương thích; dùng cloud_link cho tích hợp mới.
Inputs: no named parameters.
vibecloud_list_servicesAlias cũ của cloud_services_listARead-onlyIdempotent
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.
Inputs: sandbox.
vibecloud_packagesAlias cũ của cloud_packagesARead-onlyIdempotent
Alias tương thích; dùng cloud_packages cho tích hợp mới.
Inputs: no named parameters.
vibecloud_plan_listCông cụ MONA plan listARead-onlyIdempotent
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.
Inputs: cpu, ram_gb, disk_gb.
vibecloud_pricesAlias cũ của cloud_pricesARead-onlyIdempotent
Alias tương thích; dùng cloud_prices cho tích hợp mới.
Inputs: no named parameters.
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í.
Inputs: service_id (required), sandbox.
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í.
Inputs: service_id (required), sandbox.
vibecloud_stopAlias cũ của cloud_service_stopCDestructiveIdempotent
Alias tương thích; dùng cloud_service_stop cho tích hợp mới.
Inputs: service_id (required), sandbox.
vibecloud_subscription_listCông cụ MONA subscription listARead-onlyIdempotent
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.
Inputs: no named parameters.
vibecloud_subscription_updateCông cụ MONA subscription updateADestructiveIdempotent
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.
Inputs: service_id (required), period, plan_code, auto_renew, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 186 tools
Multiple alias pairs (cloud_* vs vibecloud_*) and overlapping tools like cloud_services vs cloud_services_list, plus monapay_me/monapay_whoami/cloud_whoami create real confusion. Descriptions note aliases, but the surface still presents several tools that appear to do the same thing.
Consistent snake_case with predictable prefix_action patterns across monapay_, cloud_, mail_, agent_, and vibecloud_ families. The mix of prefixes is domain-driven and readable, though the duplicate alias family adds minor redundancy.
186 tools is far beyond a well-scoped server; the surface includes dozens of alias duplicates and multiple unrelated domains. This massive count makes discovery and selection impractical.
The toolset covers a broad range of domains: cloud compute, databases, domains, apps, billing, payments, email, inbox, and agents, with CRUD and lifecycle operations. Some gaps may exist (e.g. detailed cloud app config), but no obvious dead ends for the stated purpose.
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
No-KYC VPS + per-second code sandboxes AI agents run over MCP — 75 tools, SDK, pay BTC/XMR/USDC/USDT
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn all-in-one MCP server providing complete AI agent capabilities including file operations, code execution (Python/Node.js), one-click web deployment with wildcard domain support, Excel/CSV processing, and image generation in isolated multi-tenant workspaces.133Apache 2.0
- AlicenseNot gradedqualityCmaintenanceMCP server for AgentPay — the payment gateway for autonomous AI agents. Fund a wallet once, give your agent the key, and it discovers, provisions, and pays for tool APIs on its own. One key, every tool.112 npm1MIT
- AlicenseCqualityDmaintenanceA production-ready MCP server providing comprehensive DevOps capabilities for the Internet Computer blockchain, enabling AI agents to authenticate, manage canisters, handle finances, and build/deploy projects.36MIT
- AlicenseAqualityDmaintenanceMCP server for deploying projects to multiple cloud platforms (Vercel, Railway, Neon, MongoDB Atlas, Docker) and running local dev servers, with orchestration for full-stack deployments.8MIT