VPS servers
Your own Ubuntu Linux server with root, the plan's resources and full control from the dashboard or over MCP.
- Category: Servers and infrastructure
- Status: Available
- Requirements: A company on ArduMaker with no overdue charges; Being a company admin to create, resize, start, stop or move the VPS; A plan available to the company (its
elegibilidadblock says so) - MCP tools (Read only):
listar_vps,listar_todos_los_vps,ver_vps,ver_estado_vps,listar_planes_vps,ver_opciones_vps,ver_funciones_vps,ver_funciones_por_sistema - MCP tools (Write or modify):
crear_vps,editar_vps,cambiar_plan_vps - MCP tools (Destructive):
controlar_vps
What can you do with it?
An ArduMaker VPS is a Linux server that belongs to the company: an isolated system container running Ubuntu 22.04, with root access and the resources of the chosen plan. Everything else is installed on top of it: apps, databases, Git deploys, services and scheduled tasks.
- Create a server choosing the plan, the location and the storage type (
nvme,ssdorhdd, depending on what the location offers). - Log in over SSH as
rootor asadmin(with sudo), with random passwords unique to that VPS. - Start, stop and restart the server, and move it to another plan (CPU, RAM and disk).
- Rename it, transfer it to another company and decide which members can see it (allowed and excluded lists).
- See its live status: CPU, memory, disk, uptime and running services.
- Know which features it supports given the operating system its agent reports.
When should you use it?
- You need a server with
rootto deploy an application, an API or a website. - You want to install PostgreSQL, MySQL, Redis, n8n or WordPress without maintaining the machine by hand.
- You want an AI agent to operate the infrastructure over MCP with the same permissions you have in the dashboard.
How does it work in ArduMaker?
Creating a VPS answers right away with the creating status. Provisioning runs in the background for a few minutes and can resume: if something is interrupted, it continues from the last saved status.
creating: the container is launched with Ubuntu 22.04 and the plan's CPU and memory limits; then the plan's disk size is applied to the root disk.create_api: the ArduMaker agent is installed inside; the platform reads the status and runs operations through it.assigning_port: the VPS gets its own DNS name and the private path to the agent is set up.updating_system:apt-get update,upgradeandautoremove, then a container restart.installing_base_tools:sudo,curl,openssh-server,ca-certificates,python3-venv,python3-pip, Node.js LTS with npm andnginx; a random password forrootand the SSH policy.creating_user: theadminuser with sudo and a random password that must be changed at first login.active: the VPS is ready. ArduMaker opens SSH for 6 hours and sends the welcome email with the server, port, user, initial password and a ready-to-pastesshcommand.
The platform can also create the VPS from an up-to-date base image. In that path the intermediate statuses are importing_base, customizing (new SSH host keys, its own random passwords, hostname) and verifying. If verification fails, the container is destroyed and created through the normal path: a half-built VPS is never delivered.
Every new VPS is born with the container permissions Docker needs (nesting and system call interception), without being privileged. The Docker daemon is not installed by itself: it is installed when you ask for it or when an app needs it. If the host does not accept those permissions, the VPS is created anyway, more restricted, and Docker shows as unsupported.
What actually changes?
| What | Where / how |
|---|---|
| System | Ubuntu 22.04 updated with apt-get upgrade |
| Tools | sudo, curl, openssh-server, python3-venv, python3-pip, Node.js LTS, npm and nginx |
root user | Random password stored encrypted; the first interactive SSH login asks for a new one |
admin user | With sudo and a random password expired from the start (chage -d 0) |
| SSH | Password and keys enabled; root may log in with a password according to the platform policy |
| Login banner | ArduMaker MOTD; Ubuntu's default MOTD is disabled |
| Web | nginx installed with its default configuration: it is the internal web server domains arrive at |
VPS statuses
| Status | Meaning |
|---|---|
creating … creating_user | Creation in progress (see the steps) |
active | Ready to use |
stopped | Stopped |
migrating | Being moved to another machine |
errored | Creation could not finish |
deleting / dead | Deletion in progress or finished |
Deletion and final copy
When a VPS is deleted a final copy is kept, visible and downloadable only by company admins. Its term depends on the reason: 90 days if it was deleted for non-payment; while the account stays open if the customer deleted it (who can ask for it to be erased); 30 days if the company was closed. Admins get an email 7 days before it is erased.
Diagram
- Request: dashboard or
crear_vps; answerscreating - ArduMaker backend: resumable creation queue
- Host: Ubuntu 22.04 container with the plan's CPU, RAM and disk
- ArduMaker agent: installed inside the VPS
- Update and tools: apt, Node.js, nginx, SSH
- Users:
rootandadminwith random passwords - active: SSH open for 6 h and welcome email
Expected result
The VPS shows as active in the dashboard and in listar_vps. ver_estado_vps returns, under system_status, CPU, memory, disk, uptime and services read from the server itself.
- To log in, use the
sshcommand from the welcome email while the 6-hour window is open. Afterwards it is reopened from the VPS port management. ver_funciones_vpsconfirms which features are available on that system before installing anything.
Errors and troubleshooting
| Symptom | Cause and what to do |
|---|---|
crear_vps answers 409 | The chosen location filled up between the lookup and the creation. Pick another one with ver_opciones_vps; do not retry the same. |
| The plan is listed but cannot be created | elegibilidad.puede is false and elegibilidad.codigo explains why (free server already used, school out of slots). Creating anyway fails with that code. |
empresa_en_mora | The company has an overdue charge: nothing new is created until it is settled. |
funcion_no_disponible | The feature does not run on that VPS's system (for example Docker on Ubuntu 16.04). Retrying does not help. |
| The agent cannot see the new VPS | The MCP connection is scoped to specific VPS: the owner has to add it to the connection's scope. |
Creation progress is followed with ver_vps (status field). If a creation call was cut off and you do not know whether it went through, repeat it with the same idempotency_key and the same arguments: it returns the original VPS instead of creating another one.
MCP access
The whole VPS lifecycle except deletion can be operated over MCP with the permissions of the person who authorized the agent. Full reference at /mcp/docs and in the /mcp/vps domain.
| Kind | Tools |
|---|---|
| Read | listar_vps, listar_todos_los_vps, ver_vps, ver_estado_vps, listar_planes_vps, ver_opciones_vps, ver_funciones_vps, ver_funciones_por_sistema |
| Modify (admins only) | crear_vps, editar_vps, cambiar_plan_vps |
| Destructive (admins only) | controlar_vps with stop or restart |
An agent authorized as read-only sees the read tools but not the ones that modify. Before crear_vps, the agent should check elegibilidad in listar_planes_vps and, if the location matters, ver_opciones_vps.