Skip to main content
Glama
castletaste

mcp-money

by castletaste

mcp-money

MCP server for personal finance tracking. Designed for AI assistants — track expenses, income, budgets, and get financial summaries through 16 MCP tools.

Uses PostgreSQL with Drizzle ORM. Auto-migrates on startup.

Requirements

  • Bun runtime

  • PostgreSQL 14+

Related MCP server: expense-mcp

Installation

bunx mcp-money

Configuration

Add to your MCP client config (e.g. Claude Desktop):

{
  "mcpServers": {
    "money": {
      "command": "bunx",
      "args": ["mcp-money"],
      "env": {
        "DATABASE_URL": "postgresql://user:pass@localhost:5432/mydb"
      }
    }
  }
}

Environment variables

Variable

Required

Default

Description

DATABASE_URL

Yes

PostgreSQL connection string

MCP_MONEY_SCHEMA

No

mcp_money

PostgreSQL schema name

DEBUG

No

false

Enable SQL query logging to stderr

Tools (16)

Transactions

Tool

Description

add_transaction

Record an expense or income. Expenses stored as negative amounts. Tags created on-the-fly.

list_transactions

List with filters: date range, category, tag, currency. Supports limit/offset pagination.

update_transaction

Partial update of any field including tags.

delete_transaction

Hard delete a transaction.

Categories

Tool

Description

list_categories

List all categories grouped by type (expense/income).

create_category

Create a category with name, type, optional parent (one nesting level).

delete_category

Delete a category. Fails if transactions, budgets, or child categories reference it.

Tags

Tool

Description

list_tags

List all tags.

create_tag

Create a tag with a unique name.

delete_tag

Delete a tag and all transaction associations (CASCADE).

Summary

Tool

Description

get_summary

Financial summary for a date range: expenses by category, totals and averages per currency.

Budgets

Tool

Description

set_budget

Set or update a monthly budget for a category.

get_budget_status

Check budget vs actual spending for a month. Multi-currency aware.

delete_budget

Delete a budget by ID.

Utilities

Tool

Description

set_currency

Set the default currency for new transactions (e.g. USD, EUR, RUB).

health_check

Check DB connection, schema version, and statistics.

Multi-currency

Every transaction stores its own currency. The default currency (initially USD) can be changed via set_currency. Summaries and budget statuses group by currency — no cross-currency conversion.

Default categories

On first run, ~10 categories are seeded: Groceries, Restaurants, Transport, Entertainment, Utilities, Rent, Salary, Healthcare, Shopping, Other.

Development

bun install
bun run dev        # watch mode
bun test           # run tests

Requires a running PostgreSQL instance. Set DATABASE_URL in .env.

License

ISC

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/castletaste/money-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server