budget-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@budget-mcpAdd a $35 expense for lunch under Dining"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ฐ Personal Budget MCP Server
A lightweight Model Context Protocol (MCP) server for managing personal finances. Built with Python, FastMCP, SQLAlchemy, SQLite, and PostgreSQL, this server empowers any MCP-compatible LLM client to securely log transactions, manage category libraries, and analyze budgets.
โจ Features
Local & Cloud Storage: Runs with zero setup using local SQLite (in-memory or file-based
data/budget.db), or seamlessly connects to cloud PostgreSQL providers like Neon DB.Interactive Budget Dashboard: Built-in UI application providing visual category pie charts and searchable transaction data tables via
prefab-ui.Zero-Friction Package Management: Powered by
uvfor reproducible, lightning-fast dependency resolution.Universal MCP Compatibility: Connects with Claude Desktop, Claude Code, Cursor, Goose, Horizon, Open WebUI, and any other MCP host.
Related MCP server: ExpenseTracker MCP Server
๐ Available Tools
Tool Name | Description | Arguments |
| Interactive UI app providing a category breakdown chart and searchable transaction data table. |
|
| Interactive UI app plotting spending over time with a continuous category line chart, data granularity toggle (month/week/day), date range slider, and searchable data table. |
|
| Logs one or multiple income or expense transactions (supports single items or batch |
|
| Retrieves an aggregated financial summary (income, expense, net balance, and optional category breakdown). |
|
| Retrieves detailed transaction records based on filter criteria. |
|
| Retrieves uncategorized transactions sorted by description for bulk importing and systematic categorization. |
|
| Updates one or multiple existing transactions (supports single ID or batch |
|
| Removes one or multiple transactions by ID (supports single ID or |
|
| Lists active categories in the category library. |
|
| Adds one or multiple categories to the category library (supports single item or batch |
|
| Updates an existing category's properties. |
|
| Removes one or multiple categories from the library (supports single ID/name or |
|
โ๏ธ Database Setup & Configuration
Database settings are configured via the DATABASE_URL environment variable (defined in a .env file or environment settings).
1. Local SQLite (Default)
In-Memory (default fallback if
DATABASE_URLis omitted):DATABASE_URL=sqlite:///:memory:Local SQLite File:
DATABASE_URL=sqlite:///data/budget.db
2. Cloud PostgreSQL (Neon DB)
To persist data across cloud deployments, set DATABASE_URL to your Neon DB / PostgreSQL connection string:
DATABASE_URL=postgresql://<user>:<password>@<neon-hostname>/<dbname>?sslmode=require(Note: Database tables and 15 default category seeds are automatically created on initial server startup.)
โ๏ธ Cloud Deployment (Horizon & Remote Hosts)
When deploying to remote platforms like Horizon (horizon.perfect.io), Docker, or cloud hosts:
Set Environment Variables: In your deployment project settings, set
DATABASE_URLto your cloud PostgreSQL database string (e.g., Neon DB):DATABASE_URL=postgresql://user:password@ep-xyz.neon.tech/neondb?sslmode=requireEntrypoint: Point your cloud server runner or ASGI container to
server.py:mcpor run viafastmcp:fastmcp run server.py:mcpThe server automatically initializes database schema tables and seeds default categories upon import on cloud environments.
๐ Connecting to Local MCP Clients
1. Claude Code (CLI)
Register the server globally:
claude mcp add budget -- uv run --directory "/absolute/path/to/budget-mcp" server.py2. Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"personal-budget": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/budget-mcp",
"server.py"
]
}
}
}3. Cursor IDE
In Cursor Settings > Features > MCP, click Add New MCP Server:
Type:
commandName:
budget-mcpCommand:
uv run --directory "/absolute/path/to/budget-mcp" server.py
๐ Open WebUI Integration
Connect this stdio server to Open WebUI using mcpo:
# 1. Start the mcpo HTTP proxy
uvx mcpo --port 8000 -- uv run server.py
# 2. In Open WebUI, navigate to Admin Panel > Settings > External Tools
# Add OpenAPI Connection URL: http://localhost:8000 (or http://host.docker.internal:8000 if using Docker)๐งช Testing & Diagnostics
Run automated tests:
uv run pytestManually inspect tools with MCP Inspector:
npx -y @modelcontextprotocol/inspector uv run server.py๐ License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceA minimal and auditable MCP server that enables local AI assistants to read and manage YNAB budget data. It supports operations like listing accounts, tracking transactions, and moving money between categories while maintaining user privacy.Last updated9MIT
- Flicense-qualityDmaintenanceA lightweight server built with FastMCP and SQLite for managing personal finances. It allows users to add, list, and summarize expenses by category through MCP-compatible clients.Last updated
- Alicense-qualityDmaintenanceA lightweight MCP server for tracking personal expenses, income, and budget summaries using SQLite.Last updated4Adobe Postscript AFM
- Flicense-qualityBmaintenanceA lightweight MCP server that lets LLM clients track, query, and summarize personal expenses using a local SQLite database.Last updated
Related MCP Connectors
MCP server for Gainium โ manage trading bots, deals, and balances via AI assistants
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoโฆ
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/PedroLiu1999/budget-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server