Skip to main content
Glama
EESHAN-ANAND

expense-tracker-postgres-mcp

by EESHAN-ANAND

expense-tracker-postgres-mcp

The persistent, remote version of the expense tracker. Backed by Neon Postgres, one generic execute_sql tool. Add expenses, edit/delete a specific row, and run analytics (GROUP BY category or date) — all in plain English.

Table expense_table

id (auto), flow ('gave'/'received'), date, amount, category (grocery/rent/travel/hygiene/luxury/food/others), note.

Created automatically on startup if it doesn't exist. No seed — data was migrated separately.

Related MCP server: Expense Tracker MCP Server

Guardrail

  • Allowed: SELECT, INSERT, UPDATE, DELETE, ALTER

  • Blocked (at all costs): CREATE, DROP, TRUNCATE, and multi-statement chaining

Setup

cd ~/Documents/Claude/expense-tracker-postgres-mcp
uv add fastmcp "psycopg[binary]" python-dotenv
cp .env.example .env        # paste your Neon DATABASE_URL (project with expense_table)
uv run main.py              # ensures the table exists; serves http://127.0.0.1:8000/mcp

Deploy to FastMCP Cloud

  1. uv lock, then push main.py, pyproject.toml, uv.lock to GitHub.

  2. On fastmcp.cloud: entrypoint main.py, Requirements uv.lock, env var DATABASE_URL = <your Neon connection string>.

  3. Deploy, then add the connector URL in Claude (desktop + mobile).

Example asks

  • "add ₹40 for chai today" → INSERT

  • "total spending this month by category" → SELECT ... GROUP BY category

  • "delete the misc ₹15 entry" → DELETE ... WHERE id = 30

  • "how much on food vs rent in July?" → SELECT ... GROUP BY category

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language management of personal expenses, including adding, listing, and summarizing expenses with local SQLite storage.
    -
  • F
    license
    A
    quality
    C
    maintenance
    Enables natural language management of personal expenses, including adding, updating, deleting, searching, and summarizing expenses stored in a local SQLite database.
    6
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables users to record and retrieve expenses through natural language, with support for categories, dates, and descriptions, backed by a Postgres database.
    MIT