lunchmoney-readonly-mcp
Schreibgeschützter Lunch Money MCP für ChatGPT
Ein Einzelbenutzer-Remote-MCP-Server für Lunch Money, entwickelt für ChatGPT Business und bereitgestellt auf Cloudflare Workers. Er verwendet Google OAuth nur zur Identifizierung eines Benutzers aus der Zulassungsliste; das Lunch-Money-API-Token wird als verschlüsseltes Cloudflare-Geheimnis gespeichert und niemals an ChatGPT oder ein MCP-Tool zurückgegeben.
Dieses Projekt basierte ursprünglich auf dem Projekt bm1549/lunchmoney-mcp-cloudflare und wurde in eine schreibgeschützte Lunch-Money-MCP-Vorlage für Cloudflare Workers und ChatGPT angepasst. Die gebündelte Upstream-Implementierung bleibt unter vendor-lunchmoney-mcp erhalten, einschließlich ihrer ursprünglichen MIT-Lizenz und Namensnennung. Dank an Brian Marks für die ursprüngliche Arbeit.
Dieses Repository ist eine Vorlage. Es enthält keine Live-Bereitstellungs-URL, kein API-Token, kein Google-OAuth-Geheimnis, keine E-Mail-Adresse und keine Cloudflare-Ressourcen-ID.
Was es schreibgeschützt macht
Der Server erzwingt den Schreibschutz in zwei unabhängigen Ebenen:
createReadonlyServer()legt eine positive Zulassungsliste mit 25 Abruf-Tools offen. Create-, Update-, Delete-, Upload-, Sync-, Refresh-, Split-, Grouping- und Budget-Mutationstools sind nicht registriert.runWithReadonlyConfig()lehnt jede Nicht-GET-Anfrage an die Lunch-Money-API ab, bevor eine Netzwerkanfrage gestellt wird.
Alle verfügbaren Tools deklarieren readOnlyHint: true, destructiveHint: false und openWorldHint: false.
Related MCP server: Monarch Money MCP Server
Voraussetzungen
Ein Lunch-Money-API-Token
Ein Cloudflare-Konto, in dem Workers und KV verfügbar sind
Ein Google-Cloud-OAuth-2.0-Webclient
Ein ChatGPT-Business-Arbeitsbereich, in dem Sie Administrator oder Eigentümer sind
Eigene Kopie bereitstellen
Klonen Sie dieses Repository, installieren und verifizieren Sie dann die Abhängigkeiten:
npm install npm run typecheck npm run lint npm run test:readonlyWählen Sie in
wrangler.jsonceinen eindeutigen Worker-nameund erstellen Sie den OAuth-KV-Namespace:npx wrangler kv namespace create OAUTH_KVKopieren Sie die zurückgegebene Namespace-ID in
REPLACE_WITH_OAUTH_KV_NAMESPACE_IDinwrangler.jsonc.Stellen Sie einmal bereit, um Ihre Worker-URL zu erhalten:
npx wrangler deployErstellen Sie eine Google-OAuth-2.0-Webanwendung. Fügen Sie diesen Redirect-URI hinzu, wobei Sie den Host durch Ihre Worker-URL ersetzen:
https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev/authorize/callbackLegen Sie die Produktionsgeheimnisse interaktiv fest. Übergeben Sie ihre Werte niemals an Git:
npx wrangler secret put GOOGLE_CLIENT_ID npx wrangler secret put GOOGLE_CLIENT_SECRET npx wrangler secret put ALLOWED_EMAILS npx wrangler secret put STATE_SECRET npx wrangler secret put LUNCHMONEY_API_TOKENALLOWED_EMAILSist eine durch Kommas getrennte Liste von Google-Konten, die eine Verbindung herstellen dürfen. Der Server verweigert bei leerer Liste den Zugriff.Stellen Sie erneut bereit. Ihr MCP-Endpunkt lautet:
https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev/mcp
ChatGPT Business verbinden
Öffnen Sie in ChatGPT Workspace-Einstellungen → Apps → Erstellen.
Geben Sie den obigen
/mcp-Endpunkt ein und wählen Sie die OAuth-Authentifizierung.Überprüfen Sie die Warnung zur benutzerdefinierten App, erstellen Sie den Entwurf, veröffentlichen und aktivieren Sie ihn dann.
Jeder Benutzer verbindet sich über Einstellungen → Plugins → [your app] → Verbinden und meldet sich mit einem auf der Zulassungsliste stehenden Google-Konto an.
Starten Sie einen neuen Work-Chat, wählen Sie die App aus und überprüfen Sie die Tool-Liste, bevor Sie sie bitten, Lunch-Money-Daten zu untersuchen.
Bevor Sie das Repository öffentlich machen
Führen Sie Folgendes aus:
npm run check:public-releaseÜberprüfen Sie außerdem git status, bestätigen Sie, dass .dev.vars nicht versioniert ist, und stellen Sie sicher, dass der Worker-Name, der Endpunkt, die Cloudflare-Ressourcen-IDs und die Beispieldokumentation Ihre persönliche Bereitstellung nicht identifizieren.
Wenn Sie eine vorhandene Bereitstellung bereinigen, bewahren Sie deren Konfiguration außerhalb des Repositorys oder in einer per Git ignorierten Datei wrangler.personal.jsonc auf. Stellen Sie diese private Konfiguration mit npx wrangler deploy --config wrangler.personal.jsonc bereit.
Überprüfung
Der gezielte Sicherheitstest überprüft die genaue Zulassungsliste, ihre Annotationen, das Fehlen repräsentativer Mutationstools und die Ablehnung ausgehender POST-Anfragen:
npm run test:readonlyDetails zur Namensnennung finden Sie in THIRD_PARTY_NOTICES.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
The HubSpot MCP Server acts as a bridge that enables AI assistants and Large Language Models to securely interact with HubSpot CRM data through natural conversation, without requiring users to understand complex API structures. It provides read-only access to standard CRM objects (contacts, companies, deals, tickets, products, invoices, and more) and their associations, secured via OAuth 2.0, allowing AI agents to perform tasks like summarizing deals, fetching company updates, and looking up record changes.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Read-only MCP server exposing a user ORANO library to their own AI agent.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server providing full integration with the Lunch Money API to manage financial data including transactions, budgets, assets, and categories. It enables AI assistants to perform CRUD operations on financial records through a standardized HTTP interface.26MIT
- AlicenseAqualityDmaintenanceRead-only MCP and HTTP proxy server for accessing Monarch Money financial data, enabling transaction analysis, budget tracking, and cashflow insights through natural language.6MIT

RiseUp MCP Serverofficial
AlicenseAqualityDmaintenanceMCP server for programmatic read-only access to RiseUp cashflow data, allowing AI assistants to retrieve budget information via natural language.2247 npm30MIT- AlicenseBqualityAmaintenanceA read-only MCP server for the Dough personal finance app, enabling assistants to query financial data like balances, transactions, and budgets through natural language.8MIT