mmex-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mmex-mcp show me my checking account balance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MMEX MCP Server
MCP (Model Context Protocol) Server for interacting with Money Manager EX databases.
š Documentación en EspaƱol (Spanish)
Toda la documentación detallada y guĆas en espaƱol estĆ”n disponibles en: š README_es.md
Requirements
Python 3.10+
A Money Manager EX database file (.mmb)
Related MCP server: Monarch Money MCP Server
Installation
You can install the server directly from PyPI:
pip install mmex-mcpOr using uv (recommended):
uv tool install mmex-mcpConfiguration
Set the MMEX_DB_PATH environment variable to point to your database:
export MMEX_DB_PATH=/path/to/your/database.mmbFor encrypted databases, also set MMEX_DB_KEY:
export MMEX_DB_KEY=your_passwordUsing with MCP Clients
OpenCode
{
"mcp": {
"mmex-mcp": {
"enabled": true,
"type": "local",
"command": [
"mmex-mcp"
],
"environment": {
"MMEX_DB_PATH": "/path/to/your/database.mmb"// Optional
}
}
}
}Claude Desktop
Since mmex-mcp is installed as a system package or via uv tool, you can configure Claude Desktop to use it directly.
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"mmex-mcp": {
"command": "mmex-mcp",
"env": {
"MMEX_DB_PATH": "/path/to/your/database.mmb"//Optional
}
}
}
}Other MCP Clients
For clients that support stdio MCP servers:
MMEX_DB_PATH=/path/to/file.mmb mmex-mcpTesting
Using MCP Inspector (Recommended)
The MCP Inspector provides a web UI to test all tools interactively:
MMEX_DB_PATH=/path/to/file.mmb npx @modelcontextprotocol/inspector mmex-mcpThis will:
Start the MCP server
Launch the MCP Inspector web UI
Open your browser at the provided localhost URL.
Available Tools
Category | Tools |
Support |
|
Currencies |
|
Tags |
|
Categories |
|
Payees |
|
Accounts |
|
Assets |
|
Stocks |
|
Transactions |
|
Scheduled |
|
Total: 60 tools
Documentation
See docs/ for detailed documentation:
docs/README.md - Overview
docs/design.md - Technical design
docs/implementation-plan.md - Implementation details
docs/README_es.md - Visión General (Español)
docs/design_es.md - DiseƱo TƩcnico (EspaƱol)
docs/implementation-plan_es.md - Plan de Implementación (Español)
Development
If you want to contribute or build from source:
git clone https://github.com/PatricioRios/mmex_mcp
cd mmex_mcp
uv sync
MMEX_DB_PATH=/path/to/file.mmb uv run mcp dev src/mmex_mcp/server.pyAvailable Tools
68 toolsmmex_accounts_balanceB
Get the balance of an account.
Args:
account_id: The account ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: account_id (required), db_path, db_key. Returns: result
mmex_accounts_createA
Create a new account in the MMEX database.
Args:
name: The account name.
currency_id: Currency ID.
account_type: Account type: Cash, Checking, Term, Investment, CreditCard, Loan, Asset, Shares.
account_num: Account number.
status: Account status: Open or Closed.
notes: Notes about the account.
initial_balance: Initial balance as decimal string (e.g., '1000.00').
favorite: Whether the account is a favorite.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: name (required), currency_id (required), account_type, account_num, +6 more. Returns: result
mmex_accounts_deleteB
Delete an account from the MMEX database.
Args:
id: The account ID to delete.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_accounts_getA
Get an account by its ID.
Args:
id: The account ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_accounts_listA
List all accounts in the MMEX database.
Args:
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: db_path, db_key. Returns: result
mmex_accounts_updateC
Update an existing account.
Args:
id: The account ID.
name: The account name.
account_type: Account type.
account_num: Account number.
status: Account status.
notes: Notes about the account.
initial_balance: Initial balance.
currency_id: Currency ID.
favorite: Whether the account is a favorite.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name, account_type, account_num, +7 more. Returns: result
mmex_accounts_update_partialA
Update an existing account partially.
Args:
id: The account ID.
name: The account name.
account_type: Account type.
account_num: Account number.
status: Account status.
notes: Notes about the account.
initial_balance: Initial balance.
currency_id: Currency ID.
favorite: Whether the account is a favorite.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name, account_type, account_num, +7 more. Returns: result
mmex_assets_createB
Create a new asset in the MMEX database.
Args:
name: The asset name.
start_date: Start date (YYYY-MM-DD).
value: Asset value as decimal string.
status: Asset status: Open or Closed.
currency_id: Currency ID.
value_change_mode: Value change mode: Percentage or Linear.
value_change: Value change: None, Appreciates, or Depreciates.
notes: Notes about the asset.
value_change_rate: Value change rate.
asset_type: Asset type (e.g., Property, Automobile).
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: name (required), start_date (required), value (required), status, +8 more. Returns: result
mmex_assets_deleteA
Delete an asset from the MMEX database.
Args:
id: The asset ID to delete.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_assets_getB
Get an asset by its ID.
Args:
id: The asset ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_assets_listB
List all assets in the MMEX database.
Args:
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: db_path, db_key. Returns: result
mmex_assets_updateC
Update an existing asset.
Args:
id: The asset ID.
name: The asset name.
start_date: Start date (YYYY-MM-DD).
status: Asset status.
currency_id: Currency ID.
value_change_mode: Value change mode.
value: Asset value.
value_change: Value change.
notes: Notes.
value_change_rate: Value change rate.
asset_type: Asset type.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name, start_date, status, +9 more. Returns: result
mmex_assets_update_partialB
Update an existing asset partially.
Args:
id: The asset ID.
name: The asset name.
start_date: Start date (YYYY-MM-DD).
status: Asset status.
currency_id: Currency ID.
value_change_mode: Value change mode.
value: Asset value.
value_change: Value change.
notes: Notes.
value_change_rate: Value change rate.
asset_type: Asset type.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name, start_date, status, +9 more. Returns: result
mmex_categories_createA
Create a new category in the MMEX database.
Args:
name: The category name.
parent_id: Parent category ID (optional for root categories).
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: name (required), parent_id, db_path, db_key. Returns: result
mmex_categories_deleteB
Delete a category from the MMEX database.
Args:
id: The category ID to delete.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_categories_getB
Get a category by its ID.
Args:
id: The category ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_categories_listC
List all categories in the MMEX database.
Args:
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: db_path, db_key. Returns: result
mmex_categories_subcategoriesA
Get all subcategories of a parent category.
Args:
parent_id: The parent category ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: parent_id (required), db_path, db_key. Returns: result
mmex_categories_updateB
Update an existing category.
Args:
id: The category ID.
name: The category name.
active: Whether the category is active.
parent_id: Parent category ID (null for root).
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name, active, parent_id, +2 more. Returns: result
mmex_categories_update_partialB
Update an existing category partially.
Args:
id: The category ID.
name: The category name.
active: Whether the category is active.
parent_id: Parent category ID (null for root).
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name, active, parent_id, +2 more. Returns: result
mmex_currencies_by_symbolA
Get a currency by its symbol (e.g., USD, EUR).
Args:
symbol: The currency symbol (e.g., USD, EUR).
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: symbol (required), db_path, db_key. Returns: result
mmex_currencies_createA
Create a new currency in the MMEX database.
Args:
name: Currency name (e.g., US Dollar).
symbol: Currency symbol (e.g., USD).
pfx_symbol: Prefix symbol (e.g., $).
sfx_symbol: Suffix symbol.
decimal_point: Decimal separator (e.g., .).
group_separator: Group separator (e.g., ,).
unit_name: Name of the main unit (e.g., Dollar).
cent_name: Name of the fractional unit (e.g., Cent).
scale: Number of fractional units per main unit (e.g., 100).
base_conv_rate: Base conversion rate as decimal string (e.g., 1.0).
currency_type: Type of currency (Fiat or Crypto).
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: name (required), symbol (required), pfx_symbol, sfx_symbol, +9 more. Returns: result
mmex_currencies_deleteB
Delete a currency from the MMEX database.
Args:
id: The currency ID to delete.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_currencies_getA
Get a currency by its ID.
Args:
id: The currency ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_currencies_listA
List all currencies in the MMEX database.
Args:
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: db_path, db_key. Returns: result
mmex_currencies_updateC
Update an existing currency in the MMEX database.
Args:
id: The currency ID to update.
name: Currency name.
symbol: Currency symbol.
pfx_symbol: Prefix symbol.
sfx_symbol: Suffix symbol.
decimal_point: Decimal separator.
group_separator: Group separator.
unit_name: Name of the main unit.
cent_name: Name of the fractional unit.
scale: Number of fractional units per main unit.
base_conv_rate: Base conversion rate.
currency_type: Type of currency.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name, symbol, pfx_symbol, +10 more. Returns: result
mmex_currencies_update_partialC
Update an existing currency in the MMEX database partially.
Args:
id: The currency ID to update.
name: Currency name.
symbol: Currency symbol.
pfx_symbol: Prefix symbol.
sfx_symbol: Suffix symbol.
decimal_point: Decimal separator.
group_separator: Group separator.
unit_name: Name of the main unit.
cent_name: Name of the fractional unit.
scale: Number of fractional units per main unit.
base_conv_rate: Base conversion rate.
currency_type: Type of currency.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name, symbol, pfx_symbol, +10 more. Returns: result
mmex_payees_createA
Create a new payee in the MMEX database.
Args:
name: The payee name.
category_id: Default category ID.
number: Payee number/reference.
website: Payee website.
notes: Notes about the payee.
active: Whether the payee is active.
pattern: Pattern for auto-categorization.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: name (required), category_id, number, website, +5 more. Returns: result
mmex_payees_deleteB
Delete a payee from the MMEX database.
Args:
id: The payee ID to delete.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_payees_getA
Get a payee by its ID.
Args:
id: The payee ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_payees_listA
List all payees in the MMEX database.
Args:
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: db_path, db_key. Returns: result
mmex_payees_updateB
Update an existing payee.
Args:
id: The payee ID.
name: The payee name.
category_id: Default category ID.
number: Payee number/reference.
website: Payee website.
notes: Notes about the payee.
active: Whether the payee is active.
pattern: Pattern for auto-categorization.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name, category_id, number, +6 more. Returns: result
mmex_payees_update_partialB
Update an existing payee partially.
Args:
id: The payee ID.
name: The payee name.
category_id: Default category ID.
number: Payee number/reference.
website: Payee website.
notes: Notes about the payee.
active: Whether the payee is active.
pattern: Pattern for auto-categorization.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name, category_id, number, +6 more. Returns: result
mmex_scheduled_createB
Create a new scheduled transaction in the MMEX database.
Args:
account_id: Account ID.
payee_id: Payee ID.
trans_code: Transaction type. Valid values: "Withdrawal", "Deposit", "Transfer".
amount: Amount as decimal string.
repeats: Repeat frequency (0=None, 1=Weekly, 2=Bi-Weekly, 3=Monthly, etc.).
to_account_id: Destination account ID (for transfers).
status: Transaction status. Valid values: "" (None), "Reconciled", "Void", "Follow up", "Duplicate".
transaction_number: Transaction number/reference.
notes: Notes.
category_id: Category ID.
trans_date: First transaction date (YYYY-MM-DD).
next_occurrence_date: Next occurrence date (YYYY-MM-DD).
num_occurrences: Number of occurrences (0=infinite).
to_trans_amount: Destination amount (for transfers).
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: account_id (required), payee_id (required), trans_code (required), amount (required), +12 more. Returns: result
mmex_scheduled_deleteB
Delete a scheduled transaction from the MMEX database.
Args:
id: The scheduled transaction ID to delete.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_scheduled_getA
Get a scheduled transaction by its ID.
Args:
id: The scheduled transaction ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_scheduled_listB
List all scheduled transactions in the MMEX database.
Args:
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: db_path, db_key. Returns: result
mmex_scheduled_updateC
Update an existing scheduled transaction.
Args:
id: The scheduled transaction ID.
account_id: Account ID.
to_account_id: Destination account ID.
payee_id: Payee ID.
trans_code: Transaction type. Valid values: "Withdrawal", "Deposit", "Transfer".
amount: Amount.
status: Transaction status. Valid values: "" (None), "Reconciled", "Void", "Follow up", "Duplicate".
transaction_number: Transaction number.
notes: Notes.
category_id: Category ID.
trans_date: First transaction date.
next_occurrence_date: Next occurrence date.
repeats: Repeat frequency.
num_occurrences: Number of occurrences.
to_trans_amount: Destination amount.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), account_id, to_account_id, payee_id, +13 more. Returns: result
mmex_scheduled_update_partialC
Update an existing scheduled transaction partially.
Args:
id: The scheduled transaction ID.
account_id: Account ID.
to_account_id: Destination account ID.
payee_id: Payee ID.
trans_code: Transaction type. Valid values: "Withdrawal", "Deposit", "Transfer".
amount: Amount.
status: Transaction status. Valid values: "" (None), "Reconciled", "Void", "Follow up", "Duplicate".
transaction_number: Transaction number.
notes: Notes.
category_id: Category ID.
trans_date: First transaction date.
next_occurrence_date: Next occurrence date.
repeats: Repeat frequency.
num_occurrences: Number of occurrences.
to_trans_amount: Destination amount.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), account_id, to_account_id, payee_id, +13 more. Returns: result
mmex_stocks_createB
Create a new stock in the MMEX database.
Args:
held_at: Account ID where the stock is held.
purchase_date: Purchase date (YYYY-MM-DD).
name: Stock name.
num_shares: Number of shares as decimal string.
purchase_price: Purchase price per share.
current_price: Current price per share.
value: Current total value.
commission: Commission paid.
symbol: Stock symbol (e.g., AAPL).
notes: Notes about the stock.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: held_at (required), purchase_date (required), name (required), num_shares (required), +8 more. Returns: result
mmex_stocks_deleteA
Delete a stock from the MMEX database.
Args:
id: The stock ID to delete.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_stocks_getA
Get a stock by its ID.
Args:
id: The stock ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_stocks_listA
List all stocks in the MMEX database.
Args:
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: db_path, db_key. Returns: result
mmex_stocks_updateB
Update an existing stock.
Args:
id: The stock ID.
held_at: Account ID where the stock is held.
purchase_date: Purchase date.
name: Stock name.
symbol: Stock symbol.
num_shares: Number of shares.
purchase_price: Purchase price per share.
notes: Notes.
current_price: Current price per share.
value: Current total value.
commission: Commission paid.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), held_at, purchase_date, name, +9 more. Returns: result
mmex_stocks_update_partialB
Update an existing stock partially.
Args:
id: The stock ID.
held_at: Account ID where the stock is held.
purchase_date: Purchase date.
name: Stock name.
symbol: Stock symbol.
num_shares: Number of shares.
purchase_price: Purchase price per share.
notes: Notes.
current_price: Current price per share.
value: Current total value.
commission: Commission paid.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), held_at, purchase_date, name, +9 more. Returns: result
mmex_support_get_db_versionA
Get the database schema version of the MMEX database.
Args:
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: db_path, db_key. Returns: result
mmex_tags_createB
Create a new tag in the MMEX database.
Args:
name: The tag name.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: name (required), db_path, db_key. Returns: result
mmex_tags_deleteA
Delete a tag from the MMEX database.
Args:
id: The tag ID to delete.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_tags_for_referenceB
Get all tags linked to a reference (e.g., a transaction).
Args:
ref_type: Reference type (e.g., 'Transaction').
ref_id: Reference ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: ref_type (required), ref_id (required), db_path, db_key. Returns: result
mmex_tags_getB
Get a tag by its ID.
Args:
id: The tag ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_tags_linkB
Link a tag to a reference (e.g., a transaction).
Args:
ref_type: Reference type (e.g., 'Transaction').
ref_id: Reference ID.
tag_id: Tag ID to link.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: ref_type (required), ref_id (required), tag_id (required), db_path, +1 more. Returns: result
mmex_tags_listB
List all tags in the MMEX database.
Args:
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: db_path, db_key. Returns: result
mmex_tags_unlinkA
Unlink a tag from a reference.
Args:
ref_type: Reference type (e.g., 'Transaction').
ref_id: Reference ID.
tag_id: Tag ID to unlink.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: ref_type (required), ref_id (required), tag_id (required), db_path, +1 more. Returns: result
mmex_tags_updateB
Update a tag's name.
Args:
id: The tag ID to update.
name: The new tag name.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name (required), db_path, db_key. Returns: result
mmex_tags_update_partialB
Update a tag's name partially.
Args:
id: The tag ID to update.
name: The new tag name.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), name, db_path, db_key. Returns: result
mmex_transactions_add_splitC
Add a split to a transaction.
Args:
transaction_id: Transaction ID.
amount: Split amount.
category_id: Category ID.
notes: Notes.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: transaction_id (required), amount (required), category_id, notes, +2 more. Returns: result
mmex_transactions_createB
Create a new transaction in the MMEX database.
Args:
account_id: Account ID.
payee_id: Payee ID.
trans_code: Transaction type. Valid values: "Withdrawal", "Deposit", "Transfer".
amount: Amount as decimal string.
to_account_id: Destination account ID (for transfers).
status: Transaction status. Valid values: "" (None), "Reconciled", "Void", "Follow up", "Duplicate".
transaction_number: Transaction number/reference.
notes: Notes.
category_id: Category ID.
date: Transaction date (YYYY-MM-DD).
to_amount: Destination amount (for transfers).
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: account_id (required), payee_id (required), trans_code (required), amount (required), +9 more. Returns: result
mmex_transactions_deleteA
Delete a transaction from the MMEX database.
Args:
id: The transaction ID to delete.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_transactions_delete_splitB
Delete a split from a transaction.
Args:
split_id: Split ID to delete.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: split_id (required), db_path, db_key. Returns: result
mmex_transactions_getB
Get a transaction by its ID.
Args:
id: The transaction ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), db_path, db_key. Returns: result
mmex_transactions_link_tagC
Link a tag to a transaction.
Args:
transaction_id: Transaction ID.
tag_id: Tag ID to link.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: transaction_id (required), tag_id (required), db_path, db_key. Returns: result
mmex_transactions_listB
List all transactions in the MMEX database.
Args:
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: db_path, db_key. Returns: result
mmex_transactions_splitsB
Get all splits for a transaction.
Args:
transaction_id: The transaction ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: transaction_id (required), db_path, db_key. Returns: result
mmex_transactions_tagsB
Get all tags for a transaction.
Args:
transaction_id: The transaction ID.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: transaction_id (required), db_path, db_key. Returns: result
mmex_transactions_unlink_tagA
Unlink a tag from a transaction.
Args:
transaction_id: Transaction ID.
tag_id: Tag ID to unlink.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: transaction_id (required), tag_id (required), db_path, db_key. Returns: result
mmex_transactions_updateB
Update an existing transaction.
Args:
id: The transaction ID.
account_id: Account ID.
to_account_id: Destination account ID.
payee_id: Payee ID.
trans_code: Transaction type. Valid values: "Withdrawal", "Deposit", "Transfer".
amount: Amount.
status: Transaction status. Valid values: "" (None), "Reconciled", "Void", "Follow up", "Duplicate".
transaction_number: Transaction number.
notes: Notes.
category_id: Category ID.
date: Transaction date.
to_amount: Destination amount.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), account_id, to_account_id, payee_id, +10 more. Returns: result
mmex_transactions_update_partialA
Update an existing transaction partially.
Args:
id: The transaction ID.
account_id: Account ID.
to_account_id: Destination account ID.
payee_id: Payee ID.
trans_code: Transaction type. Valid values: "Withdrawal", "Deposit", "Transfer".
amount: Amount.
status: Transaction status. Valid values: "" (None), "Reconciled", "Void", "Follow up", "Duplicate".
transaction_number: Transaction number.
notes: Notes.
category_id: Category ID.
date: Transaction date.
to_amount: Destination amount.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: id (required), account_id, to_account_id, payee_id, +10 more. Returns: result
mmex_transactions_update_splitB
Update an existing split.
Args:
split_id: Split ID.
transaction_id: Transaction ID.
amount: Split amount.
category_id: Category ID.
notes: Notes.
db_path: Path to the .mmb database file. Optional if MMEX_DB_PATH env var is set.
db_key: Encryption key for SQLCipher databases. Optional if MMEX_DB_KEY env var is set.
Inputs: split_id (required), transaction_id (required), amount (required), category_id, +3 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogā¦
TDQS
Scored across 68 tools
All tools are clearly grouped by resource (accounts, assets, etc.) with distinct verbs. Even specialized tools like mmex_transactions_link_tag vs mmex_tags_link serve different scopes, and update vs update_partial are explicitly differentiated.
Every tool follows the exact pattern mmex_{resource_plural}_{verb}_{optional_specifier} in snake_case, with no deviations. The naming is perfectly consistent across all 68 tools.
68 tools far exceeds the 25+ threshold for 'too many'. While well-organized, the sheer number makes it difficult for an agent to efficiently select the right tool without extensive scanning.
Each resource has full CRUDL coverage plus partial updates. Transactions additionally support splits, tag linking, and specialized queries. No obvious missing operations for the domain of personal finance management.
Maintenance
Related MCP Connectors
Query your real net worth, spending, transactions, budgets and portfolio from any MCP client.
Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides access to personal financial data from Monarch Money, allowing users to retrieve account information, transactions, budgets, goals, and net worth through natural language queries.16-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that integrates with Monarch Money to provide financial data access and operations, including account management, transaction filtering, budget analysis, and goal tracking through natural language.-
- AlicenseNot gradedqualityDmaintenanceMCP server for accessing and managing Banktivity personal finance data, enabling account, transaction, and budget operations through natural language.3MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for personal finance management that connects a SQLite database to any MCP client, allowing users to register, query, and analyze financial transactions through natural language.-