Expense Tracker MCP Server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Expense Tracker MCP Server
A Python-based FastMCP server for tracking personal expenses with MongoDB storage and a fixed category/subcategory model.
Project Overview
This repository implements an expense tracker as an MCP service using fastmcp. It stores expenses in a MongoDB collection and enforces a predefined set of categories and subcategories defined in categories.json.
The server exposes the following MCP tools:
list_categories()add_expense(amount, category, subcategory, date=None, note=None)update_expense(expense_id, amount=None, category=None, subcategory=None, date=None, note=None)delete_expense(expense_id)list_expenses(start_date=None, end_date=None, category=None, limit=20)get_expense_summary(start_date=None, end_date=None, group_by="category")
Related MCP server: expense-tracker-mcp-server
Requirements
Python 3.13 or newer
MongoDB access via connection URI
fastmcppython-dotenvpymongo
Setup
Create and activate a Python virtual environment.
Install dependencies:
pip install -r requirements.txtCreate a
.envfile at the project root with:
MONGODB_URI=<your-mongodb-uri>Run the server:
python main.pyThe server listens on port
8000by default and can be overridden with thePORTenvironment variable.
Configuration
main.pycontains the MCP service configuration, database connection logic, and expense CRUD operations.categories.jsondefines the allowed categories and subcategories for every expense.render.yamldefines a Render deployment configuration that installs requirements and starts the service.
Expense Data Model
Each expense document includes:
amount(float)category(string)subcategory(string)date(stored as a date object)note(optional string)created_at(UTC timestamp)
Expense IDs are stored as MongoDB _id values and returned as expense_id in serialized responses.
Usage Notes
Use
list_categories()before adding or updating an expense so you can choose valid category and subcategory values.Dates must be in
YYYY-MM-DDformat when provided.add_expense()requires a positive amount.update_expense()only changes the fields you provide.list_expenses()defaults to the most recent 20 expenses and supports filtering by date range and category.get_expense_summary()aggregates totals by category or by month.
Deployment on Render
The included render.yaml configures a Python web service:
buildCommand:pip install -r requirements.txtstartCommand:python main.pyMONGODB_URIis expected from a Render-managed secret namedmongodb_uri
Category Guidance
The app uses the category definitions from categories.json, so do not invent new categories or subcategories. If you need to verify valid values, call list_categories().
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
The **OTTTA MCP server** lets you manage your habit trackers. Add / create / update / delete groups, trackers and values. The idea behind OTTTA is to make tracking very easy. The app is simple, you create groups, in the groups you put things to track on a daily basis and then it generates graphs. You can log values to the trackers via the [OTTTA website](https://ottta.com/), via our API, our MCP of course and via the OTTTA Chrome Extension. Soon more ways will be available.
MCP server for Quaderno — tax-rate calculation, invoices, contacts, products, receipts & expenses.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA 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.-
- FlicenseBqualityDmaintenanceMCP server for tracking personal expenses using FastMCP and SQLite, enabling adding, listing, updating, deleting expenses and summarizing by category via natural language tools.51-
- FlicenseNot gradedqualityDmaintenanceA simple MCP server for tracking expenses in a local SQLite database, enabling add, read, update, delete, and summarization of expenses with predefined categories.-
- FlicenseBqualityCmaintenanceAn AI-powered MCP server for personal and group expense management, providing CRUD operations, advanced filtering, analytics, Splitwise-style splitting, budget tracking, and report generation.38-