moneymoney-mcp
Chat with your MoneyMoney data. This is a read-only MCP server for MoneyMoney (the macOS banking app) that lets any AI assistant answer questions like:
- "How much did I spend on groceries last quarter?"
- "What are my current balances?"
- "Which subscriptions do I pay for?"
- "September vs August — where did the money go?"
No installation needed: it runs on the Python macOS already ships with, and speaks to MoneyMoney through its official AppleScript API.
Unofficial community project, not affiliated with MoneyMoney (MRH applications GmbH). Full reference: DOCUMENTATION.md.
Requirements
- macOS with MoneyMoney installed, running, database unlocked
- Any MCP-capable AI client (Claude Desktop, Codex, Cursor, …)
Install (2 minutes)
git clone https://github.com/sanarena/moneymoney-mcp
Claude Desktop — add to
~/Library/Application Support/Claude/claude_desktop_config.json:
{ "mcpServers": { "moneymoney": {
"command": "/usr/bin/python3",
"args": ["/absolute/path/to/moneymoney-mcp/src/moneymoney_mcp/server.py"] } } }
Codex — append to ~/.codex/config.toml:
[mcp_servers.moneymoney]
command = "/usr/bin/python3"
args = ["/absolute/path/to/moneymoney-mcp/src/moneymoney_mcp/server.py"]
Any other client — same idea: a stdio server whose command is
/usr/bin/python3 and whose argument is the server.py path above.
Then restart the AI client. If MoneyMoney's database is locked you'll get
a clear database is locked message — unlock the app and ask again.
What the AI can do
14 read-only tools: accounts, balances, transactions (search/filter), categories, portfolio, counterparties, subscriptions, period comparison, category totals, cash-flow timeline, budgets, and bank statements. See the full tool reference.
Prefer no AI client? Copy extensions/AIChatExport.lua into MoneyMoney's
Extensions folder for one-click Markdown export to paste into any chatbot.
(Details)
Privacy
- Local only; nothing leaves your Mac except what you send your AI provider
- Read-only by design — it cannot move, change, or create anything
- Optional IBAN masking (
mask_ids, orMONEYMONEY_MASK_IDS=1); passmask_ids: falseto reveal again - Your MoneyMoney password is never touched
Details + the prompt-injection warning: DOCUMENTATION.md.
Troubleshooting
| Symptom | Fix |
|---|---|
MoneyMoney database is locked |
Open MoneyMoney, unlock, re-ask |
| Tools missing in client | Restart the AI client after config change |
File not found at startup |
Check the server.py path is absolute |
More: DOCUMENTATION.md.
Development
python3 -m venv .venv
.venv/bin/pip install -e ".[test]"
.venv/bin/python -m pytest -q # 104 tests, no MoneyMoney needed
lua tests/lua_harness.lua extensions/AIChatExport.lua
License
MIT — see LICENSE. Changelog: CHANGELOG.md.
Metadata
Release files for moneymoney-mcp 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| moneymoney_mcp-0.4.0.tar.gz | 41.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moneymoney_mcp-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 68.9 kB
Release files / moneymoney_mcp-0.4.0.tar.gz
| Download URL | moneymoney_mcp-0.4.0.tar.gz |
|---|---|
| Size | 41.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e2a536f3fca8b2694902e95c2b0519ab77a25b66d6b9d6ba0f29102aef8cde7f
|
|
BLAKE2b-256 checksum How to use checksums |
fe1460a8f67bb858457de2ac2f0085c39ef4b8d686cc1d8b57be62e8a166a871
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Release files / moneymoney_mcp-0.4.0-py3-none-any.whl
| Download URL | moneymoney_mcp-0.4.0-py3-none-any.whl |
|---|---|
| Size | 27.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a129aba05c19e161f3ceb1fda581ccebd55a9b11830513d3cbba0781018c4f20
|
|
BLAKE2b-256 checksum How to use checksums |
5836f7e4957fe1f69f28233d83514fe7f71460957a912a750a8d45bf8012baa4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|