Expense Tracker MCP Server
Provides tools to manage personal expenses, storing data in MongoDB.
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 Serveradd a $35 taxi expense for yesterday"
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 managing personal expenses. This server exposes a set of MCP tools that allow AI agents to add, list, edit, summarize, and delete expenses. All data is stored in MongoDB and scoped to authenticated users.
⨠Features
š User Authentication
Every request is authenticated using a Bearer Token (API Key).
API keys are securely stored as SHA-256 hashes.
š° Expense Management
Add new expenses
List expenses within a date range
Edit existing expenses
Delete expenses
š Expense Summarization
Aggregate expenses by category
Filter summaries by date range
Optional category filtering
š¤ MCP Native
Fully compatible with MCP-enabled AI agents.
ā” Asynchronous & Fast
Built using FastMCP and Motor for high-performance asynchronous MongoDB operations.
š§° Tech Stack
Technology | Purpose |
Python 3.11+ | Programming Language |
FastMCP | MCP Server Framework |
MongoDB | Database |
Motor | Async MongoDB Driver |
Uvicorn | ASGI Server |
python-dotenv | Environment Variable Management |
š Prerequisites
Before running the project, ensure you have:
Python 3.11+
MongoDB (Local or MongoDB Atlas)
Git
(Optional)
uvpackage manager
š Installation
Related MCP server: Expense Tracker MCP Server
1. Clone the Repository
git clone https://github.com/Vikkaasshh/ExpenseTracker_MCP_Server.git
cd ExpenseTracker_MCP_Server2. Create Virtual Environment
Linux / macOS
python -m venv venv
source venv/bin/activateWindows
python -m venv venv
venv\Scripts\activate3. Install Dependencies
Using uv (Recommended)
pip install uv
uv pip install -e .Using pip
pip install -e .4. Configure Environment Variables
Create a .env file in the project root.
MONGODB_URI=mongodb+srv://<username>:<password>@cluster.mongodb.net/Replace the connection string with your MongoDB URI.
Example:
MONGODB_URI=mongodb+srv://admin:password123@cluster0.mongodb.net/šļø Database Setup
Create a users collection.
Each authenticated user should have a document similar to:
{
"_id": ObjectId("64b5fdf82bc9d0f4b0f92b72"),
"api_key_hash": "f6c7cf74e35dca8d2b11f...",
"is_active": true
}The api_key_hash must contain the SHA-256 hash of the user's API key.
ā¶ļø Running the Server
Run locally:
python main.pyThe server starts at:
http://0.0.0.0:8000MCP endpoint:
http://localhost:8000/mcpš¤ Connecting an MCP Client
Any MCP-compatible client can connect to the server.
Examples:
Claude Desktop
MCP Inspector
Custom MCP Clients
Endpoint
http://localhost:8000/mcpAuthentication Header
Authorization: Bearer <your_api_key>š ļø Available MCP Tools
Tool | Description | Required Parameters |
add_expense | Add a new expense |
|
list_expenses | List expenses |
|
summarize_expense | Summarize expenses by category |
|
edit_expense | Update an expense |
|
delete_expense | Delete an expense |
|
add_expense
Creates a new expense.
Required Parameters
Parameter | Type |
date | YYYY-MM-DD |
amount | float |
category | string |
Optional Parameters
subcategory
note
Example:
{
"date": "2026-01-10",
"amount": 199.99,
"category": "Food",
"subcategory": "Restaurant",
"note": "Dinner"
}list_expenses
Lists expenses between two dates.
Required:
{
"start_date": "2026-01-01",
"end_date": "2026-01-31"
}summarize_expense
Returns grouped expense totals.
Required:
{
"start_date": "2026-01-01",
"end_date": "2026-01-31"
}Optional:
{
"category": "Food"
}edit_expense
Update any expense field.
Example:
{
"expense_id": "687ec8769ef34217",
"amount": 350,
"note": "Updated amount"
}delete_expense
Delete an expense permanently.
{
"expense_id": "687ec8769ef34217"
}š Project Structure
.
āāā main.py
āāā auth.py
āāā db.py
āāā prompt.py
āāā resources/
ā āāā categories.json
ā āāā operation.json
āāā pyproject.toml
āāā uv.lock
āāā README.mdDescription
File | Purpose |
main.py | FastMCP application |
auth.py | Authentication |
db.py | MongoDB connection |
prompt.py | AI system prompt |
resources | Static resources |
pyproject.toml | Project metadata |
uv.lock | Dependency lock |
README.md | Documentation |
š Acknowledgments
Special thanks to:
FastMCP for providing an excellent MCP framework.
MongoDB for scalable document storage.
Motor for asynchronous database operations.
Uvicorn for high-performance ASGI serving.
ā Support
If you found this project useful:
ā Star the repository
Happy Expense Tracking with AI! š
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
- Alicense-qualityDmaintenanceEnables AI agents to manage personal expenses through natural language conversations. Supports adding, searching, and analyzing transactions with automatic categorization and financial insights.Last updated3MIT
- Flicense-qualityDmaintenanceEnables AI assistants to manage personal expenses through natural conversation, supporting expense tracking, categorization, filtering, and financial summaries. Uses SQLite database to store expense records with full CRUD operations for comprehensive personal finance management.Last updated1
- Flicense-qualityDmaintenanceEnables personal expense management through CSV storage, allowing AI agents to add, query, and analyze expenses with automatic categorization and payment method validation.Last updated
- Flicense-qualityDmaintenanceEnables AI assistants to track and manage expenses, including adding, viewing, and summarizing expenses by category, date, or amount, with persistent local storage.Last updated1
Related MCP Connectors
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Log, query, and edit expenses, budgets, and accounts in Ledgy from any MCP-compatible AI assistant.
Connect AI agents to bank accounts, transactions, balances, and investments.
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/Vikkaasshh/ExpenseTracker_MCP_Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server