Skip to main content
Glama
shaack

mcp-for-money-money

by shaack

mcp-for-money-money

Ein kleiner MCP-Server (Model Context Protocol), der MoneyMoney auf dem Mac per AppleScript kapselt. Er liefert die Soll-Liste der Abbuchungen für den Rechnungsabgleich (siehe HowTo „Eingangsrechnungen sammeln mit Apple Mail", Schritt 1). Geschwister-Server zu mcp-for-apple-mail: MoneyMoney liefert die Buchungstage, Apple Mail liefert die PDFs.

Tools

Tool

Zweck

export_accounts

Kontenliste als plist, zeigt die exakten Kontonamen

export_transactions

Umsätze eines Kontos im Zeitraum (bookingDate, amount, name, purpose)

Related MCP server: banktivity-mcp

Installation

npm install

Kein Build-Schritt: reines ESM-JavaScript, läuft direkt mit Node (>= 18).

Voraussetzung

MoneyMoney muss laufen und entsperrt sein. Ist die Datenbank gesperrt, schlägt der Export mit einer AppleScript-Fehlermeldung fehl (der Server reicht sie durch).

Lokal testen

npm run inspect

Registrieren

Claude Code:

claude mcp add money-money -- node /absolute/path/to/mcp-for-money-money/src/index.js

Claude Desktop, in ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "money-money": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-for-money-money/src/index.js"
      ]
    }
  }
}

Beispielablauf

  1. export_accounts, um den exakten Kontonamen zu sehen.

  2. export_transactions mit account: "My Checking Account", fromDate: "2026-04-01", toDate: "2026-06-30". Das plist enthält je Buchung bookingDate, amount, name und purpose, in Buchungsreihenfolge je Tag. Daraus die Soll-Liste bauen.

  3. Danach mit mcp-for-apple-mail die passenden PDF-Rechnungen sammeln und gegen diese Liste abhaken. Maßgeblich ist der Abbuchungstag, nicht das Rechnungsdatum.

Available Tools

2 tools
export_accountsKonten auflistenA

Exportiert die Kontenliste aus MoneyMoney als plist. Zeigt die exakten Kontonamen für den account-Parameter von export_transactions. MoneyMoney muss entsperrt sein.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It does disclose the unlock requirement as a prerequisite, which is useful operational context. However, it doesn't clarify the read-only nature explicitly or what the exact output format/return value looks like beyond mentioning 'plist', leaving some behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at three short sentences, front-loaded with the primary action. Every sentence earns its place: what it does, why it's useful, and a key prerequisite. Zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has zero parameters, no output schema, and a single sibling tool, the description covers the essential context well. It explains the relationship to export_transactions (which is the main contextual gap a user faces) and the unlock prerequisite. Minor gap: no mention of output format details beyond 'plist', but this is minor for a parameterless listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, so the description doesn't need to explain parameter semantics. The baseline of 4 for zero-parameter tools applies here, as there's nothing to compensate for. The description efficiently communicates all the relevant meaning for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is specific and clear: it exports the account list from MoneyMoney as a plist file. It explicitly states the purpose is to reveal exact account names for use with the account parameter of the sibling tool export_transactions, which strongly distinguishes it from that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states a clear prerequisite ('MoneyMoney muss entsperrt sein' / MoneyMoney must be unlocked) and its usage context (to get exact account names for export_transactions). It doesn't explicitly state when NOT to use it, but the context of revealing exact account names makes the use case clear given the sibling relationship.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_transactionsUmsätze exportierenA

Exportiert die Umsätze eines Kontos in einem Zeitraum. Das plist enthält bookingDate, amount, name und purpose je Buchung, in Buchungsreihenfolge je Tag. Das ist die Soll-Liste der Abbuchungen für den Rechnungsabgleich. MoneyMoney muss entsperrt sein.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoExportformat, Vorgabe plist
toDateYesEnddatum YYYY-MM-DD (inklusive)
accountYesExakter Kontoname, z. B. "My Checking Account" (siehe export_accounts)
fromDateYesStartdatum YYYY-MM-DD (inklusive)

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the output format (plist with bookingDate, amount, name, purpose in booking order per day) and a critical prerequisite: MoneyMoney must be unlocked. This is useful operational context beyond a simple read.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, covering purpose, output semantics, use-case context, and prerequisites in a few sentences. Slightly dense with technical terms but no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the output structure and unlock requirement well. However, it doesn't mention behavior for the CSV format option (a parameter with enum), nor describe error cases (e.g., invalid account name). For a tool with 4 params, no output schema, and no annotations, some gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema documents all parameters (dates, account, format). The description adds value by noting the account needs to be the exact name and referencing export_accounts as the source for account names, plus clarifying date inclusivity implicitly. The plist output details supplement what the schema lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it exports a Konto's transactions in a date range, with a specific verb and resource. However, it does not differentiate from its sibling tool export_accounts, which could cause confusion about which export tool to use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates it's the target list ('Soll-Liste') for invoice reconciliation, giving some usage context. However, it doesn't explicitly say when to use this vs export_accounts, and no exclusion criteria are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.1.0
    • First observedexport_accounts
    • First observedexport_transactions

TDQS

A3.8/5.0

Scored across 2 tools

Disambiguation5/5

The two tools target completely distinct resources and operations: one exports the account list, the other exports transactions for a specific account. Their purposes are clearly separated with no overlap.

Naming Consistency5/5

Both tools follow the exact same verb_noun pattern: export_accounts and export_transactions. The naming is perfectly consistent and predictable.

Tool Count3/5

With only 2 tools, the server feels thin for what appears to be a specialized MoneyMoney integration, though it may be justified if these are the only needed operations. This is borderline given the narrow domain scope.

Completeness3/5

The two tools cover the core data export flows (getting account references and exporting transactions), but there are no update/delete/cancel operations. For a read-only export purpose this may be complete, yet the transaction export lacks flexibility (e.g., no filtering by type, no summary/aggregation options).

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for accessing and managing Banktivity personal finance data, enabling account, transaction, and budget operations through natural language.
    3
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Local MCP server for macOS native apps: Mail, Calendar, Reminders, Notes, Messages, and Contacts. Enables reading and organizing your Mac life through a single stdio process using AppleScript/JXA.
    40
    12 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server that encapsulates Apple Mail on macOS via AppleScript, enabling invoice PDF search, attachment saving, and message flagging through natural language.
    5
    MIT