Iwork

114 tools. 86 can modify or destroy data without limits.

8 destructive tools with no built-in limits. Policy required.

Last updated:

86 can modify or destroy data
28 read-only
114 tools total

Community server · catalogue entry verified 11/06/2026

How to control Iwork ↓

What Iwork exposes to your agents

Read (28) Write / Execute (78) Destructive / Financial (8)
Critical Risk

The most dangerous Iwork tools

86 of Iwork's 114 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Iwork

PolicyLayer is an MCP gateway — it sits between your AI agents and Iwork, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "keynote_delete_slide": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "keynote_add_image_to_slide": {
    "limits": [
      {
        "counter": "keynote_add_image_to_slide_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "iwork_status": {
    "limits": [
      {
        "counter": "iwork_status_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Iwork — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON IWORK →

Free to start. No card required.

All 114 Iwork tools

WRITE 69 tools
Write keynote_add_image_to_slide Add an image to a slide Write keynote_add_line Add a line to a slide between two points Write keynote_add_shape Add a shape with text to a slide Write keynote_add_slide Add a new slide to the presentation Write keynote_add_table_to_slide Add a table to a slide with optional data Write keynote_align_items Align two or more items on a slide along an edge or center Write keynote_clean_up_slide Auto-adjust a slide Write keynote_create_presentation Create a new Keynote presentation (optionally with a theme — use keynote_list_themes to see available themes) Write keynote_create_presentation_with_slides Create a Keynote presentation with multiple fully-configured slides in one call (theme, layout, title, body, n Write keynote_distribute_items Evenly space three or more items on a slide horizontally or vertically Write keynote_duplicate_slide Duplicate an existing slide Write keynote_export_presentation Export a Keynote presentation to a different format: PDF, PowerPoint (.pptx), HTML, or images (not .key — use Write keynote_format_shape Set shape properties: opacity, rotation, and text formatting (font, size, color, alignment). Note: fill and bo Write keynote_format_slide_table Format cells in a table on a slide (text color, number format) Write keynote_position_item Move and/or resize an item (shape, image, or textItem) on a slide by type and index Write keynote_reorder_slide Move a slide from one position to another Write keynote_save_presentation Save a Keynote presentation as .key (use this to save to disk — use keynote_export_presentation for PDF/PowerP Write keynote_set_presenter_notes Set presenter notes for a slide Write keynote_set_slide_body Set the body text of a slide (bullet points separated by newlines) Write keynote_set_slide_layout Change the master slide layout of an existing slide (use keynote_list_master_slides to see available layouts) Write keynote_set_slide_title Set the title text of a slide Write keynote_set_theme Change the theme of an existing Keynote presentation (use keynote_list_themes to see available themes) Write keynote_set_transition Set a transition effect on a slide Write keynote_skip_slide Mark a slide as skipped (hidden) or unskipped Write keynote_write_slide_table Write data to cells of an existing table on a slide Write numbers_add_chart Create a chart from table data. Selects the specified data range and creates a chart on the same sheet. Chart Write numbers_add_column Add a column to a table Write numbers_add_image Add an image to a sheet from a file path Write numbers_add_row Add one or more rows at the end of a table, optionally with data Write numbers_add_sheet Add a new sheet to a Numbers document. By default, deletes the empty Write numbers_add_table Create a new table in a sheet Write numbers_auto_format Scan a cell range, detect formats from string values (currency, percent, numbers with commas), convert to nume Write numbers_close_document Close a Numbers document Write numbers_copy_range Copy values from one document/sheet/table range to another. Both documents must be open. Copies values only (n Write numbers_create_document Create a new Numbers document (optionally from a template — use numbers_list_templates to see available templa Write numbers_create_sheet_with_table Create a complete sheet with a named table, data, and formatting in ONE operation. Much faster than calling in Write numbers_export_document Export a Numbers document to a different format: PDF, Excel (.xlsx), or CSV (not .numbers — use numbers_save_d Write numbers_format_cells Set formatting on a cell or range: font, size, color, alignment, background color, bold, italic Write numbers_format_range Apply multiple formatting rules to different cell ranges in one call. More efficient than calling numbers_form Write numbers_insert_column_at Insert one or more columns at a specific position in a table, shifting existing columns right Write numbers_insert_row_at Insert one or more rows at a specific position in a table, shifting existing rows down Write numbers_magic_fill Use AI to fill cells based on a pattern (Creator Studio only). Provide example values in the first rows of a c Write numbers_merge_cells Merge a range of cells Write numbers_move_table Move a table to a new position on the sheet Write numbers_rename_sheet Rename a sheet in a Numbers document Write numbers_rename_table Rename a table in a Numbers document Write numbers_save_document Save a Numbers document as .numbers (use this to save to disk — use numbers_export_document for PDF/Excel/CSV) Write numbers_set_column_width Set the width of a column Write numbers_set_formula Set a formula on a cell (e.g. Write numbers_set_header_columns Set the number of header columns on a table. Header columns get special styling. Set to 0 to remove header col Write numbers_set_header_rows Set the number of header rows on a table. Header rows get special styling (bold text, grey background). Set to Write numbers_set_row_height Set the height of a row Write numbers_sort_rows Sort table rows by a column Write numbers_unmerge_cells Unmerge a previously merged cell range Write numbers_write_cell Write a value to a cell Write numbers_write_cells Batch write multiple cell values in a single operation Write numbers_write_table Bulk write an entire table of data in a single operation. Much faster than writing cells individually. Resizes Write pages_add_image Insert an image into the document Write pages_add_table Insert a table into the document Write pages_add_text Append text to the end of the document body (preserves existing formatting). Include a trailing newline to sta Write pages_close_document Close a Pages document Write pages_create_document Create a new Pages document (optionally from a template — use pages_list_templates to see available templates) Write pages_create_document_with_content Create a Pages document with multiple formatted paragraphs in one call (much faster than adding paragraphs ind Write pages_export_document Export a Pages document to a different format: PDF, Word (.docx), EPUB, or plain text (not .pages — use pages_ Write pages_format_text Set formatting on a paragraph: font (PostScript name), size, color. For bold use a bold font name like Write pages_insert_page_break Insert a page break after a specific paragraph. Creates a visual page break in the document. Write pages_insert_text_at Insert text at a specific paragraph index (preserves formatting on other paragraphs) Write pages_replace_text Find and replace text in a Pages document (preserves formatting) Write pages_save_document Save a Pages document as .pages (use this to save to disk — use pages_export_document for PDF/Word/EPUB)
READ 28 tools
Read iwork_status Check iwork-mcp availability on this platform Read keynote_get_shape_info Read shape properties: position, size, text, opacity, rotation, and text formatting Read keynote_get_slide_content Read all content from a slide: title, body, presenter notes, and list of items Read keynote_get_theme Get the current theme of a Keynote presentation Read keynote_list_master_slides List all available master slide layouts in the current theme Read keynote_list_presentations List all open Keynote presentations Read keynote_list_slide_items List all items on a slide with their types, positions, and sizes Read keynote_list_slides List all slides in a presentation with their titles Read keynote_list_themes List all available Keynote themes (e.g. White, Black, Gradient) Read keynote_read_slide_table Read all data from a table on a slide as a 2D array Read numbers_get_cell_format Read the number format and alignment of a cell (e.g. percent, currency, number, automatic) Read numbers_get_table_info Get table metadata: row/column counts, header info, table name, and position Read numbers_list_documents List all open Numbers documents Read numbers_list_images List all images on a sheet with their positions and sizes Read numbers_list_sheets List all sheets in a Numbers document Read numbers_list_tables List all tables in a sheet with their dimensions Read numbers_list_templates List all available Numbers templates (e.g. Personal Budget, Invoice, Checklist) Read numbers_read_cell Read a single cell Read numbers_read_range Read a specific cell range (e.g. Read numbers_read_table Read all data from a table as a 2D array. Returns rows of cell values. Read pages_get_body_text Read all body text from a Pages document Read pages_get_document_info Get document metadata: word count, character count, page count, modified status Read pages_get_paragraphs Get all paragraphs from a Pages document with their text, font, size, and color Read pages_list_documents List all open Pages documents Read pages_list_images List all images in a Pages document with their positions and sizes Read pages_list_templates List all available Pages templates (e.g. Resume, Report, Letter, Flyer) Read numbers_open_document Open a .numbers file from disk Read pages_open_document Open a .pages file from disk

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Iwork

Can an AI agent delete data through the Iwork MCP server? +

Yes. The Iwork server exposes 8 destructive tools including keynote_delete_slide, numbers_clear_cells, numbers_delete_column. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Iwork? +

The Iwork server has 69 write tools including keynote_add_image_to_slide, keynote_add_line, keynote_add_shape. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Iwork.

How many tools does the Iwork MCP server expose? +

114 tools across 4 categories: Destructive, Execute, Read, Write. 28 are read-only. 86 can modify, create, or delete data.

How do I enforce a policy on Iwork? +

Register the Iwork MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Iwork tool call.

Deterministic rules across all 114 Iwork tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

114 Iwork tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.