MCP server: One MCP server.

Lunch Money MCP (Unofficial)

@n3wthMCP server · External

Read-only Lunch Money accounts, transactions, categories and budgets. Unofficial connector.

Personal financev0.1.0MITTypeScript
Freeno charge per call

One address for any MCP client. You sign in at auth.n3wth.com once, after adding it.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

What it asks for at sign-in

Access toReadChange
Lunchmoney

From the sign-in at auth.n3wth.com, as the endpoint publishes it. You approve it there.

Tools

None listed · checked 11 Oct 2026

Odel could not list its tools without signing in.

Try it in the Inspector
README5 min read

Lunch Money for Agents

Lunch Money for Agents icon

Ask your AI agent about your Lunch Money data.

Website · Setup guide · Privacy · Report an issue

I built this to make Lunch Money easier to use with AI agents. It connects your account to tools that support Model Context Protocol (MCP), so you can ask about your spending, budgets, accounts, and recurring expenses in conversation.

This is an unofficial, open-source MCP integration by n3wth. It is not affiliated with, endorsed by, or sponsored by Lunch Money.

What you can ask

  • “Show my transactions from last week, grouped by category.”
  • “How does this month's spending compare with my budget?”
  • “List my recurring expenses.”
  • “What are my account balances? Keep each currency separate.”

The integration gives your agent access to the underlying records; your agent uses those results to answer. Financial access is read-only: it cannot edit transactions, change budgets, or move money. Connection tools can link, replace, or remove your connection to the service.

Connect your account

You'll need a Lunch Money account, a personal access token, and an MCP client that supports remote servers with OAuth sign-in.

  1. Add the server using your client's setup instructions below.
  2. Sign in at auth.n3wth.com. This creates your connector session, separate from your Lunch Money login.
  3. Ask your agent to connect Lunch Money. It should run lunchmoney_connect and give you a browser link.
  4. Open the link and enter your token in Nango's connection page. Create the token on Lunch Money’s Developers page by clicking Request New Access Token (label and usage are optional). Never paste it into chat or your MCP configuration.
  5. Try a small request, such as “List my Lunch Money accounts.”

The hosted endpoint is:

text
https://mcp.lunchmoney.sh/mcp

Client-specific installation

Choose your app on the website, or install directly:

Claude Code — run inside Claude Code:

text
/plugin marketplace add n3wth/lunchmoney-mcp
/plugin install lunchmoney@lunchmoney-mcp

Codex — run in a terminal:

sh
codex plugin marketplace add n3wth/lunchmoney-mcp
codex plugin add codex-plugin@lunchmoney-mcp

For the Codex app, use Plugins → Create menu → Add marketplace with n3wth/lunchmoney-mcp, then install Lunch Money. Cursor — Add to Cursor, the Cursor directory listing, or select Cursor on the website. Start a new session after installing, sign in, then ask “Connect Lunch Money”.

Custom marketplaces are separate from curated directory approvals. Full instructions and manual alternatives:

ClientInstructions
CodexPlugin and manual setup
Claude CodePlugin setup
CursorPlugin and MCP configuration
Other MCP clientsConnection guide

The hosted service is in beta. Direct setup is available; a directory submission does not mean a plugin is approved or listed. See the submission record for review status and the runbook for outstanding release checks.

Where your data goes

Signing in and connecting Lunch Money are separate steps:

ServiceRole
Auth0Signs you in at auth.n3wth.com and identifies your connector account.
NangoCollects and stores your Lunch Money token through its browser flow.
CloudflareRuns the MCP server and stores identity and connection records.
Lunch MoneyReturns the financial records requested through its API.
Your AI clientReceives the results and may send them to its model provider.
VercelHosts the website and routes requests to the MCP server.

The server retrieves your token from Nango when needed and enforces financial reads only. Your token may have broader permissions in Lunch Money itself. Financial responses are not saved in the connector's database, but your AI client's privacy and retention settings still apply to the results it receives.

To disconnect, ask your agent to run lunchmoney_disconnect. If deletion fails, retry until it succeeds. Revoke the original token in Lunch Money if you also want to prevent its use elsewhere. Removing a client plugin does neither.

Read the privacy notice for storage, retention, and provider details, and the service terms before connecting your account.

A couple of things to watch

Transactions arrive in pages. One response may not cover the whole date range. The agent needs to follow next_offset until it is null before presenting a complete total.

Currencies stay separate. Adding USD and CAD amounts together does not produce a useful total. Ask for separate totals unless you explicitly want a conversion.

AI-generated answers can be wrong. Check the source records in Lunch Money when an answer matters. The user guide lists the tools and explains connection troubleshooting.

Work on the project

Use Node.js 22 or later. The site is static HTML and CSS with a small React conversation preview built from Vercel AI Elements.

bash
git clone https://github.com/n3wth/lunchmoney-mcp.git
cd lunchmoney-mcp
npm ci
npm run preview

This serves the site at http://localhost:4173. To build it without starting a server, run npm run build; the output goes into dist/.

Run the server checks in dependency order:

bash
npm --prefix packages/auth-contract ci
npm --prefix packages/auth-contract test
npm --prefix packages/lunchmoney-adapter ci
npm --prefix packages/lunchmoney-adapter test
npm --prefix packages/server ci
npm --prefix packages/server test
node scripts/validate-release.mjs
DirectoryContents
site/Website, styles, and shared icons
packages/MCP server, authentication contract, API adapter, and client plugins
docs/Setup, operations, security, and submission records
scripts/Release validation and smoke checks

Staging and production use separate configurations and databases. Default Worker commands target staging. Follow the runbook for deployment, credentials, migrations, and rollback.

Context7 documentation indexing

context7.json configures which documentation Context7 indexes. It includes this README, the documentation overview, connection, tools, and privacy guides, and the Codex, Claude Code, and Cursor setup guides. Internal plans, operational records, and agent instructions are excluded. Context7 always includes root Markdown files unless excluded by name.

After merging this file into the repository's default branch, open the Context7 library settings, switch the configuration source to the repository's context7.json if it is currently managed in the dashboard, and refresh the library. Verify the indexed sources include the setup guides and omit the excluded records.

See Context7's configuration reference for supported fields. This controls indexing only; a hosted Docs7 site uses a separate docs.json configuration.

Contribute

Bug reports, clearer setup instructions, and compatibility fixes are welcome. For a bug, include the client you used, what you expected, and a minimal example with sample data. Leave tokens and personal financial records out of issues.

Open an issue before a larger change so we can agree on the scope. For a pull request, explain the problem and how you checked the fix. Keeping financial access read-only is a core constraint of this project.

Similar modules

Browse Personal finance