Skip to main content
Glama
sharph

Lunch Money MCP Server

by sharph

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LUNCHMONEY_API_TOKENYesYour Lunch Money API token

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_current_userA

Get details about the current Lunch Money user.

Returns user information including:

  • name: User's full name

  • email: User's email address

  • user_id: Unique user identifier

  • account_id: Unique account identifier

  • budget_name: Name of the budget

  • primary_currency: Primary currency code (e.g., 'usd')

  • api_key_label: Label for the API key being used (or null)

Useful for verifying authentication and understanding the account context.

get_categoriesB

Return a list of category names.

get_transactionsA

Get transactions for a date range.

This is a paginated tool and you MUST consider that not all transactions may be returned. The has_more return value will tell you if pagniation should continue. If has_more is true, ask yourself if you need to make another request to properly answer the user's query.

include_aggregates returns aggregates for all pages.

Args: start_date: Start date in YYYY-MM-DD format (required) end_date: End date in YYYY-MM-DD format (defaults to last day of start_date's month) filter_category_name: Filter by category name (e.g., "Groceries", "Dining Out") filter_tag_id: Filter by tag ID filter_status: Filter by transaction status (reviewed, unreviewed, delete_pending) filter_is_pending: Filter by pending status filter_manual_account_id: Filter by manual account ID filter_plaid_account_id: Filter by plaid account ID filter_recurring_id: Filter by recurring item ID include_pending: Include pending transactions (ignored if is_pending is set) limit: Maximum number of transactions to return (1-100, default 100) offset: Pagination offset include_aggregates: If True, calculates totals per category for full date range (respects all filters, except pagination)

Returns: Structured JSON where transactions include category names instead of IDs, has_more pagination flag, and optionally category aggregates. When has_more is true, next_offset and next_limit are provided for easy pagination.

get_transactionA

Get details about a specific transaction.

Retrieves the full details of a single transaction by its ID, including:

  • Core data: id, date, amount, currency, payee, original_name

  • Category: category name (and category_id for reference)

  • Accounts: manual_account_id, plaid_account_id, recurring_id

  • Metadata: plaid_metadata, custom_metadata, files (if available)

  • Grouping/splitting: is_split_parent, split_parent_id, is_group_parent, group_parent_id, children

  • Timestamps: created_at, updated_at

  • Status: status, is_pending, source, external_id, tag_ids, notes

Args: transaction_id: ID of the transaction to retrieve

Returns: Full transaction object with all available fields

add_numbersA

Helper tool for adding numbers together.

LLMs should use this tool for arithmetic operations to avoid calculation errors. This is especially useful for summing expenses, calculating totals, or performing any arithmetic where precision matters.

Args: numbers: List of numbers to add together. Can include negative values for subtraction.

Returns: Dictionary with the sum rounded to 2 decimal places to avoid floating-point precision issues.

get_accountsA

Get all accounts (both manual and Plaid-synced).

Returns a combined list of all accounts in the user's budget, including:

  • Manual accounts: manually-managed asset/liability accounts

  • Plaid accounts: accounts synced with financial institutions

Each account includes minimal information: id, name, type, balance, currency, status, and account_type (to distinguish between 'manual' and 'plaid' accounts).

Useful for understanding which accounts are available and their current balances.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sharph/lunchmoney-mcp-mini'

If you have feedback or need assistance with the MCP directory API, please join our Discord server