Metadata-Version: 2.5
Name: lunchmoney-app
Version: 0.12.0
Summary: Lunch Money Application
Project-URL: Documentation, https://juftin.github.io/lunchmoney-app
Project-URL: Issues, https://github.com/juftin/lunchmoney-app/issues
Project-URL: Source, https://github.com/juftin/lunchmoney-app
Author-email: Justin Flannery <juftin@juftin.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.10
Requires-Dist: aiosqlite<0.23.0,>=0.22.1
Requires-Dist: alembic<2,>=1.18.5
Requires-Dist: apscheduler==3.11.2
Requires-Dist: asyncpg<0.32.0,>=0.31.0
Requires-Dist: click<9,>=8.1
Requires-Dist: fastapi[standard]==0.139.2
Requires-Dist: fastmcp<4,>=3.4.6
Requires-Dist: filelock>=3.32.0
Requires-Dist: gunicorn<24,>=23.0.0
Requires-Dist: jinja2<4,>=3.1.6
Requires-Dist: lunchmoney-python-async==2.25.0
Requires-Dist: platformdirs<5,>=4.5.1
Requires-Dist: pydantic-settings<3,>=2.13.1
Requires-Dist: pydantic<3,>=2.12.5
Requires-Dist: redis>=8.0.1
Requires-Dist: sqlalchemy[asyncio]<3,>=2.0.51
Requires-Dist: sqlmodel==0.0.39
Requires-Dist: typing-extensions>=4.12.2
Requires-Dist: uvicorn-worker<1,>=0.4.0
Requires-Dist: uvicorn<1,>=0.41.0
Description-Content-Type: text/markdown

<h1 align="center">lunchmoney-app</h1>

<p align="center">
    MCP-first access to your Lunch Money data
</p>

<p align="center">
  <a href="https://github.com/juftin/lunchmoney-app"><img src="https://img.shields.io/github/v/release/juftin/lunchmoney-app?color=blue&label=lunchmoney-app&logo=github" alt="GitHub"></a>
  <a href="https://github.com/juftin/lunchmoney-app/blob/main/LICENSE"><img src="https://img.shields.io/github/license/juftin/lunchmoney-app?color=blue&label=License" alt="GitHub License"></a>
  <a href="https://github.com/juftin/lunchmoney-app/actions/workflows/ci.yaml?query=branch%3Amain"><img src="https://github.com/juftin/lunchmoney-app/actions/workflows/ci.yaml/badge.svg?branch=main" alt="CI Status"></a>
  <a href="https://juftin.github.io/lunchmoney-app/"><img src="https://img.shields.io/static/v1?message=docs&color=526CFE&logo=Material+for+MkDocs&logoColor=FFFFFF&label=" alt="docs"></a>
</p>

`lunchmoney-app` is first and foremost an [MCP](https://modelcontextprotocol.io/)
server for using your Lunch Money data from an MCP-enabled assistant. It also runs
as a standalone application with a RESTful API and database backend that keeps
itself in sync with all of your Lunch Money data.

## Quickstart

Use Lunch Money from your favorite MCP-enabled assistant in a few minutes.

1. Create or copy your Lunch Money access token.
2. Add the configuration below to your MCP client's server settings.
3. Replace `your-lunch-money-token`, restart the client, and start chatting.

Your MCP client starts and manages Lunch Money MCP for you; do not run a
separate server command.

```json
{
    "mcpServers": {
        "lunchmoney": {
            "command": "uvx",
            "args": ["lunchmoney-app", "mcp"],
            "env": {
                "LUNCHMONEY_ACCESS_TOKEN": "your-lunch-money-token"
            }
        }
    }
}
```

Try asking:

- “How much did I spend on dining this month?”
- “Show my largest recent transactions.”
- “Which transactions still need a category?”

## Learn more

- [MCP guide](docs/MCP_GUIDE.md): client configuration, remote connections, and OAuth.
- [CLI guide](docs/CLI.md): commands, data handling, scheduling, and shell completion.
- [Operations runbook](docs/OPERATIONS.md): self-hosting, Docker Compose, security, and backups.
