Personal Expense Manager
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.
π MCP Server - Personal Expense Manager
An MCP (Model Context Protocol) server for managing and analyzing personal expenses from CSV files.
π Features
Add expenses to a CSV file with categorization
Get recent expenses with day-based filtering
MCP Resource for direct access to all expenses
Specialized prompt that generates automatic analytical summaries
Analysis by category and payment method
Trend detection and spending patterns
Related MCP server: Trackor
π Requirements
pip install fastmcp mcpποΈ Project Structure
expenses-mcp-server/
βββ server.py # Main MCP server
βββ data/
β βββ expenses.csv # Expenses file (created automatically)
βββ requirements.txt
βββ README.mdπ οΈ Installation & Usage
1. Clone or create the project
mkdir expenses-mcp-server
cd expenses-mcp-server2. Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # Linux/Mac
# or
venv\Scripts\activate # Windows3. Install dependencies
pip install fastmcp mcp4. Run the server
python server.pyπ§ Available Functionalities
Tools
1. agregar_gasto (Add Expense)
Adds a new expense to the system.
Parameters:
fecha: Date in 'YYYY-MM-DD' formatcategoria: Expense category (e.g., "Food", "Transport")cantidad: Expense amount (float)metodo_pago: Payment method used
Example:
agregar_gasto("2024-01-15", "Groceries", 150.75, "Debit Card")2. obtener_gastos_recientes (Get Recent Expenses)
Gets expenses from the last N days.
Parameters:
dias: Number of days to query (default: 5)
Example:
obtener_gastos_recientes(7) # Last 7 daysResource
resource://gastos
Direct access to all stored expenses.
Specialized Prompt
Resumen de Gastos Recientes (Recent Expenses Summary)
Generates a prompt with structured data for AI to create a complete analysis including:
π Statistical calculations (totals, averages)
π·οΈ Category analysis
π³ Payment method distribution
π Trend identification
π‘ Personalized recommendations
π CSV Structure
The data/expenses.csv file has the following structure:
fecha,categoria,cantidad,metodo_pago
2024-01-15,Groceries,150.75,Debit Card
2024-01-16,Transport,45.50,Cash
2024-01-17,Entertainment,89.99,Credit Cardπ MCP Client Integration
Python Client Example
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main():
server_params = StdioServerParameters(
command="python",
args=["server.py"]
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
# Initialize session
await session.initialize()
# Add expense
result = await session.call_tool(
"agregar_gasto",
{
"fecha": "2024-01-18",
"categoria": "Restaurant",
"cantidad": 85.50,
"metodo_pago": "Credit Card"
}
)
print(result)
# Get recent expenses
expenses = await session.call_tool(
"obtener_gastos_recientes",
{"dias": 5}
)
print(expenses)
if __name__ == "__main__":
asyncio.run(main())π― Use Cases
1. Daily Expense Tracking
# Add transport expense
agregar_gasto("2024-01-18", "Transport", 35.00, "Cash")
# Add food expense
agregar_gasto("2024-01-18", "Food", 120.00, "Debit Card")2. Weekly Analysis
# Get last week summary
obtener_gastos_recientes(7)3. Monthly Report
# Complete 30-day analysis
obtener_gastos_recientes(30)π Example Generated Analysis
The specialized prompt generates analysis like:
π EXPENSE SUMMARY - LAST 5 DAYS
π° TOTAL SPENT: $1,245.75
π
DAILY AVERAGE: $249.15
π’ TRANSACTIONS: 8 purchases
π·οΈ CATEGORY DISTRIBUTION:
β’ Groceries: 45% ($560.25)
β’ Transport: 25% ($311.44)
β’ Entertainment: 20% ($249.15)
β’ Restaurant: 10% ($124.58)
π³ PAYMENT METHODS:
β’ Credit Card: 60%
β’ Debit Card: 30%
β’ Cash: 10%
π OBSERVATIONS:
β’ Highest spending on Wednesday ($420.50)
β’ "Groceries" category represents almost half of expenses
β’ Growing trend in credit card usage
π‘ RECOMMENDATIONS:
β’ Consider bulk purchases to reduce grocery expenses
β’ Diversify payment methods for better control
β’ Set weekly limit for entertainmentπ οΈ Troubleshooting
Error: "FileNotFoundError"
Ensure the
data/directory existsServer creates the file automatically with the first expense
Error: "Encoding issues"
Server uses UTF-8 for special character compatibility
Error: "Invalid date format"
Use exact format:
YYYY-MM-DDExample:
2024-01-18
π License
MIT License
π Support
For issues and questions, open a ticket in the project repository.
Start tracking your expenses intelligently! π
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
This server cannot be deployed
Maintenance
Related MCP Connectors
Track expenses from your AI chat: log, categorize, monthly CSV reports. All data is local.
Import bank CSV exports, categorise transactions, total them by category or month, match expenses.
Personal finance tracker β log transactions, view summaries, and browse a dashboard
Expense ledger for AI assistants: record receipts line by line, ask what you spent, export anytime.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables personal expense management through CSV storage, allowing AI agents to add, query, and analyze expenses with automatic categorization and payment method validation.-
- FlicenseNot gradedqualityDmaintenanceEnables users to track and manage personal expenses through natural language, including adding entries, filtering by date/category, viewing statistics, and exporting data in JSON or CSV format.3-
- FlicenseCqualityDmaintenanceEnables personal expense management with SQLite storage, allowing users to add, update, delete, list, and summarize expenses by category through natural language interactions.5-
- FlicenseCqualityDmaintenanceEnables AI assistants to manage personal finances by storing, analyzing, and exporting expense data using a persistent PostgreSQL database. Supports adding/editing expenses, generating spending summaries, detecting top categories, and creating monthly reports.12-