SpendWise MCP
Enables sending real-time budget alert notifications to Telegram via the CallMeBot API when budgets are at risk.
Click on "Deploy 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., "@SpendWise MCPLog a dinner expense of 425.75 INR from Swiggy under Food."
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.
SpendWise MCP ๐
SpendWise is a secure, multi-tenant expense-tracking server exposed through the Model Context Protocol (MCP). It allows AI agents (like Claude, Grok, or Cursor) to manage personal finances, analyze spending habits, enforce budgets, and send real-time Telegram alerts.
Built with a focus on production-grade security, strict data validation, and multi-tenant data isolation.
โจ Key Features
๐งพ Core Expense Management
Full CRUD: Create, read, update, and soft-delete expenses.
Idempotency & Safety: Prevents accidental duplicate entries and safely handles network retries using idempotency keys.
Multi-Currency Support: Tracks expenses in any 3-letter currency code (INR, USD, EUR, etc.) without mixing them.
๐ Financial Analytics
Spending Summaries: Aggregate active spending by category, month, or merchant over custom date ranges.
Period Comparison: Compare spending across two date ranges with absolute and percentage changes.
๐ฐ Budget Management & Alerts
Dynamic Budgets: Set weekly or monthly spending limits per category (upsert logic).
Status Tracking: Automatically calculates budget health (๐ข Healthy, ๐ก Warning at 80%, ๐ด Over Budget at 100%).
Telegram Alerts: Sends real-time notifications via the CallMeBot API when budgets are at risk.
๐ Multi-Tenant Security
Strict Isolation: Every expense and budget is scoped to the authenticated user.
Dual Auth: Supports Auth0 RS256 JWTs for production and legacy API keys for local testing.
Server-Side Identity: User identity is derived strictly from verified JWT claims, preventing client-side spoofing.
Related MCP server: Personal Expense Tracker MCP
๐ Tech Stack
Core: Python 3.12, MCP SDK (Streamable HTTP), Starlette, Uvicorn
Database: SQLAlchemy 2.0, Alembic (Migrations), SQLite (Local), PostgreSQL (Production)
Validation: Pydantic V2 (Strict schemas, custom validators)
Auth: Auth0 (OAuth2 / JWT RS256)
Notifications: CallMeBot (Telegram API), httpx
Testing & CI: Pytest, Ruff (Lint/Format), GitHub Actions
๐ Quick Start
Requirements
Python 3.12+
uv (Python package manager)
Local Setup
Install dependencies:
uv sync
PROJECT STRUCTURE
spendwise-mcp/ โโโ .github/workflows/ # CI/CD pipeline (lint, test, migration checks) โโโ alembic/versions/ # Database schema migrations โโโ src/spendwise/ โ โโโ app.py # Starlette ASGI app & Auth middleware โ โโโ auth.py # Auth0 JWT & API key verification โ โโโ db.py # SQLAlchemy engine & session management โ โโโ models.py # Expense & Budget ORM models โ โโโ notifications.py # CallMeBot Telegram client โ โโโ schemas.py # Pydantic V2 validation schemas โ โโโ server.py # MCP server & 14 tool definitions โโโ tests/ # 66 isolated Pytest cases โโโ render.yaml # Infrastructure as Code for Render โโโ pyproject.toml # Project metadata & dependencies
This server cannot be deployed
Maintenance
Related MCP Connectors
- ManiloOAuthapp.manilo
Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.
- ManiloOAuthapp.ledgy.api
Log, query, and edit expenses, budgets, and accounts in Manilo (formerly Ledgy) from any MCP-compatible AI assistant.
Log, query, and edit expenses, budgets, and accounts in Ledgy from any MCP-compatible AI assistant.
Corporate travel booking and expense management for TripGain, exposed as an MCP server.
Related MCP Servers
FlicenseAqualityDmaintenanceMCP server for ExpenseLM, a GenAI powered expense management application. Enables AI agents to access expense data for recording, insights, and advice.101-- AlicenseBqualityAmaintenanceEnables local tracking of personal expenses by adding, listing, summarizing, updating, and deleting expense records stored in a CSV file through an MCP client.5MIT
- FlicenseNot gradedqualityBmaintenanceEnables managing and analyzing personal expenses through MCP tools, including adding expense records, listing expenses within date ranges, and summarizing spending by category, with expense categories exposed as an MCP resource.-
- FlicenseBqualityCmaintenanceEnables users to manage personal expenses by adding entries, listing them by date range, and summarizing spending by category through MCP tools, while exposing category data as a resource.3-