Expense Tracker MCP Server Tooling Backend For LLM Agents
Expense Tracker MCP Server is a FastMCP-based backend that exposes expense tracking, spending analytics, and budget monitoring as MCP tools for LLM/AI agent tool calling, using SQLite for persistent storage and CSV/JSON for reporting.
Installation
npx expense-tracker-mcp-server-tooling-backend-for-llm-agentsAsk AI about Expense Tracker MCP Server Tooling Backend For LLM Agents
Powered by Claude Β· Grounded in docs
I know everything about Expense Tracker MCP Server Tooling Backend For LLM Agents. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
π§Ύ Expense Tracker MCP Server (Tooling Backend for LLM Agents)
A lightweight Expense Tracker + Budget Manager built as an MCP (Model Context Protocol) server using FastMCP, enabling LLM/AI agents to manage expenses, analyze spending trends, and monitor budgets through tool calling.
This project exposes expense and budget operations as MCP tools, backed by a SQLite database for persistence.
π Features β Expense Management
Add new expenses (amount, category, subcategory, note)
Update existing expenses
Delete expenses
List expenses within a date range
π Analytics & Insights
Summarize spending by category
Expense statistics:
total transactions
total spend
average spend
Spending trend analysis grouped by:
day
week
month
year
π° Budgeting Tools
Set category budgets for a date range
Check budget usage:
amount spent
remaining budget
percentage used
over-budget detection
π€ Export
Export expenses in a date range to CSV file
π Resources
Exposes categories via MCP resource endpoint:
expense://categories
ποΈ Project Architecture
FastMCP server exposes tools callable by AI agents
SQLite3 database stores expenses and budgets
Tools act like an API layer for:
CRUD operations
analytics
reporting
budget monitoring
π Database Schema expenses table Column Type Description id INTEGER Primary key amount REAL Expense amount category TEXT Expense category date TEXT Date (YYYY-MM-DD) note TEXT Optional note subcategory TEXT Optional subcategory budgets table Column Type Description id INTEGER Primary key category TEXT Budget category amount REAL Budget amount start_date TEXT Start date end_date TEXT End date π οΈ Tools Available (MCP) Expense Tools
add_expense(date, amount, category, subcategory='', note='')
list_expenses(start_date, end_date)
update_expense(id, date=None, amount=None, category=None, subcategory=None, note=None)
delete_expense(id)
Analytics Tools
summarize(start_date, end_date)
get_statistics(start_date, end_date, category=None)
get_spending_trends(start_date, end_date, group_by='month', category=None)
Budget Tools
set_budget(category, amount, start_date, end_date)
check_budget(category, start_date, end_date)
Export
export_expenses_csv(start_date, end_date, file_path)
MCP Resource
expense://categories β loads categories from categories.json
βΆοΈ Running the MCP Server 1οΈβ£ Clone the repo git clone https://github.com/Ssoumay11/Expense-Tracker-MCP-Server-Tooling-Backend-for-LLM-Agents.git cd expense-tracker-mcp
2οΈβ£ Install dependencies pip install -r requirements.txt
3οΈβ£ Start the MCP server python app.py
(Replace app.py with the filename where your mcp.run() lives.)
π§ͺ Example Usage Add an expense { "date": "2026-01-11", "amount": 150.0, "category": "Food", "subcategory": "Dining Out", "note": "Lunch with friends" }
Summarize spending
Request:
{ "start_date": "2026-01-01", "end_date": "2026-01-31" }
Output:
[ {"category": "Food", "total_amount": 2500.0}, {"category": "Housing", "total_amount": 12000.0} ]
π Notes
Dates should be passed in the format: YYYY-MM-DD
SQLite DB is stored locally as: data.db
Categories are loaded from: categories.json
π§ Why This Project Matters (AI Engineer Angle)
This project demonstrates:
Building a tool backend for AI agents via MCP
Designing reliable, structured tool interfaces
Persistent storage + analytics for agent decision-making
Real-world agent automation workflows (tracking, reporting, budgeting)
π οΈ Tech Stack
Python
FastMCP (Model Context Protocol)
SQLite3
JSON / CSV
Datetime
π€ Author
Soumay Verma
