Skills Biznet Gio Cloud Management
Manage Biznet Gio cloud infrastructure (servers, VMs, storage, IPs) via CLI and MCP server
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/anak10thn/biznetgio" ~/.claude/skills/openclaw-skills-biznet-gio-cloud-management && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/anak10thn/biznetgio" ~/.openclaw/skills/openclaw-skills-biznet-gio-cloud-management && rm -rf "$T"
manifest:
skills/anak10thn/biznetgio/SKILL.mdsource content
Biznet Gio Cloud Management - Agent Skill Guide
Skill Metadata
| Field | Value |
|---|---|
| Name | Biznet Gio Cloud Management |
| Description | Manage Biznet Gio cloud infrastructure (servers, VMs, storage, IPs) via CLI and MCP |
| Homepage | https://github.com/BiznetGIO/biznetgio-cli |
| npm (CLI) | @biznetgio/cli |
| npm (MCP) | @biznetgio/mcp |
| API Docs | https://api.portal.biznetgio.com/v1/openapi.json |
| License | MIT |
| Primary Credential | |
Required Environment Variables
| Variable | Required | Description |
|---|---|---|
| Yes | API token from Biznet Gio Portal. Sent as header on every request. Do not hardcode — always use env var. |
| No | Override API base URL. Defaults to . Useful for staging/dev environments. |
Required Binaries
| Binary | Version | Required | Description |
|---|---|---|---|
| >= 18 | Yes | Node.js runtime for the CLI and MCP server. |
| (bundled with node) | Yes | Fetches and runs from the npm registry without global installation. |
Runtime Note
This skill executes the npm package
@biznetgio/cli via npx, which downloads and runs code from the npm registry. The package is published under the @biznetgio npm scope by Biznet Gio. Source code is available at github.com/BiznetGIO/biznetgio-cli. If you require stronger guarantees, you can:
- Pre-install with
and verify the package before usenpm install -g @biznetgio/cli - Use the pre-built standalone binaries from the GitHub releases
- Pin to a specific version:
instead ofnpx @biznetgio/cli@1.0.0@latest - Run in a sandboxed environment
You are an agent that can manage Biznet Gio cloud infrastructure using the CLI tool
@biznetgio/cli and/or MCP server @biznetgio/mcp.
Important Instructions
- Always use
to run the CLI. No installation required.npx - Read-only commands run without confirmation. Commands like
,list
,detail
,products
,product-os
,product-ip
,state
,info
,usage
,regions
,openvpn
,vm-details
,url
,credential list
,bucket list
,object list
,keypair list
,snapshot list
, and other read-only queries can be executed directly without asking for user approval.disk list - Confirm before create, update, or delete actions. Before running any command that creates, modifies, or deletes a resource, show the user the full command with all values and ask for confirmation. The user may want to revise parameter values before execution.
- For destructive actions (delete, rebuild, state changes), double confirm. Clearly warn the user about the impact and ask explicitly: "Are you sure?"
- For create operations, list all parameters and let the user review and adjust before executing. Show product options, OS choices, and pricing when available.
How to Run
# With API key inline BIZNETGIO_API_KEY=<YOUR_KEY> npx @biznetgio/cli@latest <service> <action> [arguments] [options] # Or export the key first export BIZNETGIO_API_KEY=<YOUR_KEY> npx @biznetgio/cli@latest <service> <action> [arguments] [options] # Or pass API key as flag npx @biznetgio/cli@latest <service> <action> --api-key <YOUR_KEY> [arguments] [options]
- API Key: environment variable
(sent asBIZNETGIO_API_KEY
header), orx-token
flag--api-key - Base URL:
(override withhttps://api.portal.biznetgio.com/v1
env)BIZNETGIO_BASE_URL - Output format: default
, usetable
for JSON output--output json
Available Services
| Service | CLI Command | MCP Tool Prefix | Description |
|---|---|---|---|
| NEO Metal | | | Bare metal servers |
| Elastic Storage | | | Storage for bare metal |
| Additional IP | | | Additional IPs for bare metal |
| NEO Lite | | | Virtual machines (lightweight) |
| NEO Lite Pro | | | Virtual machines (pro-tier) |
| Object Storage | | | S3-compatible object storage |
General Pattern
npx @biznetgio/cli@latest <service> <action> [arguments] [options] npx @biznetgio/cli@latest <service> <subgroup> <action> [arguments] [options]
Global options:
--api-key <key>, --output table|json
Output Behavior
- Default: table — List data is displayed as formatted tables. Nested objects (billing, specs, options) are automatically flattened. Billing is summarized as
.price/mo
— Raw JSON from the API--output json
field..data- Primitive responses (e.g. delete, update-label) return plain text like
orsuccess
.true - Empty lists show
No data found.
Valid Enum Values
- Billing cycle (
):--cycle
(monthly),m
(quarterly),q
(semi-annual),s
(annual),a
(biennial),b
(triennial),t
,p4p5 - Metal states:
,on
,offreset - VM states (neolite/neolite-pro):
,stop
,suspend
,resume
,shutdown
,startreset - Object ACL:
,private
,public-read
,public-read-write
,authenticated-readlog-delivery-write - Console password: must match
(min 8 chars, uppercase + lowercase + digit, alphanumeric only — no special characters)^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$ - Label: max 16 characters
Workflow & Best Practices
Before Creating Resources
-
List products first to get valid
values:product_idnpx @biznetgio/cli@latest metal products npx @biznetgio/cli@latest neolite products npx @biznetgio/cli@latest object-storage products -
Check available OS for a product:
npx @biznetgio/cli@latest metal product-os <product_id> npx @biznetgio/cli@latest neolite product-os <product_id> -
Check available keypairs (or create one first):
npx @biznetgio/cli@latest neolite keypair list npx @biznetgio/cli@latest neolite keypair create --name "my-key" -
Check IP availability (neolite):
npx @biznetgio/cli@latest neolite product-ip <product_id>
Creating Resources
# Create a bare metal server npx @biznetgio/cli@latest metal create \ --product-id <id> --cycle m --keypair-id <id> \ --label "my-server" --public-ip 1 --select-os "ubuntu-22.04" # Create a NEO Lite instance npx @biznetgio/cli@latest neolite create \ --product-id <id> --cycle m --select-os "Ubuntu-20.04" \ --keypair-id <id> --ssh-and-console-user myuser \ --console-password TestPass123 # Create a NEO Lite Pro instance npx @biznetgio/cli@latest neolite-pro create \ --product-id <id> --cycle m --select-os "Ubuntu-20.04" \ --keypair-id <id> --ssh-and-console-user myuser \ --console-password TestPass123 # Create object storage (label max 16 chars) npx @biznetgio/cli@latest object-storage create \ --product-id <id> --cycle m --label "my-storage" # Create elastic storage (requires metal_account_id) npx @biznetgio/cli@latest elastic-storage create \ --product-id <id> --cycle m --storage-name "data-vol" \ --metal-account-id <id> # Create additional IP npx @biznetgio/cli@latest additional-ip create --product-id <id> --cycle m
Deleting Resources
npx @biznetgio/cli@latest metal delete <account_id> npx @biznetgio/cli@latest neolite delete <account_id> npx @biznetgio/cli@latest neolite-pro delete <account_id> npx @biznetgio/cli@latest elastic-storage delete <account_id> npx @biznetgio/cli@latest additional-ip delete <account_id> npx @biznetgio/cli@latest object-storage delete <account_id> npx @biznetgio/cli@latest object-storage bucket delete <account_id> <bucket_name> npx @biznetgio/cli@latest object-storage object delete <account_id> <bucket_name> <path> npx @biznetgio/cli@latest neolite snapshot delete <account_id> npx @biznetgio/cli@latest neolite disk delete <account_id> npx @biznetgio/cli@latest <service> keypair delete <keypair_id>
Managing Server State
# NEO Metal: on / off / reset npx @biznetgio/cli@latest metal set-state <account_id> on npx @biznetgio/cli@latest metal set-state <account_id> off # NEO Lite / Pro: start / stop / shutdown / suspend / resume / reset npx @biznetgio/cli@latest neolite set-state <account_id> start npx @biznetgio/cli@latest neolite set-state <account_id> stop npx @biznetgio/cli@latest neolite-pro set-state <account_id> shutdown
Object Storage Operations
# Credential management npx @biznetgio/cli@latest object-storage credential list <account_id> npx @biznetgio/cli@latest object-storage credential create <account_id> npx @biznetgio/cli@latest object-storage credential update <account_id> <access_key> --active npx @biznetgio/cli@latest object-storage credential delete <account_id> <access_key> # Bucket operations npx @biznetgio/cli@latest object-storage bucket list <account_id> npx @biznetgio/cli@latest object-storage bucket create <account_id> --name my-bucket npx @biznetgio/cli@latest object-storage bucket info <account_id> <bucket_name> npx @biznetgio/cli@latest object-storage bucket usage <account_id> <bucket_name> npx @biznetgio/cli@latest object-storage bucket set-acl <account_id> <bucket_name> --acl public-read npx @biznetgio/cli@latest object-storage bucket delete <account_id> <bucket_name> # Object operations npx @biznetgio/cli@latest object-storage object list <account_id> <bucket_name> npx @biznetgio/cli@latest object-storage object list <account_id> <bucket_name> <directory> npx @biznetgio/cli@latest object-storage object info <account_id> <bucket_name> <path> npx @biznetgio/cli@latest object-storage object download <account_id> <bucket_name> <object_name> npx @biznetgio/cli@latest object-storage object url <account_id> <bucket_name> <object_name> --expiry 3600 npx @biznetgio/cli@latest object-storage object copy <account_id> <bucket_name> <to_bucket> <object_name> npx @biznetgio/cli@latest object-storage object move <account_id> <bucket_name> <to_bucket> <object_name> npx @biznetgio/cli@latest object-storage object mkdir <account_id> <bucket_name> <directory> npx @biznetgio/cli@latest object-storage object set-acl <account_id> <bucket_name> <path> --acl private npx @biznetgio/cli@latest object-storage object delete <account_id> <bucket_name> <path>
Snapshot & Disk Management (NEO Lite / Pro)
# Snapshots npx @biznetgio/cli@latest neolite snapshot create <account_id> --cycle m npx @biznetgio/cli@latest neolite snapshot list npx @biznetgio/cli@latest neolite snapshot detail <account_id> npx @biznetgio/cli@latest neolite snapshot restore <account_id> npx @biznetgio/cli@latest neolite snapshot create-instance <snapshot_account_id> \ --product-id <id> --cycle m --keypair-id <id> --name "from-snap" \ --ssh-and-console-user myuser --console-password TestPass123 npx @biznetgio/cli@latest neolite snapshot delete <account_id> npx @biznetgio/cli@latest neolite snapshot products npx @biznetgio/cli@latest neolite snapshot product <product_id> # Additional disks npx @biznetgio/cli@latest neolite disk create \ --product-id <id> --cycle m --neolite-account-id <id> npx @biznetgio/cli@latest neolite disk list npx @biznetgio/cli@latest neolite disk detail <account_id> npx @biznetgio/cli@latest neolite disk upgrade <account_id> --additional-size 20 npx @biznetgio/cli@latest neolite disk delete <account_id> npx @biznetgio/cli@latest neolite disk products npx @biznetgio/cli@latest neolite disk product <product_id>
Keypair Management
# Available for: metal, neolite, neolite-pro npx @biznetgio/cli@latest <service> keypair list npx @biznetgio/cli@latest <service> keypair create --name "my-key" npx @biznetgio/cli@latest <service> keypair import --name "my-key" --public-key "ssh-rsa AAAA..." npx @biznetgio/cli@latest <service> keypair delete <keypair_id>
Upgrade & Scaling
# Upgrade neolite/neolite-pro storage npx @biznetgio/cli@latest neolite upgrade-storage <account_id> --disk-size 50 npx @biznetgio/cli@latest neolite-pro upgrade-storage <account_id> --disk-size 100 # Change package (upgrade plan) — check options first npx @biznetgio/cli@latest neolite change-package-options <account_id> npx @biznetgio/cli@latest neolite change-package <account_id> --new-product-id <id> # Upgrade elastic storage npx @biznetgio/cli@latest elastic-storage upgrade <account_id> --size 100 # Change elastic storage package npx @biznetgio/cli@latest elastic-storage change-package <account_id> --new-product-id <id> # Upgrade object storage quota npx @biznetgio/cli@latest object-storage upgrade-quota <account_id> --add-quota 50 # Migrate neolite to pro — check options first npx @biznetgio/cli@latest neolite migrate-to-pro-products <account_id> npx @biznetgio/cli@latest neolite migrate-to-pro <account_id> --neolitepro-product-id <id>
Rebuild / Reinstall OS
# Check available OS for rebuild npx @biznetgio/cli@latest metal rebuild-os <account_id> # Rebuild npx @biznetgio/cli@latest metal rebuild <account_id> --os "ubuntu-22.04" npx @biznetgio/cli@latest neolite rebuild <account_id> --select-os "Ubuntu-20.04" npx @biznetgio/cli@latest neolite-pro rebuild <account_id> --select-os "Ubuntu-20.04"
Update & Rename
# Update metal label (max 16 chars) npx @biznetgio/cli@latest metal update-label <account_id> --label "new-label" # Rename neolite/neolite-pro VM npx @biznetgio/cli@latest neolite rename <account_id> --name "new-name" npx @biznetgio/cli@latest neolite-pro rename <account_id> --name "new-name" # Change keypair npx @biznetgio/cli@latest neolite change-keypair <account_id> --keypair-id <id> npx @biznetgio/cli@latest neolite-pro change-keypair <account_id> --keypair-id <id>
Additional IP Assignment
# List and create IPs npx @biznetgio/cli@latest additional-ip list npx @biznetgio/cli@latest additional-ip regions npx @biznetgio/cli@latest additional-ip create --product-id <id> --cycle m # Assign IP to bare metal npx @biznetgio/cli@latest additional-ip assign <ip_account_id> --metal-account-id <metal_id> npx @biznetgio/cli@latest additional-ip assigns <ip_account_id> npx @biznetgio/cli@latest additional-ip assignments <metal_account_id> npx @biznetgio/cli@latest additional-ip assign-detail <ip_account_id> <metal_account_id> # Unassign npx @biznetgio/cli@latest additional-ip unassign <ip_account_id> <metal_account_id>
Detail & Info Commands
# Account details npx @biznetgio/cli@latest metal detail <account_id> npx @biznetgio/cli@latest neolite detail <account_id> npx @biznetgio/cli@latest neolite-pro detail <account_id> npx @biznetgio/cli@latest elastic-storage detail <account_id> npx @biznetgio/cli@latest additional-ip detail <account_id> npx @biznetgio/cli@latest object-storage detail <account_id> # VM details npx @biznetgio/cli@latest neolite vm-details <account_id> npx @biznetgio/cli@latest neolite-pro vm-details <account_id> # Server state npx @biznetgio/cli@latest metal state <account_id> # OpenVPN config npx @biznetgio/cli@latest metal openvpn
Destructive Actions - Use With Caution!
The following commands are destructive and cannot be undone. ALWAYS confirm with the user before running:
- All
commands (server, VM, storage, IP, bucket, object, snapshot, disk, keypair)delete
commands (reinstalls OS, wipes data)rebuild
(may cause downtime)set-state off/shutdown/reset
MCP Server Tools Reference
When using the MCP server, all endpoints are exposed as tools with naming convention
<service>_<action>. Examples:
| CLI Command | MCP Tool |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| |
Total: 131 tools available in the MCP server.
MCP server configuration for Claude Desktop / Claude Code:
{ "mcpServers": { "biznetgio": { "command": "npx", "args": ["-y", "@biznetgio/mcp@latest"], "env": { "BIZNETGIO_API_KEY": "your_api_key_here" } } } }
Troubleshooting
| Error | Solution |
|---|---|
| Set or use flag |
| API key is invalid or expired |
| Resource not found, check the account_id |
| Validation error — check password regex, label max 16 chars, required fields |
| Server error — retry or check if the resource exists |
| The list is empty, no resources of this type exist yet |