Monexa

by emilijan-koteski

236 downloads
Not rated
GitHub Website

About

Monexa is a personal finance and expense tracking application that supports multiple currencies. It uses a Go backend and a React frontend.

Details

Author
emilijan-koteski
Downloads
236
Categories
Other, Finance

- Multi-currency support for expense tracking
- Go backend with React frontend
- Docker Compose deployment for all components
- Development mode with hot reload
- PostgreSQL database (started via Docker)
- Pre‑configured environment files with dummy values

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Monexa
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

You can run Monexa in two ways. For local development, start PostgreSQL with docker compose up -d, then run the backend with go run ./cmd/api/main.go and the frontend with npm run dev inside the frontend/ directory. For a fully containerized setup, use docker compose -f docker-compose.test.yml up --build, which starts everything (PostgreSQL, API, and Nginx‑served frontend) in Docker.

login

Log in to Monexa with email and password. Returns user profile and stores auth tokens for subsequent tool calls.

register

Create a new Monexa account. Returns the created user profile and automatically logs in.

list-records

List financial records with optional filters. Returns records sorted by date descending by default. Use list-categories and list-payment-methods to get valid filter IDs.

get-record

Get a single financial record by its ID.

create-record

Create a new financial record (income or expense). Use list-categories and list-payment-methods first to get valid IDs.

update-record

Update an existing financial record. Only provided fields are updated.

delete-record

Delete a financial record by ID.

get-records-summary

Get a financial summary (net balance: income minus expenses) for an optional date range, converted to the user's preferred currency.

list-categories

List all user-defined categories. Returns both INCOME and EXPENSE types with their IDs, names, colors, and descriptions.

create-category

Create a new spending or income category.

update-category

Update an existing category. Only provided fields are updated.

delete-category

Delete a category by ID. Will fail if any records still reference this category.

get-category-statistics

Get spending and income statistics broken down by category. Includes total income, total expense, net balance, and per-category amounts. All amounts are converted to the user's preferred currency.

list-payment-methods

List all user-defined payment methods (e.g. Cash, Credit Card, Bank Transfer).

create-payment-method

Create a new payment method.

update-payment-method

Rename an existing payment method.

delete-payment-method

Delete a payment method by ID. Will fail if any records still reference it.

get-settings

Get the current user's settings including preferred display language and default currency.

update-settings

Update user preferences. Can change the display language (EN or MK) and/or the default currency used for summaries and statistics.

get-profile

Get the current authenticated user's profile (id, name, email).

update-profile

Update the current user's display name.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "monexa": {
            "monexa": {
                "command": "npx",
                "args": [
                    "-y",
                    "monexa-mcp-server"
                ],
                "env": {
                    "MONEXA_EMAIL": "your@email.com",
                    "MONEXA_PASSWORD": "your_password"
                }
            }
        }
    }
}

McpServers

{
    "monexa": {
        "command": "npx",
        "args": [
            "-y",
            "monexa-mcp-server"
        ],
        "env": {
            "MONEXA_EMAIL": "your@email.com",
            "MONEXA_PASSWORD": "your_password"
        }
    }
}

Monexa

Personal finance and expense tracking app with multi-currency support. Go backend + React frontend.

What you need

- Go 1.23+
- Node.js 18+
- Docker and Docker Compose

Development setup

This is for when you want to work on the code. The database runs in Docker, but backend and frontend run on your machine so you get hot reload and all that.

1. Start the database:

docker compose up -d

This starts PostgreSQL on port 5433.

2. Environment variables:

There are already working .env files in the root and frontend/ folders with dummy values. No need to create them, just use them as they are.

3. Run the backend:

go run ./cmd/api/main.go

API will be on http://localhost:9000.

4. Run the frontend:

cd frontend
npm ci
npm run dev

Frontend will be on http://localhost:5173.

Fully dockerized setup

If you just want to run everything without installing Go or Node on your machine, use the test compose file. Everything runs in Docker. The same .env files from the repo work here too.

docker compose -f docker-compose.test.yml up --build

This starts:
- PostgreSQL on port 5433
- Backend API on port 9000
- Frontend with Nginx on port 80

Open http://localhost and you are good to go.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.