Skip to main content
Glama
mmex-mcp

mmex-mcp

by PatricioRios

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-mcp

Or using uv (recommended):

uv tool install mmex-mcp

Configuration

Set the MMEX_DB_PATH environment variable to point to your database:

export MMEX_DB_PATH=/path/to/your/database.mmb

For encrypted databases, also set MMEX_DB_KEY:

export MMEX_DB_KEY=your_password

Using 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-mcp

Testing

The MCP Inspector provides a web UI to test all tools interactively:

MMEX_DB_PATH=/path/to/file.mmb npx @modelcontextprotocol/inspector mmex-mcp

This will:

  1. Start the MCP server

  2. Launch the MCP Inspector web UI

  3. Open your browser at the provided localhost URL.

Available Tools

Category

Tools

Support

mmex_support_get_db_version

Currencies

mmex_currencies_list, mmex_currencies_get, mmex_currencies_by_symbol, mmex_currencies_create, mmex_currencies_update, mmex_currencies_delete

Tags

mmex_tags_list, mmex_tags_get, mmex_tags_create, mmex_tags_update, mmex_tags_delete, mmex_tags_for_reference, mmex_tags_link, mmex_tags_unlink

Categories

mmex_categories_list, mmex_categories_get, mmex_categories_subcategories, mmex_categories_create, mmex_categories_update, mmex_categories_delete

Payees

mmex_payees_list, mmex_payees_get, mmex_payees_create, mmex_payees_update, mmex_payees_delete

Accounts

mmex_accounts_list, mmex_accounts_get, mmex_accounts_balance, mmex_accounts_create, mmex_accounts_update, mmex_accounts_update_partial, mmex_accounts_delete

Assets

mmex_assets_list, mmex_assets_get, mmex_assets_create, mmex_assets_update, mmex_assets_delete

Stocks

mmex_stocks_list, mmex_stocks_get, mmex_stocks_create, mmex_stocks_update, mmex_stocks_delete

Transactions

mmex_transactions_list, mmex_transactions_get, mmex_transactions_create, mmex_transactions_update, mmex_transactions_delete, mmex_transactions_splits, mmex_transactions_add_split, mmex_transactions_update_split, mmex_transactions_delete_split, mmex_transactions_tags, mmex_transactions_link_tag, mmex_transactions_unlink_tag

Scheduled

mmex_scheduled_list, mmex_scheduled_get, mmex_scheduled_create, mmex_scheduled_update, mmex_scheduled_delete

Total: 60 tools

Documentation

See docs/ for detailed documentation:

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.py

Available Tools

68 tools
mmex_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_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_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_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_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

    A3.5/5.0

    Scored across 68 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count2/5

    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.

    Completeness5/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      An 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
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      An 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.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for accessing and managing Banktivity personal finance data, enabling account, transaction, and budget operations through natural language.
      3
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP 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.
      -