ExpenseTracker MCP Server
A 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.
README
š° ExpenseTracker MCP Server
A lightweight and scalable Expense Tracking MCP Server built using FastMCP and SQLite. This server allows you to add, list, and summarize expenses efficiently, making it ideal for personal finance management or integration with MCP-compatible clients like Claude Desktop.
š Features
- ā Add expenses with category and notes
- š List expenses within a date range
- š Summarize expenses by category
- š Default categories support (with fallback)
- ā” Async database operations using
aiosqlite - āļø Cloud-ready (FastMCP deployment compatible)
š ļø Tech Stack
- Python
- FastMCP
- SQLite (aiosqlite for async support)
š Project Structure
.
āāā main.py # Main MCP server file
āāā requirements.txt # Dependencies
āāā categories.json # (Optional) Custom categories
āāā README.md
āļø Setup & Installation
1. Clone the repository
git clone https://github.com/your-username/your-repo-name.git
cd your-repo-name
2. Create virtual environment
python -m venv venv
venv\Scripts\activate # Windows
3. Install dependencies
pip install -r requirements.txt
ā¶ļø Running the Server
python main.py
Server will start at:
http://0.0.0.0:8000
š MCP Endpoint
Once deployed on FastMCP, your endpoint will look like:
https://your-app-name.fastmcp.app/mcp
ā ļø Note: Authentication is required to access this endpoint.
š Available Tools
⤠Add Expense
Adds a new expense entry.
Parameters:
date(YYYY-MM-DD)amount(float)category(string)subcategory(optional)note(optional)
⤠List Expenses
Fetch expenses within a date range.
Parameters:
start_dateend_date
⤠Summarize Expenses
Get category-wise expense summary.
Parameters:
start_dateend_datecategory(optional)
š Categories Resource
Endpoint:
expense:///categories
- Loads from
categories.jsonif available - Falls back to default categories if file is missing
š§ How It Works
- Uses a temporary directory for database storage
- Initializes database on startup
- Uses async operations for better performance
- Safe fallback mechanisms for missing files
ā ļø Common Issues & Fixes
ā Pre-flight check failed
- Ensure your file name is
main.py - Make sure
mcp = FastMCP(...)is correct - Check logs for missing dependencies
ā Module not found
- Add missing packages to
requirements.txt
Example:
fastmcp
aiosqlite
š” Future Improvements
- User authentication system
- Dashboard UI
- Monthly budget tracking
- Data export (CSV/Excel)
šØāš» Author
Built with ā¤ļø for learning and real-world MCP integration.
ā Support
If you like this project:
- Star ā the repo
- Share with others
- Contribute improvements
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.