iwork-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| iwork_statusA | Report which iWork apps respond and with what version. Call this first when something fails: it separates a missing app from a denied automation permission from a wrong script. |
| pages_createA | Create a Pages document with this text and open it on screen. The document comes out structured rather than flat: the first line becomes
the title, and lines starting with Args:
text: the document content, with the line breaks it should have.
save_in: path to a |
| pages_readA | Extract the text of an existing Pages document. This is the only practical way to read a Args:
path: path to the |
| pages_exportA | Export a Pages document to PDF, Word or EPUB. Args:
path: the source |
| pages_replaceA | Replace text in an existing Pages document, and save it. Preserves formatting: only the paragraphs containing the searched string are touched, and the others keep their size, colour and style. This is the tool for filling in a template — a contract, a letter — by replacing placeholders. If the string does not appear, the document is left untouched and the call fails: better an error than a "done" on a file that stayed the same. Args:
path: the |
| pages_appendA | Append text at the end of an existing Pages document, and save it. The added text inherits the last paragraph's style. The rest of the document is not touched. Args:
path: the |
| numbers_setA | Write specific cells in an existing Numbers sheet, and save it. Cells are addressed as in the app: Args:
path: the |
| numbers_createA | Create a Numbers sheet from a grid of values. First row = headers. A cell starting with The result is laid out, not merely filled: one header row, no phantom header
column, and column widths fitted to the content. Numbers written in any
common convention ( Args:
rows: grid of values; every row must have the same length.
save_in: path to a |
| numbers_readA | Read back the first table of a Numbers sheet, computed values included. Formulas come back with their result, not with the formula text. Numbers are localized: on an Italian Mac decimals use a comma. Args:
path: path to the |
| keynote_layoutsA | List the slide layouts available on this Mac. Call this BEFORE |
| keynote_createA | Generate a Keynote presentation and open it on screen. Args:
slides: list of |
| keynote_export_pdfC | Export the frontmost Keynote presentation to PDF. Args: destination: path of the PDF to write. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/atipicguy/iwork-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server