Numbers Native MCP server
Commit Nov 13, 2026Lets an AI client create, inspect, and edit native Apple Numbers documents using the Numbers application on macOS.
Also known as viames/numbers-native, numbers-native
- Stars
- 2
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 0.5.1-catalog.1
- Last commit
- Nov 13, 2026
- License
- MIT
What is Numbers Native MCP?
Numbers Native lets an AI client create, inspect, and edit native Apple Numbers documents using the Numbers application on macOS.
Summary generated from the project's README
About Numbers Native MCP server
Numbers Native provides a way for AI clients to interact directly with the Apple Numbers application on macOS. Instead of using Excel conversions or third-party libraries, this server uses Apple Events to create, inspect, and edit actual .numbers files. This approach ensures that all calculations are performed by the native application itself, maintaining the integrity of the original file format.
To use this server, you must have a Mac with Apple Numbers installed and be running a logged-in graphical session. It requires Node.js 22 or later and must be configured with permission under macOS System Settings to allow automation of the Numbers app. The server operates locally via stdio, meaning it does not rely on remote services or external API keys for spreadsheet manipulation.
The toolset includes 38 typed MCP tools covering a wide range of tasks such as managing sheets, tables, and ranges. It supports native formulas, formatting, and the creation of various chart types like bar, pie, and scatter plots from verified template profiles. Users can perform complex workflows including multi-table cell edits and exporting data to PDF or CSV formats.
What you can do with it
- 1Generate budget spreadsheetsAsk the AI to create a new Numbers document with specific tables and formulas for tracking monthly expenses.
- 2Update existing dataInstruct the client to find a specific table within an identified document and modify certain values.
- 3Visualize data with chartsRequest the creation of a native chart using specific template profiles to represent data points.
- 4Export spreadsheet contentHave the AI convert a Numbers document into a PDF or CSV file using the application's native capabilities.
Written from the project's README. Every use case is checked against a quote from it.
Configuration
NUMBERS_NATIVE_ALLOWED_ROOTS
| Name | Description | |
|---|---|---|
| NUMBERS_NATIVE_ALLOWED_ROOTS | — |
Automated checks
Ran Nov 13, 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 · What to fix for more points
- Source repository linked and reachableviames/numbers-native is public and reachablegithub.com/viames/numbers-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/numbers-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 GitHubNumbers Native
Website · Download · Italiano · MCP Registry · Support
Native Apple Numbers tools for Codex, by Viames Marino. Open source under the MIT License.
Numbers Native lets Codex create, inspect and edit real .numbers documents through the Apple Numbers application. Numbers performs the calculations and saves its own native format. No Excel conversion, XLSX library, reverse-engineered file writer, remote MCP service or additional OpenAI API key is involved.
Version 0.5.0 is a preview. Local native verification and portability checks do not establish compatibility on every Mac. See verification and feature coverage.
Requirements
- A Mac with Apple Numbers installed, in a logged-in graphical session.
- Node.js 22 or later, available on the Codex host's PATH.
- A Codex environment supporting local stdio MCP servers and plugin marketplaces.
- Permission for the actual host shown by macOS to control Numbers under System Settings → Privacy & Security → Automation.
This version uses Apple Events and does not require Accessibility permission. It cannot run its native tools in a Linux/Windows or isolated cloud executor.
Install in Codex
codex plugin marketplace add viames/numbers-native
codex plugin add numbers-native@viames-numbers
Start a new local Codex task and run the setup skill. You can also add https://github.com/viames/numbers-native through Add plugin marketplace in compatible desktop clients.

The synthetic example shows a native chart updating to Materiali 150 EUR, total 265 EUR and residual 35 EUR.
Download a release
Unzip the marketplace release into a permanent directory. It contains .agents/plugins/marketplace.json and plugins/numbers-native/. The bundled server includes its JavaScript dependencies, so users do not need to run npm install.
With a recent Codex CLI, from the extracted directory:
codex plugin marketplace add .
codex plugin add numbers-native@viames-numbers
Start a new Codex session and invoke @Numbers Native or its Numbers/setup skill. In desktop clients supporting repository marketplaces, open this extracted directory as a project and select the Viames Numbers marketplace in Plugins. Host versions and workspace policies can affect marketplace discovery; the CLI registration is explicit.
If your desktop host cannot find node, install Node.js and ensure it is on that host's PATH. You can alternatively register the MCP server directly in a compatible client's MCP configuration, using the absolute path of the extracted server:
{
"mcpServers": {
"numbers-native": {
"command": "node",
"args": ["/absolute/path/to/numbers-native/plugins/numbers-native/dist/server.mjs"]
}
}
}
The raw MCP configuration is a fallback for clients that support stdio MCP; it does not install the plugin's skills. Configure Codex's direct MCP connection with its native TOML format if using that route. Do not paste JSON into config.toml.
Run setup, then try:
Create a native Numbers document in my chosen folder, with two independent tables and formulas for a monthly budget. Read back the totals and save the .numbers file.
Inspect the Numbers document I identify, find the Expenses table and update only the values I provide.
Coverage and limits
The plugin exposes 38 typed MCP tools for documents, templates, sheets, tables, range reads/writes, native formulas, formatting, clear/merge, sort/transpose, rows/columns, selection, search, text/shapes/images and existing-object geometry. Optional PDF/CSV exports are performed by Numbers itself.
Version 0.5.0 adds guarded multi-table cell edits, read-only native-result checks and typed CSV/TSV append/upsert. See data workflows. Version 0.4.0 added complete native/companion backup, restore and move/rename, native PDF/PNG previews (including guided before/after images), and local compatibility diagnostics. See file/preview workflows. Compatible-format preservation, custom prototypes and guided source updates remain available. It retains the 11 native template chart profiles. See the new workflow. Column, bar, pie, donut, radar, interactive column, stacked column, area, dual-axis, scatter and bubble charts are supported. See the chart workflow. Dual-axis, scatter and bubble retain fixed axis captions (weather, fuel consumption and sales); use their documented data meanings. Profiles are verified for Numbers 14.5 and fail explicitly on unverified releases or changed template structures.
Read/write calls are limited to 2,000 cells, row/column insert/delete calls to 100 items. Page through large tables. Plain strings are literal text, including leading = and leading zeroes. Formulas require { "formula": "=SUM(B2:B5)" }. Dates require { "date": "2026-10-18T10:30:00Z" }. Booleans use native checkbox cells. Numbers may return formulas and formatted values in its current document language.
Charts can be created in new documents from verified template profiles, with up to 100 points and profile-specific limits of 1–10 numeric columns. Source cells remain editable with normal Numbers tools; Numbers updates the connected chart. Chart type, series references, colors, internal title and arbitrary insertion into existing documents are not exposed. An optional heading is a separate native text item. Pivot creation, conditional rules, comments, collaboration, passwords, detailed number formats and native duplication remain unsupported.
Numbers autosaves. Writes are not atomic and can partially apply. Multiple calls in one server and across cooperating plugin servers are serialized, but the user and other apps can still edit simultaneously. Inspect state after errors; never automatically retry timed-out mutations. The plugin leaves unrelated documents open.
Privacy and local execution
The MCP bridge does not make network requests, listen on a network port, collect telemetry or upload documents to a separate service. Inputs and results pass through Codex and may be sent to its model according to the host's policies. Local automation does not mean all spreadsheet data remains on the device.
By default, tools can access explicitly selected local paths and identified open documents. To restrict access, set NUMBERS_NATIVE_ALLOWED_ROOTS in the MCP server environment to a JSON array of existing absolute directories:
{ "NUMBERS_NATIVE_ALLOWED_ROOTS": "[\"/Users/your-user/Documents/Numbers\"]" }
Paths are canonicalized to reject symlink escapes. This is an additional bridge check, not an OS sandbox for Numbers itself. Numbers can resolve its own file dependencies. Privacy details.
Develop and verify
npm ci
npm test
npm run build
npm run test:native
npm run test:charts
npm run test:guided
npm run test:files
npm run test:workflows
npm run package
test:native launches Numbers, creates its own temporary documents and tests their native results. It never uses user documents as fixtures. It needs GUI/Automation permission and is separate from portable CI. The unit/MCP tests run on other operating systems; native operations do not.
The release process creates a marketplace ZIP and a standalone plugin ZIP with bundled runtime, skills, native worker, notices and license, plus SHA-256 checksums. Maintainers rebuild from the pinned lockfile. The unbundled source is also included in the standalone plugin for inspection; the marketplace ZIP contains the full source repository.
Public distribution
The public source marketplace is viames/numbers-native. Versioned releases include the Codex marketplace ZIP, standalone plugin ZIP, a macOS .mcpb bundle, registry metadata and SHA-256 checksums. MCPB clients receive the same native tools; the Codex plugin also includes skills. The official MCP Registry identity is io.github.viames/numbers-native; check its live record rather than assuming a registry submission has succeeded. Repository/registry distribution is separate from listing in the official OpenAI directory.
As checked on 18 October 2026, OpenAI's desktop-only submission rules restrict local MCP submissions to approved partners and require the submitting organization to be allowlisted. A functional package is not proof of directory eligibility or approval. See publication steps.
Numbers Native is an independent project and is not affiliated with or endorsed by Apple or OpenAI. Apple Numbers is required and is not included.
Numbers Native MCP questions
Does this server require Excel conversion?
No, it works directly with native .numbers documents through the Apple Numbers application without using XLSX libraries or reverse-engineered file writers.
What are the system requirements to run Numbers Native?
You need a Mac with Apple Numbers installed in a logged-in graphical session and Node.js version 22 or later.
Can I run this on Windows or Linux?
No, the server requires the native Apple Numbers application and uses Apple Events, so it cannot run on Linux, Windows, or isolated cloud executors.
Is my data sent to a remote server?
The MCP bridge does not make network requests, collect telemetry, or upload documents to a separate service, though inputs pass through the AI host.