The Expense Tracker MCP Server enables comprehensive personal expense management through natural language interactions with Claude Desktop, storing data in a SQLite database.
Core Capabilities:
Add Expenses - Record expenses with date, amount, category, optional subcategory, and notes
List Expenses - View expenses within specific date ranges
Update Expenses - Modify existing expenses by ID, changing any combination of fields
Delete Expenses - Remove expenses using flexible criteria (ID, date, category, subcategory, amount, note, or date ranges)
Summarize Expenses - Get aggregated spending summaries grouped by category for specific periods, with optional category filtering
View Categories - Access predefined expense categories (food, transport, entertainment, utilities, healthcare)
Deployment Options:
Direct Remote Access - Connect to pre-deployed server instantly (Claude Pro only)
Local Proxy - Run a local proxy to remote server (works with Claude Free)
Full Local Installation - Complete control with local database storage for maximum privacy
Stores and manages personal expense data in a SQLite database, including adding, updating, deleting, listing, and summarizing expenses by category with persistent storage.
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., "@Expense Tracker MCP Servershow me my expenses from this month"
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.
Expense Tracker MCP Server
A Model Context Protocol (MCP) server for tracking personal expenses with SQLite database storage. This server integrates with Claude Desktop to provide expense management capabilities through natural language.
Features
✅ Add, update, and delete expenses
✅ List expenses by date range
✅ Summarize expenses by category
✅ Flexible deletion by multiple criteria
✅ Predefined expense categories
✅ SQLite database for persistent storage
✅ Local and remote deployment options
Quick Start Options
Choose the setup method that works best for you:
Option 1: Direct Remote Server (Instant Setup - Claude Pro Only)
⚠️ Requires Claude Pro subscription - Direct URL connections are a Pro feature.
Connect directly to the deployed remote server without any local setup:
Open Claude Desktop configuration file:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Add this configuration:
Restart Claude Desktop
Start tracking expenses immediately! 🎉
Note: This remote server is hosted on FastMCP Cloud. Your data is stored on the remote server.
Don't have Claude Pro? Use Option 2 below to connect via a local proxy server!
Option 2: Local Proxy to Remote Server (For Free Users & Customization)
✅ Works with Claude Free plan! Run a local MCP server that proxies requests to the remote server. This is the way to access remote MCP servers if you don't have Claude Pro.
Use cases:
Connect to remote servers on Claude Free plan
Add custom logging or middleware
Run locally while using remote data
Extend functionality with additional features
Setup Steps:
Install uv (if not already installed):
Windows (PowerShell):
macOS/Linux:
Create a new project:
Install FastMCP:
Create proxy server (
main.py):
Configure Claude Desktop:
Important: Replace the path with your actual project directory.
Restart Claude Desktop
Benefits of Proxy Approach:
Add custom logging or middleware
Modify requests/responses before forwarding
Run locally but leverage remote infrastructure
Easy to extend with additional features
Option 3: Full Local Installation (Complete Control & Privacy)
For those who want full control, privacy, and the ability to modify the core server logic.
Prerequisites
Python 3.10 or higher
uv package manager
Claude Desktop app
Installation
1. Install uv
Windows (PowerShell):
macOS/Linux:
2. Clone or Create Project
3. Install Dependencies
4. Create the Server
Copy the full main.py code from this repository into your project.
5. Test the Server
6. Configure Claude Desktop for Local Server
Open Claude Desktop configuration file (locations mentioned above)
Add the MCP server configuration:
Important: Replace the path with your actual project directory path.
Restart Claude Desktop
Usage
Once configured (via any method), you can interact with the expense tracker through Claude using natural language:
Add Expense
List Expenses
Update Expense
Delete Expense
Summarize Expenses
View Categories
Available Tools
add_expense
Add a new expense to the tracker.
Parameters:
date(string): Date in YYYY-MM-DD formatamount(float): Expense amountcategory(string): Expense categorysubcategory(string, optional): Subcategorynote(string, optional): Additional notes
list_expenses
List all expenses within a date range.
Parameters:
start_date(string): Start date (YYYY-MM-DD)end_date(string): End date (YYYY-MM-DD)
update_expense
Update an existing expense (only provided fields will be updated).
Parameters:
cid(int): Expense ID to updatedate(string, optional): New dateamount(float, optional): New amountcategory(string, optional): New categorysubcategory(string, optional): New subcategorynote(string, optional): New note
delete_expense
Delete expenses based on various criteria.
Parameters:
id(int, optional): Delete by IDdate(string, optional): Delete by datecategory(string, optional): Delete by categorysubcategory(string, optional): Delete by subcategoryamount(float, optional): Delete by amountnote(string, optional): Delete by notestart_date&end_date(strings, optional): Delete by date range
summarize_expenses
Get expense summaries grouped by category.
Parameters:
start_date(string): Start date (YYYY-MM-DD)end_date(string): End date (YYYY-MM-DD)category(string, optional): Filter by specific category
Available Resources
expense://categories
Returns the list of available expense categories in JSON format.
Database Schema
File Structure
For Full Local Installation:
For Proxy Setup:
Default Categories
The server comes with these default categories:
food
transport
entertainment
utilities
healthcare
You can modify categories.json to add or remove categories (local installation only).
Deployment Options Comparison
Feature | Direct Remote (Pro) | Local Proxy (Free/Pro) | Full Local |
Claude Plan | Pro only | Free & Pro | Free & Pro |
Setup Time | 2 minutes | 5 minutes | 15-20 minutes |
Privacy | Remote storage | Remote storage | Complete privacy |
Customization | None | Middleware only | Full control |
Maintenance | Zero | Minimal | Manual updates |
Internet Required | Yes | Yes | No |
Code Required | No | 5 lines | Full codebase |
Cost | Pro subscription | Free | Free |
Troubleshooting
Server not appearing in Claude Desktop
Check the configuration file path is correct
Ensure the
commandpath points to your project directory (for local/proxy setup)Verify the remote URL is correct (for direct remote setup)
Restart Claude Desktop completely
Check Claude Desktop logs for errors
Remote Server Issues
If the remote server isn't responding:
Check your internet connection
Verify the URL:
https://boiling-aqua-trout.fastmcp.app/mcpTry removing and re-adding the configuration
Contact me via GitHub issues if the problem persists
Proxy Server Issues
If the proxy isn't working:
Test the proxy server independently:
uv run main.pyCheck if the remote URL is accessible
Verify your FastMCP installation:
uv add fastmcpCheck Claude Desktop configuration paths
Database errors (Local Installation Only)
If you encounter database errors:
Import errors
Development
Extending the Proxy Server
You can add custom logic to the proxy server:
Modifying the Full Server
To modify the server:
Edit
main.pyTest changes:
uv run main.pyRestart Claude Desktop to load changes
Deploying Your Own Remote Server
Want to deploy your own version on FastMCP Cloud?
Sign up at FastMCP Cloud
Follow their deployment instructions
Update the URL in your Claude Desktop configuration or proxy code
Share your server URL with others!
Contributing
Contributions are welcome! Feel free to submit issues or pull requests.
Roadmap
Add budget tracking and alerts
Support for multiple currencies
Recurring expense templates
Export to CSV/Excel
Data visualization and charts
Multi-user support with authentication
Authentication for remote server access
Support
For issues related to:
This Project: GitHub Issues
MCP Protocol: MCP Documentation
FastMCP: FastMCP GitHub
Claude Desktop: Anthropic Support
Acknowledgments
Built with:
FastMCP - Framework for building MCP servers
Anthropic Claude - AI assistant platform
Model Context Protocol - Standard for AI-application integration
⭐ If you find this project helpful, please consider giving it a star on GitHub!
📧 Questions? Open an issue or reach out on LinkedIn