Pod Management
list_pods
List all pods for the authenticated team. Parameters: None Returns: Array of pod objects with name, status, preset, plan, region, URL, and resource details. Example prompt: “Show me all my pods”get_pod
Get details of a specific pod by name.
Returns: Full pod object including status, IP, domain, preset, plan, SSH info, and resource allocation.
Example prompt: “What’s the status of my-api?“
create_pod
Create a new pod. Billing checks (payment method, subscription) are enforced automatically.
Returns: Created pod object.
Example prompt: “Create a Python pod called data-api on the build plan”
manage_pod
Start, stop, restart, reload, or delete a pod.
Returns: Updated pod object, reload status with health check, or deletion confirmation.
The reload action is the most powerful — it:
- Auto-starts the pod if stopped
- Installs dependencies (
npm install,pip install,composer install) - Detects entry points and frameworks (gunicorn, Express, Laravel)
- Restarts application services
- Runs a health check and returns service status
change_plan
Upgrade or downgrade a pod’s plan. Adjusts CPU, memory, and disk to the target plan’s limits.
A downgrade is rejected if the pod’s current disk usage would exceed the smaller plan’s quota — free up space first. Use
list_plans to see the limits and price of each plan.
Returns: Updated pod object with the new CPU, memory, and disk allocation.
Example prompts: “Upgrade my-api to the grow plan” · “Move data-api down to build”
File Operations
list_files
List files in a directory inside a pod.
Returns: Array of file entries with name, permissions, size, and
is_dir flag.
Example prompt: “Show me the files in my-api”
read_file
Read the contents of a file inside a pod.
Returns: File content as text.
Example prompt: “Show me the package.json in my-api” or “Read /home/instapod/app/index.js”
write_file
Write content to a file inside a pod. Creates the file and parent directories if they don’t exist.
Returns: Confirmation with saved path.
Example prompt: “Create an index.js in my-api that serves a hello world Express app”
Files are written as the
instapod user. Paths must be within /home/instapod, /var/www, or /tmp.Command Execution
exec_command
Run a shell command inside a pod. Runs as theinstapod user (same as SSH access).
Returns: Command output, exit code, and any error.
Example prompt: “Run
ls -la ~/app in my-api” or “Install express in my-api with npm”
Logs
get_logs
Get application logs from a pod via journalctl.
Returns: Log output as text.
Example prompt: “Show me the logs for my-api” or “Get the last 50 nginx logs from my-app”
Catalog
list_presets
List available pod presets. Parameters: None
Example prompt: “What presets are available?“