# create_shape

Creates a shape on a slide (batchUpdate createShape), optionally with its initial text in the same atomic batch. Types: text_box, rectangle, round_rectangle, ellipse, diamond, triangle, right_arrow, left_arrow, up_arrow, down_arrow, star, heart, cloud, callout — the API's other ~130 ShapeTypes go through batch_update. Position/size are in points ((0,0) is top-left; a default 16:9 slide is 720x405 pt); omitted geometry defaults to 300x80 pt at (50,50). Returns the shape's objectId in the reply. Fill/outline/shadow are not parameters here — style via batch_update updateShapeProperties; text styling via update_text_style.

Agent View of the PolicyLayer registry record for `create_shape`. HTML page: https://policylayer.com/tools/a1-x-tech-mcp-google-slides/create-shape

## Facts

- Tool: `create_shape`
- Server: Mcp Google Slides (`@a1-x-tech/mcp-google-slides`) — https://policylayer.com/tools/a1-x-tech-mcp-google-slides.md
- Install: `npx -y @a1-x-tech/mcp-google-slides`
- Homepage: https://github.com/A1-x-Tech/mcp-google-slides
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 9 (3 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `text` | string | no | Initial text, inserted in the same atomic batch. |
| `x_pt` | number | no | Left edge in points (requires y_pt; default 50). |
| `y_pt` | number | no | Top edge in points (requires x_pt; default 50). |
| `width_pt` | number | no | Width in points (requires height_pt; default 300). |
| `height_pt` | number | no | Height in points (requires width_pt; default 80). |
| `object_id` | string | no | Optional custom object id (5-50 chars of [a-zA-Z0-9_-:]); auto-generated when omitted. |
| `shape_type` | string | yes | The shape type. |
| `page_object_id` | string | yes | The slide's object id to place the shape on (from list_slides). |
| `presentation_id` | string | yes | The presentation id — the long id from the URL (docs.google.com/presentation/d/<presentationId>/edit) or from create_presentation output. |

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_shape",
    "arguments": {
      "shape_type": "<shape_type>",
      "page_object_id": "<page_object_id>",
      "presentation_id": "<presentation_id>"
    }
  }
}
```

## Why create_shape is rated Medium

Adds reversible content to presentation; no deletion, execution, or financial impact.

From the tool's own definition: "Creates a shape on a slide, returns objectId"

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Mcp Google Slides (25)

- `delete_object` — Destructive — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/delete-object.md
- `edit_table` — Destructive — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/edit-table.md
- `manage_comments` — Destructive — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/manage-comments.md
- `batch_update` — Execute — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/batch-update.md
- `raw_request` — Execute — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/raw-request.md
- `get_page` — Read — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/get-page.md
- `get_presentation` — Read — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/get-presentation.md
- `get_speaker_notes` — Read — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/get-speaker-notes.md
- `get_thumbnail` — Read — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/get-thumbnail.md
- `list_layouts` — Read — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/list-layouts.md
- `list_slides` — Read — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/list-slides.md
- `add_slide` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/add-slide.md
- `create_image` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/create-image.md
- `create_presentation` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/create-presentation.md
- `create_table` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/create-table.md
- `duplicate_slide` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/duplicate-slide.md
- `export_presentation` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/export-presentation.md
- `insert_text` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/insert-text.md
- `move_slides` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/move-slides.md
- `replace_image` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/replace-image.md
- `replace_text` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/replace-text.md
- `set_speaker_notes` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/set-speaker-notes.md
- `set_text` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/set-text.md
- `update_text_style` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/update-text-style.md
- `update_transform` — Write — https://policylayer.com/tools/a1-x-tech-mcp-google-slides/update-transform.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=a1-x-tech-mcp-google-slides · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/a1-x-tech-mcp-google-slides
