Read-only MCP server that wraps MoneyMoney's official AppleScript export interface. Provides access to accounts, transactions, portfolio, and categories from MoneyMoney.app running on macOS.
Four read-only tools with clear, descriptive docstrings and proper parameter documentation. Tool names follow verb_noun convention (mm_accounts, mm_transactions, mm_portfolio, mm_categories). All tools have descriptions (194 - 250 chars, within baseline 34 - 392 range). Parameters are documented with context (e.g., 'account name exactly as shown by mm_accounts'). However, input schemas lack formal JSON Schema type declarations, parameters are documented in prose but not in structured schema. Output schemas are not documented. No error handling guidance for LLMs (e.g., 'if account not found, call mm_accounts first'). No pagination or result limits documented despite potential for large exports. Tool descriptions could better explain WHEN to use each tool vs. alternatives.
List all MoneyMoney accounts with balances, currency, type, IBAN and uuid. Read-only. Returns one entry per account/group (icons stripped). Use the `name` values as the account argument for mm_transactions / mm_portfolio.
List the MoneyMoney category tree (read-only). Icons stripped.
Export the securities/precious-metals portfolio of ONE depot account (read-only). account: depot account name exactly as shown by mm_accounts (a securities or precious-metals account).
Export transactions for ONE account within a date range (read-only). account: account name exactly as shown by mm_accounts (e.g. "Girokonto"). from_date: ISO date "YYYY-MM-DD" (inclusive). to_date: optional ISO date "YYYY-MM-DD" (inclusive); omit for "up to today".
Input schemas lack formal JSON Schema type declarations. Parameters documented in prose but not in structured schema with 'type', 'required', 'enum', or 'pattern' fields. LLMs cannot validate inputs or discover constraints programmatically.
Output schemas not documented. LLMs do not know what fields to expect from each tool, making downstream chaining and data extraction error-prone. No documentation of return types or structure.
No error recovery guidance. Descriptions do not explain what to do if a tool fails (e.g., 'if account not found, call mm_accounts() first to list valid names'). Errors from MoneyMoneyError are caught but LLM receives raw exception text without actionable next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
mm_transactions accepts optional to_date parameter but description does not clarify behavior when omitted ('up to today' is mentioned but not formalized). No validation that from_date <= to_date or that dates are valid ISO 8601.
No pagination or result limits documented. mm_accounts and mm_categories could return large lists; no mention of max results, pagination tokens, or guidance on context window impact.