Skip to main content
Glama
shahlaukik

Money Manager MCP Server

by shahlaukik
README.md
# Money Manager MCP Server

[![npm version](https://img.shields.io/npm/v/money-manager-mcp.svg)](https://www.npmjs.com/package/money-manager-mcp)
[![npm downloads](https://img.shields.io/npm/dm/money-manager-mcp.svg)](https://www.npmjs.com/package/money-manager-mcp)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D22.13.0-brightgreen)](https://nodejs.org/)
[![MCP Protocol](https://img.shields.io/badge/MCP-Compatible-purple)](https://modelcontextprotocol.io/)
[![Open Source Love](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)

![Money Manager MCP](./docs/assets/banner.png)

An [MCP](https://modelcontextprotocol.io/) server that lets AI assistants manage personal finances through the **Realbyte Money Manager** app's PC Manager web server.

## ✨ Features

- **Full transaction CRUD** — create, read, update, delete income & expenses
- **Assets & credit cards** — manage accounts, balances, and cards
- **Transfers** — move money between accounts
- **Reports & export** — period summaries and Excel export
- **Dashboard** — net-worth trends and portfolio breakdown
- **Session persistence** — stays logged in across restarts

## 🆕 What's new in v2.0.0

- **Migrated to FastMCP** — the server is now built on the [FastMCP](https://github.com/punkpeye/fastmcp) framework with Zod-validated tool inputs. Same 18 tools, same setup — just a smaller, cleaner, more maintainable codebase.
- **Security & supply-chain hardening** — removed dynamic code execution from the API response parser, locked Excel exports to your working directory (symlink-safe, atomic writes), retries limited to safe read operations, and all dependencies refreshed (`npm audit`: 0 known vulnerabilities). Node.js ≥ 22.13 is now required.
- **End-to-end testing skill for AI agents** — the bundled [`testing-money-manager-mcp`](.agents/skills/testing-money-manager-mcp/SKILL.md) skill verifies every tool against a live Money Manager server with throwaway data and guaranteed cleanup.

## 📦 Prerequisites

- **Node.js** ≥ 22.13
- The **Money Manager app** (Android) with its PC Manager web server running on the **same Wi-Fi network** as your computer. To start it: open the app → **More (⋮) → PC Manager → Start**, and note the displayed address (e.g. `192.168.1.1:8888`)
- An MCP-compatible client (Claude Desktop, VS Code with Copilot, Cursor, …)

## 🚀 Quick Start

Add the server to your AI client.

### VS Code / GitHub Copilot

**One-click install** (prompts for the base URL):

[![Install for VS Code](https://img.shields.io/badge/VS_Code-Install_Money_Manager_MCP-0098FF?logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=money-manager&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22money-manager-mcp%40latest%22%2C%22--baseUrl%22%2C%22%24%7Binput%3AmoneyManager.baseUrl%7D%22%5D%7D&inputs=%5B%7B%22id%22%3A%22moneyManager.baseUrl%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Enter%20the%20base%20URL%20for%20the%20Money%20Manager%20API%20%28e.g.%2C%20http%3A%2F%2F192.168.1.1%3A8888%29%22%2C%22default%22%3A%22http%3A%2F%2F192.168.1.1%3A8888%22%7D%5D)
[![Install for VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install_Money_Manager_MCP-24bfa5?logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=money-manager&quality=insiders&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22money-manager-mcp%40latest%22%2C%22--baseUrl%22%2C%22%24%7Binput%3AmoneyManager.baseUrl%7D%22%5D%7D&inputs=%5B%7B%22id%22%3A%22moneyManager.baseUrl%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Enter%20the%20base%20URL%20for%20the%20Money%20Manager%20API%20%28e.g.%2C%20http%3A%2F%2F192.168.1.1%3A8888%29%22%2C%22default%22%3A%22http%3A%2F%2F192.168.1.1%3A8888%22%7D%5D)

**Or manually** — add to `.vscode/mcp.json`:

```json
{
  "servers": {
    "money-manager": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "money-manager-mcp@latest",
        "--baseUrl",
        "http://YOUR_PHONE_IP:PORT"
      ]
    }
  }
}
```

### Claude Desktop / Cursor / Others

Add the server to your client's MCP config (e.g. `claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "money-manager": {
      "command": "npx",
      "args": [
        "money-manager-mcp@latest",
        "--baseUrl",
        "http://YOUR_PHONE_IP:PORT"
      ]
    }
  }
}
```

> 📖 **Advanced users** — running from source, environment variables, config files, and per-client setup are covered in the [Setup Guide](docs/SETUP.md).

## 📋 Tools

| Category     | Tools                                                                                |
| ------------ | ------------------------------------------------------------------------------------ |
| Init         | `init_get_data`                                                                      |
| Transactions | `transaction_list`, `transaction_create`, `transaction_update`, `transaction_delete` |
| Summaries    | `summary_get_period`, `summary_export_excel`                                         |
| Assets       | `asset_list`, `asset_create`, `asset_update`, `asset_delete`                         |
| Cards        | `card_list`, `card_create`, `card_update`                                            |
| Transfers    | `transfer_create`, `transfer_update`                                                 |
| Dashboard    | `dashboard_get_overview`, `dashboard_get_asset_chart`                                |

## 💬 Example Usage

Once connected, just talk to your AI assistant:

| You say                                      | Tool used                |
| -------------------------------------------- | ------------------------ |
| "What did I spend last month?"               | `summary_get_period`     |
| "Record a $45 grocery expense from checking" | `transaction_create`     |
| "Transfer $200 from checking to savings"     | `transfer_create`        |
| "Export November's transactions to Excel"    | `summary_export_excel`   |
| "Show my net worth trend"                    | `dashboard_get_overview` |

> 📖 More example prompts and multi-step workflows: [Usage Guide](docs/USAGE.md)

## 📚 Documentation

| Document                                             | Description                      |
| ---------------------------------------------------- | -------------------------------- |
| [Setup Guide](docs/SETUP.md)                         | Installation & configuration     |
| [Usage Guide](docs/USAGE.md)                         | Tool reference & example prompts |
| [API Reference](docs/technical/API_DOCUMENTATION.md) | Upstream Money Manager HTTP API  |
| [Architecture](docs/technical/ARCHITECTURE.md)       | System design                    |
| [Contributing](CONTRIBUTING.md)                      | Development setup & guidelines   |
| [AGENTS.md](AGENTS.md)                               | Guidance for AI coding agents    |

## ⚠️ Legal Disclaimer

**Money Manager** is developed by **RealByte**. This MCP server is an independent community project — **not affiliated with, endorsed by, or sponsored by RealByte**. Use is at your own risk and intended for personal/educational use. Users are responsible for compliance with Money Manager's terms of service.

## 🙏 Acknowledgments

- [Model Context Protocol](https://modelcontextprotocol.io/) for the MCP specification
- [FastMCP](https://github.com/punkpeye/fastmcp) — the TypeScript MCP framework this server is built on

---

<div align="center">
  <p>Made with ❤️ by <a href="https://github.com/shahlaukik">Laukik Shah</a></p>
  <p>
    <a href="https://github.com/shahlaukik/money-manager-mcp/issues">Report Bug</a> •
    <a href="https://github.com/shahlaukik/money-manager-mcp/issues">Request Feature</a>
  </p>
</div>

TDQS

A3.5/5.0

Scored across 18 tools

Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity, as they are organized by resource types (asset, card, dashboard, init, summary, transaction, transfer) and specific actions (create, list, update, delete, get, export). The descriptions further clarify unique functions, such as dashboard_get_asset_chart for chart data versus dashboard_get_overview for overview data, ensuring agents can easily differentiate between tools.

Naming Consistency4/5

The naming follows a consistent pattern of resource_action or resource_action_additional_detail using snake_case throughout, with minor deviations like init_get_data and summary_export_excel that slightly break the verb_noun convention but remain readable. Overall, the naming is predictable and aids in understanding tool purposes across the set.

Tool Count5/5

With 18 tools, the count is well-scoped for a money management server, covering assets, cards, transactions, transfers, dashboards, summaries, and initialization. Each tool earns its place by providing necessary CRUD operations and additional functionalities like exporting and dashboard views, without being excessive or insufficient for the domain.

Completeness5/5

The tool surface offers complete CRUD/lifecycle coverage for key resources (assets, cards, transactions, transfers), along with dashboard insights, summary statistics, data export, and initialization. There are no obvious gaps; agents can perform all essential financial management tasks, from creating and updating records to analyzing trends and exporting data, ensuring no dead ends in workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues