Skip to main content
The InstaPods MCP server exposes 12 tools that AI assistants can call. These cover pod management, file operations, command execution, and logs.

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.
NameTypeRequiredDescription
namestringYesPod 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.
NameTypeRequiredDescription
namestringYesPod name (DNS-safe, lowercase, max 63 chars)
presetstringYesstatic, php, nodejs, or python
planstringNoPlan slug (default: launch). Options: launch, build, grow, scale, turbo
regionstringNoRegion slug (auto-selected if omitted)
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.
NameTypeRequiredDescription
namestringYesPod name
actionstringYesstart, stop, restart, reload, or delete
Returns: Updated pod object, reload status with health check, or deletion confirmation. The reload action is the most powerful — it:
  1. Auto-starts the pod if stopped
  2. Installs dependencies (npm install, pip install, composer install)
  3. Detects entry points and frameworks (gunicorn, Express, Laravel)
  4. Restarts application services
  5. Runs a health check and returns service status
Example prompts: “Restart my-api” · “Reload my-app after I changed the code” · “Delete test-pod”

File Operations

list_files

List files in a directory inside a pod.
NameTypeRequiredDescription
namestringYesPod name
pathstringNoDirectory path (default: ~/app). Must be within /home/instapod, /var/www, or /tmp.
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.
NameTypeRequiredDescription
namestringYesPod name
pathstringYesAbsolute file path
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.
NameTypeRequiredDescription
namestringYesPod name
pathstringYesAbsolute file path
contentstringYesFile content to write
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 the instapod user (same as SSH access).
NameTypeRequiredDescription
namestringYesPod name
commandstringYesShell command to execute
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”
This tool executes arbitrary shell commands inside your pod. The AI assistant will typically ask for confirmation before running destructive commands.

Logs

get_logs

Get application logs from a pod via journalctl.
NameTypeRequiredDescription
namestringYesPod name
linesstringNoNumber of log lines (default: 100)
servicestringNoFilter by service name (e.g., app, nginx)
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
PresetStack
staticNginx
phpPHP 8.3 + Nginx
nodejsNode.js 20
pythonPython 3.12
Example prompt: “What presets are available?“

list_plans

List available pricing plans. Parameters: None Returns: Array of plans with slug, name, CPU, memory, storage, and price. Example prompt: “What plans do you have?“

list_regions

List available deployment regions. Parameters: None Returns: Array of regions with slug and server count. Example prompt: “What regions can I deploy to?”