home / mcp / lunch money mcp server
Provides access to Lunch Money data via an HTTP MCP server for users, categories, transactions, recurring items, budgets, and assets.
Configuration
View docs{
"mcpServers": {
"gilbitron-lunch-money-mcp": {
"url": "https://your-app-name.fly.dev/mcp",
"headers": {
"PORT": "8080",
"SERVER_API_KEY": "your_secure_api_key_here",
"LUNCH_MONEY_API_TOKEN": "your_api_token_here"
}
}
}
}You can use the Lunch Money MCP Server (HTTP) to access and manage your Lunch Money data through a standardized API. This server lets you work with user details, categories, tags, transactions, recurring items, budgets, and assets, making it easy to integrate Lunch Money data with AI assistants and automation tools.
You interact with the MCP server through an MCP client. Start by connecting to the remote server endpoint, then perform actions such as retrieving your user details, listing and managing categories and tags, creating and updating transactions, handling recurring items, budgeting, and asset tracking. The server exposes endpoints that align with common data operations you perform in Lunch Money, enabling seamless data access and manipulation for your workflows.
# Prerequisites
node -v
# Node.js 18+ is required
# Step 1: Clone or download the project
git clone https://example.com/ LunchMoneyMCP
# Step 2: Install dependencies
npm install
# Step 3: Create environment file from template
cp .env.example .env# Step 4: Configure environment variables
# Open .env and set your Lunch Money API token and port
LUNCH_MONEY_API_TOKEN=your_api_token_here
PORT=8080# Step 5: Run in development mode with hot reloading
npm run dev
```
```
# Step 6: Build for production and start
npm run build
npm start
```
The server will listen on port 8080 by default or the port you set in the .env file.Environment variables you will configure include the Lunch Money API token and the server port. Optionally, you can set SERVER_API_KEY to require an API key for all requests. If SERVER_API_KEY is set, clients must include a valid Authorization header for every request.
Environment variables used by the server: - LUNCH_MONEY_API_TOKEN: Your Lunch Money API access token - PORT: Server port (default 8080) - SERVER_API_KEY: Optional API key for authenticating requests (Bearer token or plain key in the Authorization header)
You can deploy the MCP server to Fly.io with API key authentication. Use your own app name and secrets to secure access.
Health checks and public endpoints are available at the deployed URL. For example, the MCP endpoint is typically exposed at /mcp and a health check is available at /health.
Test the MCP server with development tools to ensure the server is responding as expected. Use the provided test utilities to verify that you can list tools and call operations such as getUser, getCategories, getTransactions, and more.
Retrieve the current user's account details including email, name, currency preferences, and settings
List all categories including category groups and parent categories
Create a new spending or income category
Update properties of an existing category
Delete a category by ID
List all transaction tags
Create a new transaction tag
Update an existing tag's name
Delete a tag by ID
List transactions with advanced filtering options including date range, category, tags, account, status, and pagination
Create a new transaction (expense, income, or transfer)
Update an existing transaction's properties
Delete a transaction by ID
Bulk update multiple transactions with the same changes
List all recurring expense and income items
Create a new recurring expense or income item
Update an existing recurring item's properties
Delete a recurring item by ID
List all budgets with their category assignments and date ranges
Create a new budget for a category with amount and date range
Update an existing budget's amount, category, or date range
Delete a budget by ID
List all manually-managed assets
Create a new manually-managed asset
Update an existing asset's properties including balance and metadata
Delete an asset by ID