Pages Native MCP server
Commit Nov 13, 2026Enables AI clients to create and edit native Apple Pages documents using Apple's scripting API with guarded edits and template support.
Also known as viames/pages-native, pages-native
- Stars
- 3
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 0.5.1-catalog.1
- Last commit
- Nov 13, 2026
- License
- MIT
What is Pages Native MCP?
Pages Native enables AI clients to create and edit native Apple Pages documents using Apple's scripting API with guarded edits and template support.
Summary generated from the project's README
About Pages Native MCP server
Pages Native allows AI clients to interact directly with Apple Pages documents using Apple's scripting API. Unlike other solutions that convert files to Word formats, this server works with native .pages files through JXA and AppleScript workers. It is designed for local execution on a Mac with an active, logged-in session and requires Node.js 22 or later. Users must grant Automation permissions to the host controlling the Pages application.
The server provides 36 tools to manage rich text, tables with formulas, shapes, images, and existing templates. A key feature is the revision guard system, which requires users to preview changes before applying them with a specific mode and expected revision. This prevents accidental document corruption. It also supports batching up to 10 native outputs and maintaining an immutable recipe history with prototype snapshots. While it handles text, cell formatting, and object geometry, it does not support headers, footers, or chart series through the scripting API.
What you can do with it
- 1Template-based document generationAn AI client can fill in existing tagged placeholders within a saved Pages template to create new documents.
- 2Safe document editingA developer can instruct an AI to modify table cells or text while requiring a preview to verify the changes first.
- 3Batch document creationYou can task an AI with generating multiple native Pages files at once using the batching capability.
- 4Structured data searchingAn AI can perform searches within a document using specific text or cell references.
Written from the project's README. Every use case is checked against a quote from it.
Automated checks
Ran Nov 14, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work
- Source repository linked and reachableviames/pages-native is public and reachablegithub.com/viames/pages-native ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-13github.com/viames/pages-native ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubPages Native
Native Apple Pages documents for Codex and MCP. Author: Viames Marino · MIT.
Version 0.5.0. Native acceptance passed 76 checks on one Mac with Pages 14.5 and macOS 27.0.1; 70 portable tests passed separately. Other Pages/macOS configurations remain unverified. See verification.
Pages Native uses Apple's scripting API through fixed JXA and AppleScript workers. Documents remain .pages: no Word conversion, private-format parser, clipboard driver, Accessibility or UI automation.
Capabilities
36 MCP tools cover native documents and templates, rich text, existing tagged placeholders, tables with formulas, text/shape/image objects, existing object geometry, explicit native exports, opaque backups and PDF/PNG previews. Existing-text edits, placeholder fills, text/cell formatting, table/cell changes, sorting, merging, dimensions, objects and facing-page changes have preview/apply revision guards. Migration from 0.1: mutation tools now default to preview. Apply the identical request with mode:"apply" and its expected_revision; a successful preview is not a completed edit.
New in 0.5: previewed batches of up to 10 native outputs, immutable recipe history with saved prototype snapshots, structural comparisons, historical reuse and guarded restoration. Batch and history guide.
New in 0.4: typed table fields in composed models and a local reusable recipe library with relative prototype paths, saved-byte fingerprints, version counters and guarded save/delete/use. See typed fields and recipes.
New in 0.3: structured literal search with native text/cell references, and guided composition from saved prototypes with required/default fields and revision-guarded new copies. See search and model recipes.
Mutations may partially apply; there is no automatic rollback. Pages 14.5 exposes placeholder tags for reading but rejects changing them through its scripting API.

The synthetic example shows a native table total of 265 EUR and a separately positioned text item.
The native API does not expose complete paragraph styles, headings/lists, comments, tracked changes, hyperlinks, headers/footers, page setup or chart series/type/title. Features already present in a saved prototype can be preserved through opaque native copies. Creating and editing chart data is not claimed. Font/size/color formatting does not assign named paragraph styles; semantic style preservation during model filling is not yet certified.
Requirements and installation
- macOS with an interactive, logged-in session and Apple Pages.
- Node.js 22 or later and Automation permission for the actual host controlling Pages.
- Local execution. This cannot run against the user's Mac from a cloud-only task.
Install the public Codex plugin marketplace and enable Pages Native:
codex plugin marketplace add viames/pages-native
codex plugin add pages-native@viames-pages
Start a new local Codex task and run the setup skill. A compatible MCP host can run node /absolute/path/to/plugins/pages-native/dist/server.mjs; runtime npm installation is unnecessary after build.
Optional PAGES_NATIVE_ALLOWED_ROOTS is a JSON array of existing directories. It guards plugin file paths; it is not a macOS sandbox for the Pages process.
Development
npm ci
npm test
npm run build
npm run test:bundle
npm run test:native
npm run package
Portable tests validate protocol, bounds, path restrictions, revision planning and timeout recovery. test:native controls Pages on an explicitly designated Mac using isolated synthetic documents; ordinary CI does not certify a graphical Pages installation.
See compatibility reports, capabilities, verification, publishing and privacy.
Pages Native MCP questions
Does this server convert Pages files to Word format?
No, documents remain in the native .pages format without Word conversion.
Can I run this server from a cloud-only environment?
No, it requires local execution on a Mac with an interactive, logged-in session and Apple Pages installed.
What are the system requirements for running Pages Native?
You need macOS with Apple Pages, Node.js 22 or later, and Automation permissions for the host controlling Pages.
Does the server support batch processing?
Yes, it supports previewed batches of up to 10 native outputs.