Minley Budget App
FreeNot checkedNative Android budget tracker for managing accounts, transactions, recurring items, reminders, and monthly personal finance activity.
About
Native Android budget tracker for managing accounts, transactions, recurring items, reminders, and monthly personal finance activity.
README
Native Android budget tracker built with Kotlin, Jetpack Compose, and Supabase.
Track accounts, transactions, categories, recurring items, reminders, and monthly activity from a single personal finance app.
Features
- Email/password and Google sign-in
- Debit, credit, and loan accounts
- Income, expense, and transfer transactions
- Categories and subcategories
- Calendar-based monthly activity view
- Recurring income, expenses, and transfers
- Reminder notifications with boot rescheduling
- Settings for currency, dark mode, month start day, and notification time
- Optional local MCP server for assistant-driven account and transaction tools
Tech Stack
| Area | Choice |
|---|---|
| Language | Kotlin 2.3.0, JVM 17 |
| UI | Jetpack Compose, Material 3 |
| Architecture | MVVM, single-activity app |
| DI | Hilt |
| Backend | Supabase Auth, PostgREST, Realtime |
| Local prefs | DataStore Preferences |
| Background work | WorkManager |
| MCP server | TypeScript, @modelcontextprotocol/sdk, Supabase JS |
- App version:
1.0.0 - Version code:
1 - Min SDK: 26
- Target/Compile SDK: 36
- Application ID:
com.minley.budget
Setup
Create local.properties at the repo root:
sdk.dir=C:\\Users\\you\\AppData\\Local\\Android\\Sdk
minley.supabase.url=https://your-project-ref.supabase.co
minley.supabase.publishableKey=your-publishable-key
minley.google.clientId=your-google-oauth-web-client-id.apps.googleusercontent.com
You can copy local.properties.example as a starting point.
Build and install:
./gradlew assembleDebug
./gradlew installDebug
Or open the project in Android Studio and run the app configuration.
Supabase
Supabase is the source of truth for persistent app data. This repo intentionally does not publish the full database schema.
Before pointing the app at a Supabase project, verify:
- RLS is enabled on all user-owned tables.
- User-owned rows are restricted to the signed-in user.
- Client-callable RPCs cannot read or mutate another user's data.
- No
service_role, secret key, database password, or private key is shipped in the app.
The checked-in app uses local.properties values at build time and expects a publishable Supabase key only.
MCP Server
The optional local MCP server lives in mcp-server/. It can:
- List accounts
- Show balances
- List recent transactions
- Create transactions
- Create reminders
- Summarize monthly activity
Run it locally:
cd mcp-server
npm install
Copy-Item .env.example .env
npm run build
Fill mcp-server/.env with your own Supabase project and account credentials. The .env, node_modules/, and dist/ files are intentionally ignored.
For direct Supabase MCP access in Codex or another MCP-capable assistant, create a local .mcp.json:
{
"mcpServers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp?project_ref=your-project-ref"
}
}
}
Do not commit .mcp.json; it is local machine configuration.
Project Layout
app/src/main/java/com/minley/budget/
├── core/ # auth, DI, navigation, networking, notifications, theme, utilities
├── data/ # serializable models and Supabase-backed repositories
└── features/ # accounts, auth, calendar, categories, recurring, reminders, settings, transactions
mcp-server/
├── src/index.ts # local MCP tools
└── README.md # MCP setup
Checks
./gradlew testDebugUnitTest lintDebug assembleDebug
cd mcp-server && npm run check
Current note: Gradle unit tests are configured, but there are no unit test source files yet.
Security
- Runtime credentials stay in local files.
local.properties,.mcp.json,mcp-server/.env, build outputs, and dependency folders are gitignored.- The full database schema is not published in this repo.
- See SECURITY.md for the short security policy.
License
MIT. See LICENSE.
Project Notes
See AGENTS.md for repo-specific assistant notes.
Installing Minley Budget App
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/NesDevr/minley-budget-appFAQ
Is Minley Budget App MCP free?
Yes, Minley Budget App MCP is free — one-click install via Unyly at no cost.
Does Minley Budget App need an API key?
No, Minley Budget App runs without API keys or environment variables.
Is Minley Budget App hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Minley Budget App in Claude Desktop, Claude Code or Cursor?
Open Minley Budget App on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Stripe
Payments, customers, subscriptions
by Stripemalamutemayhem/unclick-agent-native-endpoints
110+ tools for AI agents spanning social media, finance, gaming, music, AU-specific services, and utilities. Zero-config local tools plus platform connectors. n
by malamutemayhemwhiteknightonhorse/APIbase
Unified API hub for AI agents with 56+ tools across travel (Amadeus, Sabre), prediction markets (Polymarket), crypto, and weather. Pay-per-call via x402 micropa
by whiteknightonhorsetrackerfitness729-jpg/sitelauncher-mcp-server
Deploy live HTTPS websites in seconds. Instant subdomains ($1 USDC) or custom .xyz domains ($10 USDC) on Base chain. Templates for crypto tokens and AI agent pr
Compare Minley Budget App with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All finance MCPs
