# create_instance

Create a new Google Compute Engine virtual machine (VM) instance. Requires project, zone, and instance name as input. If machine_type is not provided, it defaults to e2-medium. If image_project and image_family are not provided, it defaults to debian-12 image from debian-cloud project. guest_accelerator and maintenance_policy can be optionally provided. Proceed only if there is no error in response and the status of the operation is DONE without any errors. To get details of the operation, use the get_zone_operation tool.

Agent View of the PolicyLayer registry record for `create_instance`. HTML page: https://policylayer.com/tools/com-googleapis-compute-mcp/create-instance

## Facts

- Tool: `create_instance`
- Server: Mcp (`https://compute.googleapis.com/mcp`) — https://policylayer.com/tools/com-googleapis-compute-mcp.md
- Homepage: https://github.com/https://compute.googleapis.com/mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 8 (3 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | Required. Identifier. The instance name. |
| `zone` | string | yes | Required. The zone of the instance. |
| `project` | string | yes | Required. Project ID for this request. |
| `imageFamily` | string | no | Optional. The image family of the instance. |
| `machineType` | string | no | Optional. The machine type of the instance. |
| `imageProject` | string | no | Optional. The image project of the instance. |
| `guestAccelerators` | array | no | Optional. The list of attached accelerators. Each entry specifies the accelerator type (short name or full/partial URL, e.g., 'nvidia-tesla-p4') and the count. |
| `maintenancePolicy` | string | no | Optional. The maintenance policy option for the instance. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_instance",
    "arguments": {
      "name": "<name>",
      "zone": "<zone>",
      "project": "<project>"
    }
  }
}
```

## Why create_instance is rated Medium

Creating a VM instance is a reversible write operation—instances can be deleted or recreated. While it has significant blast radius (spinning up cloud resources with potential cost implications), it does not irreversibly destroy data, execute arbitrary code/commands, or transfer money directly.

From the tool's own definition: "Tool description states it will 'Create a new Google Compute Engine virtual machine (VM) instance' with required inputs for project, zone, and instance name. This is a creation operation that modifies cloud infrastructure state."

## Use case

AI agents use create_instance to create or update resources in Mcp, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Mcp environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Mcp:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "create_instance": {
      "limits": [
        {
          "counter": "create_instance_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Mcp (28)

- `delete_instance` — Destructive — https://policylayer.com/tools/com-googleapis-compute-mcp/delete-instance.md
- `reset_instance` — Execute — https://policylayer.com/tools/com-googleapis-compute-mcp/reset-instance.md
- `start_instance` — Execute — https://policylayer.com/tools/com-googleapis-compute-mcp/start-instance.md
- `stop_instance` — Execute — https://policylayer.com/tools/com-googleapis-compute-mcp/stop-instance.md
- `get_commitment_basic_info` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/get-commitment-basic-info.md
- `get_disk_basic_info` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/get-disk-basic-info.md
- `get_disk_performance_config` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/get-disk-performance-config.md
- `get_instance_basic_info` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/get-instance-basic-info.md
- `get_instance_group_manager_basic_info` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/get-instance-group-manager-basic-info.md
- `get_instance_template_basic_info` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/get-instance-template-basic-info.md
- `get_instance_template_properties` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/get-instance-template-properties.md
- `get_reservation_basic_info` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/get-reservation-basic-info.md
- `get_reservation_details` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/get-reservation-details.md
- `get_zone_operation` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/get-zone-operation.md
- `list_accelerator_types` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-accelerator-types.md
- `list_commitment_reservations` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-commitment-reservations.md
- `list_commitments` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-commitments.md
- `list_disks` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-disks.md
- `list_images` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-images.md
- `list_instance_attached_disks` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-instance-attached-disks.md
- `list_instance_group_managers` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-instance-group-managers.md
- `list_instance_templates` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-instance-templates.md
- `list_instances` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-instances.md
- `list_machine_types` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-machine-types.md
- `list_managed_instances` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-managed-instances.md
- `list_reservations` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-reservations.md
- `list_snapshots` — Read — https://policylayer.com/tools/com-googleapis-compute-mcp/list-snapshots.md
- `set_instance_machine_type` — Write — https://policylayer.com/tools/com-googleapis-compute-mcp/set-instance-machine-type.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-googleapis-compute-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-googleapis-compute-mcp
