Create Excel Files with AI on Mac

Let your AI assistant build real .xlsx Excel files on your Mac from plain English — including data pulled straight from your Mail, Calendar, Contacts and Notes in the same prompt. No API keys, no cloud, fully private.

L
LMCP··5 min read

To have an AI create an Excel file on a Mac, install LMCP — a free, local MCP server for macOS that adds an excel_create tool to Claude, ChatGPT, Cursor, VS Code, and any other MCP-compatible client. Describe the spreadsheet you want in plain English — column headers, and optionally the data rows — and LMCP writes a real .xlsx file to your Mac, ready to open in Excel, Numbers, or Google Sheets. Because LMCP also reads your Mail, Calendar, Contacts, and Notes, the same prompt can pull real data out of those apps and drop it straight into the spreadsheet, with nothing to copy-paste by hand.

Why Create Excel Files with AI?

Most of the time you don't actually want to type a spreadsheet — you want the finished thing. A budget with the right columns. A contact list formatted for a mail merge. A tracker for a project that only exists right now as a pile of emails and notes. Building that by hand means opening Excel, typing headers, entering rows, and fixing the formatting — ten or twenty minutes for something that should take one sentence.

With LMCP, you describe the spreadsheet and your AI produces it. The bigger win is that the AI is not limited to what you type: because it can also read your Mac's Mail, Calendar, Contacts, and Notes in the same conversation, it can gather the source data itself and hand you a populated workbook — not just an empty template with headers.

What You Will Need

  • macOS 13 or later — Apple Silicon or Intel
  • Any MCP-compatible AI client: Claude Desktop, Cursor, VS Code (Copilot), Windsurf, Zed, or a web AI like ChatGPT or Claude.ai via the Cloud Relay connector
  • Somewhere on disk to save the file — Desktop, Documents, or a specific folder you name in the prompt

You do not need an Office license, a Microsoft 365 subscription, or any API key. excel_create writes the .xlsx file format directly, so it works whether or not Excel itself is installed.

Step 1: Install LMCP on Your Mac

Download LMCP and install it:

  1. Open the downloaded LMCP-Installer.pkg from your Downloads folder
  2. Follow the installer — it installs Local MCP to Applications for you (no dragging)
  3. Open Local MCP from your Applications folder — it appears in your menu bar

Takes about 30 seconds and configures your desktop AI clients automatically. The first time your AI reads Mail, Calendar, Contacts, or Notes to feed a spreadsheet, macOS will ask you to grant that specific app permission — click “Allow.” Nothing is accessible until you approve it, app by app.

Step 2: Restart Your AI Client

Quit your AI client completely (Cmd+Q, not just closing the window) and reopen it so it discovers the new MCP server.

  • Claude Desktop — look for the hammer icon in the chat input
  • Cursor — MCP tools appear automatically in the composer
  • VS Code — check the MCP panel in Copilot settings
  • ChatGPT / Claude.ai (web) — add https://local-mcp.com/mcp as a custom connector

Step 3: Try It Out

Start a new conversation and try prompts like these:

  • “Create an Excel file called expenses.xlsx with columns Date, Vendor, Amount, and Category, and add a row for 2026-06-01, Acme Supplies, 249.99, Office.” — a straightforward headers-plus-rows request.
  • “Read my unread emails and build a tracker with Sender, Subject, and Date.” — the AI reads Mail first, then calls excel_create with what it found.
  • “Export my contacts to a spreadsheet with Name, Email, and Phone for a mail merge.” — pulls from Contacts, not from anything you type.
  • “List this week's Calendar events and put them in an .xlsx schedule.” — same pattern with Calendar as the source.
  • “Update cell B5 in that file to 300.” — a follow-up edit using excel_write_cell instead of rebuilding the whole file.

Because excel_create is a write tool, your AI shows you a preview first — the path, the headers, and how many rows it's about to write — and only creates the file once you confirm. The same applies to excel_write_cell when you ask it to change a single cell in an existing file.

What excel_create Actually Builds

excel_create takes a file path, a list of column headers, and an optional list of data rows, and writes a genuine .xlsx workbook — the headers become row 1, and each entry in rows becomes the row below it. The companion tool excel_read mirrors the same shape: it returns a file's first row as headers and everything after it as rows, so your AI can read one spreadsheet and feed the result straight into excel_create to build another, with no manual reshuffling of row zero.

For a smaller edit — fixing one number, updating one name — there's excel_write_cell, which targets a single cell either by A1 notation (“B2”) or by row and column number, in any sheet of an existing workbook. It reads the file, patches just that cell, and writes it back, so a one-cell change doesn't mean regenerating the whole spreadsheet.

Every one of these is a write operation, so all three preview what they are about to do and wait for you to confirm before touching disk — the same show-then-confirm pattern LMCP uses for sending email or moving files.

The Real Value: Data From Your Other Mac Apps

A tool that turns “headers and rows” into a .xlsx file is useful on its own, but it's not the interesting part. The interesting part is that excel_create is one of 188+ tools LMCP exposes in the same session, alongside the tools that read Mail, Calendar, Contacts, Notes, Reminders, and Finder. Your AI doesn't need a separate export step or a CSV download from another app — it can read the source data and write the spreadsheet in one continuous conversation:

  • Read your unread Mail and build a tracking sheet of senders, subjects, and dates.
  • List this week's Calendar events and export them to an .xlsx schedule.
  • Pull Contacts into a workbook formatted for a mail merge.
  • Summarize a Notes document into a structured table.
  • After creating the file, ask the AI to email it, save it to OneDrive, or reveal it in Finder.

Because LMCP runs natively on your Mac, this is your actual data — not a sandbox, not a sample set, and not something you exported first. The spreadsheet reflects your real inbox, your real calendar, and your real contact list at the moment you asked.

What excel_create Does Not Do

Being direct about the edges matters more than the pitch. excel_create is a lightweight, dependency-free writer — it is not a substitute for Excel itself:

  • One sheet per file. excel_create always writes a single sheet named “Sheet1.” If you need a multi-tab workbook, create the file, then add sheets in Excel or Numbers — excel_read and excel_write_cell can already target any sheet by name once one exists.
  • No formulas. Every cell is written as a literal value. If you ask for a “Total” column, the AI has to compute the number itself and write it as a value — it cannot write a live =SUM(...) formula that recalculates when you change other cells.
  • No charts or conditional formatting. The tool writes data and headers, not visual styling. Add charts, colors, or conditional formatting in Excel afterward.
  • Numbers are written as text cells. Because every cell is stored as an explicit string, a value like 249.99 lands in the sheet looking right but typed as text, not a number. Excel and Numbers both display it fine, but a SUM() or AVERAGE() formula over that range will ignore those cells until you convert them — select the column, and use Excel's “Convert to Number” (the small warning icon next to the cells) or Numbers' equivalent. This is a real limitation of the current tool, not a formatting quirk you can prompt around.

None of this rules out using AI for a spreadsheet with formulas or charts — it just means the last step happens in Excel, the same way you'd finish formatting a document a word processor generated for you.

LMCP vs Other Ways to Get an Excel File from AI

“Ask an AI for a spreadsheet” already has a couple of well-worn answers. Here is the honest comparison:

OptionWhat it takesWhat you get
LMCP (excel_create)Free local install, ask in plain EnglishA real local .xlsx on your Mac, built from data the AI read from your own Mail, Calendar, Contacts, or Notes in the same prompt
Ask the chatbot for a CSV to paste or downloadNothing to installA web AI has no access to your local apps or filesystem, so you get a code block or browser download — then you open it, fix the formatting, and re-type any data that lived in Mail or Calendar rather than in your prompt
Write a Python script with openpyxlPython installed, and someone to write and debug the scriptFull control — real formulas, charts, formatting — but it's custom code for what is usually a one-off spreadsheet, and it still can't read your Mail or Calendar without separate integration work of its own

In short: pick openpyxl if you need formulas, charts, or repeatable formatting logic and are comfortable writing code for it. Pick a pasted CSV if you just need a quick one-off table and already have the data in the chat. Pick LMCP if you want a finished, populated .xlsx file on your Mac in one sentence — especially when the data itself lives in an app, not in your head.

Privacy: Everything Stays on Your Mac

  • The .xlsx file is written to disk by a native process running locally — it never travels to an external server
  • Any Mail, Calendar, Contacts, or Notes data used to populate the file is read the same way — locally, through native macOS APIs
  • LMCP holds no copy of your spreadsheets, or of the data that went into them
  • Nothing about the file or its contents is stored, cached, or logged by LMCP

This is privacy by architecture, not by policy. See how LMCP is GDPR-compliant by architecture for the full picture.

Troubleshooting

Permission denied when writing the file

macOS protects Desktop, Documents, and Downloads behind an explicit grant. Go to System Settings > Privacy & Security > Files and Folders and make sure Local MCP has access to the folder you asked it to save into. If the entry isn't listed at all, download and reinstall LMCP.

My SUM formula shows 0 or ignores some rows

This is the text-vs-number limitation above, not a bug: excel_create writes every cell as a string, so a formula summing that column skips them. Select the affected cells in Excel and use “Convert to Number” (or retype them in Numbers), then the formula will pick them up normally.

The file won't open, or Excel reports it's corrupted

This usually means the file is still mid-write or the save was interrupted — ask the AI to recreate it. If the workbook was already open in Excel while your AI tried to edit a cell with excel_write_cell, Excel's own save can overwrite the change; close the file in Excel first, then retry.

MCP tools not visible in AI client

Make sure you fully quit and restarted your AI client. You can also check the config file:

  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Cursor: ~/.cursor/mcp.json
  • Windsurf: ~/.codeium/windsurf/mcp_config.json

Real-World Workflows

Prompts that use excel_create together with LMCP's other tools:

Expenses from email receipts

Prompt — paste into your AI

Find every receipt email from the last month, pull out the vendor, date, and amount from each, and build an Excel expense sheet with columns Date, Vendor, Amount, and Category.

Your AI searches Mail for receipts, extracts the numbers, guesses a reasonable category per vendor, and hands you a finished .xlsx — no manual entry from a stack of inbox emails.

Contacts to a mailing-list spreadsheet

Prompt — paste into your AI

Export all my contacts with a company name into a spreadsheet with columns Name, Company, Email, and Phone, sorted by company.

The AI reads Contacts, filters and sorts however you asked, and writes the result straight to a workbook — ready for a mail merge or a CRM import.

Meeting notes to a tracker

Prompt — paste into your AI

Read my “Project Atlas” meeting notes and turn the action items into a tracker with columns Task, Owner, Due Date, and Status.

Instead of manually pulling action items out of freeform notes, the AI structures them into rows the moment it finishes reading — a tracker that exists before the meeting notes are even closed.

This week's calendar as a schedule

Prompt — paste into your AI

List everything on my calendar this week and export it to an Excel schedule with columns Day, Time, Event, and Attendees.

Useful for sharing a plain schedule with someone who doesn't have access to your calendar, or for archiving a week's agenda outside Calendar.app.

What Else Can LMCP Do?

Excel is one piece of LMCP's document tools. The same install lets your AI create, read, and edit Excel, Word, and PowerPoint files on your Mac, and read PowerPoint slide text for summarizing or fact-checking a deck. It also reaches Mail, OneDrive, Calendar, Contacts, and Notes. Check the full list of guides or visit local-mcp.com to see all 188+ tools.

Frequently Asked Questions

What file format does excel_create produce?

A standard .xlsx workbook with a single sheet named “Sheet1,” that opens in Microsoft Excel, Apple Numbers, Google Sheets, or any other spreadsheet app. You specify the column headers and, optionally, the data rows.

Can the AI fill the spreadsheet with data from my Mac apps?

Yes — this is the main reason to use LMCP over a plain chatbot. Because LMCP exposes 188+ tools, your AI can read Mail, Calendar, Contacts, Notes, and more, then pass what it finds into excel_create to build a populated workbook in the same conversation, without an export step in between.

Does excel_create support formulas or charts?

No. It writes headers and data rows as literal values in one sheet — no live formulas, no charts, no conditional formatting. Add those in Excel or Numbers after the file is created. Numbers are also written as text cells, so a SUM() over them needs a “Convert to Number” pass first.

Is my spreadsheet data sent to the cloud?

No. The file is created locally on your Mac by a native process, and any app data used to populate it is read the same way. Nothing about the spreadsheet or its contents is uploaded or stored on any external server.

Which AI assistants can use excel_create?

Desktop AI apps connect over local stdio, and LMCP sets up the ones it can automatically. ChatGPT, Claude.ai, Grok, and Perplexity connect through the LMCP Cloud Relay connector.

Related Guides

Ready to try it?

Works with Claude, Cursor, VS Code, ChatGPT and any MCP client

Download for Mac
FreemacOS 12+ · Apple Silicon & Intel

✦ llms.txt

Comments

Questions and experiences welcome — comments are reviewed before they appear.