Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 # or ## become headings (the marker is removed). Everything else is body text.

Args: text: the document content, with the line breaks it should have. save_in: path to a .pages file to save to. If empty the document is only opened, not written to disk. Never overwrites: if the file exists, the call fails.

pages_readA

Extract the text of an existing Pages document.

This is the only practical way to read a .pages file: the format is compressed Protobuf and no text tool opens it.

Args: path: path to the .pages file.

pages_exportA

Export a Pages document to PDF, Word or EPUB.

Args: path: the source .pages file. destination: where to write the exported file. fmt: pdf, word or epub.

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 file to modify. search: the text to find. Does not cross line breaks: look for something that sits inside a single paragraph. replacement: the text that takes its place.

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 .pages file to modify. text: the text to append; line breaks become new paragraphs.

numbers_setA

Write specific cells in an existing Numbers sheet, and save it.

Cells are addressed as in the app: {"B7": "1200", "C7": "=B7*0.22"}. The rest of the sheet is left intact, and Numbers recalculates every formula that depends on the touched cells — that is the reason this goes through the app instead of rewriting the file. An empty value empties the cell.

Args: path: the .numbers file to modify. cells: A1-notation reference → value. A value starting with = is inserted as a formula.

numbers_createA

Create a Numbers sheet from a grid of values. First row = headers.

A cell starting with = is inserted as a REAL formula and computed by the app: =SUM(B2:B10) works. That is the reason to use this instead of writing a CSV.

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 (1360.5, 1360,5, 1.360,00, 1,360.00) go in as real numbers you can sum over.

Args: rows: grid of values; every row must have the same length. save_in: path to a .numbers file to save to. If empty it is only opened. table_name: name for the table and the sheet. Defaults to the file name.

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 .numbers file.

keynote_layoutsA

List the slide layouts available on this Mac.

Call this BEFORE keynote_create if a specific layout is needed: the names are localized and the English ones fail on a non-English system.

keynote_createA

Generate a Keynote presentation and open it on screen.

Args: slides: list of {"title": "...", "bullets": ["...", "..."]}. Bullets are optional: without them the slide is title-only. layout: localized layout name (see keynote_layouts). If empty, the first one offering a bullet list is used. save_in: path to a .key file to save to. If empty it is only opened.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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