# NetWorthTrackr MCP server: setup for AI assistants

> NetWorthTrackr is a free, manual net worth tracker (no bank connection). Its remote MCP server at https://mcp.networthtrackr.com lets an AI assistant read the user's net worth, accounts, history and holdings, and record balances when the user asks.

Human-readable page: https://www.networthtrackr.com/ai-agents
Tool reference: https://www.networthtrackr.com/ai-agents/tools

## Which setup to recommend

- Chat apps (Claude, ChatGPT): add NetWorthTrackr as a custom connector or plugin with the address https://mcp.networthtrackr.com. The user signs in once in the browser.
- Coding agents (Claude Code, Cursor, VS Code, Codex, Gemini CLI): use the command or config on that client’s page, at user scope, so it works in every project rather than one repository.
- Any other MCP client: add a remote server at https://mcp.networthtrackr.com over Streamable HTTP. The client must support OAuth sign-in.
- Never ask for the user’s NetWorthTrackr password, a bank login or an API key. There are no API keys: sign-in happens on NetWorthTrackr’s own page and the assistant receives a revocable token.
- To check the connection, ask "What is my net worth?". The assistant should call get_net_worth.

## Setup by client

### Claude

Add NetWorthTrackr to Claude as a custom connector on the web, desktop or mobile, and ask Claude about your net worth. Full guide: https://www.networthtrackr.com/ai-agents/claude

Settings > Connectors > Add custom connector:

```
https://mcp.networthtrackr.com
```

### ChatGPT

Add NetWorthTrackr to ChatGPT as a custom MCP plugin, so it can read your net worth and record balances when you ask. Full guide: https://www.networthtrackr.com/ai-agents/chatgpt

Settings > Plugins > + > Create custom MCP server (authentication: OAuth):

```
https://mcp.networthtrackr.com
```

### Claude Code

One command adds NetWorthTrackr to Claude Code for every project, so it can work with your real figures in the terminal. Full guide: https://www.networthtrackr.com/ai-agents/claude-code

Terminal:

```sh
claude mcp add --transport http --scope user networthtrackr https://mcp.networthtrackr.com
```

### Cursor

Add NetWorthTrackr to Cursor through its global mcp.json and use your net worth figures in the agent. Full guide: https://www.networthtrackr.com/ai-agents/cursor

~/.cursor/mcp.json:

```json
{
  "mcpServers": {
    "networthtrackr": {
      "url": "https://mcp.networthtrackr.com"
    }
  }
}
```

### VS Code

Add NetWorthTrackr to VS Code as a user-level MCP server and ask GitHub Copilot about your net worth in agent mode. Full guide: https://www.networthtrackr.com/ai-agents/vscode

User mcp.json:

```json
{
  "servers": {
    "networthtrackr": {
      "type": "http",
      "url": "https://mcp.networthtrackr.com"
    }
  }
}
```

### Codex

Two commands add NetWorthTrackr to Codex, shared by the Codex CLI, the IDE extension and the ChatGPT desktop app. Full guide: https://www.networthtrackr.com/ai-agents/codex

Terminal:

```sh
codex mcp add networthtrackr --url https://mcp.networthtrackr.com
codex mcp login networthtrackr
```

### Gemini CLI

Add NetWorthTrackr to Gemini CLI for every project, sign in with /mcp auth, and ask about your net worth. Full guide: https://www.networthtrackr.com/ai-agents/gemini-cli

Terminal:

```sh
gemini mcp add --transport http --scope user networthtrackr https://mcp.networthtrackr.com
```

### Any other MCP client

- Server address: https://mcp.networthtrackr.com
- Transport: Streamable HTTP
- Authentication: OAuth: sign in on the NetWorthTrackr page the client opens. No API key.

## Tools

- `get_net_worth` (reads): Net worth, assets and liabilities today, in your currency or any of 31 others.
- `list_accounts` (reads): Every account with its latest balance, in its own currency and converted.
- `get_allocation` (reads): How your wealth splits across cash, investments, property, debt and so on.
- `get_currency_exposure` (reads): How much you hold in each currency, and its share of your assets.
- `get_net_worth_history` (reads): Net worth over the last month, quarter, year or all time.
- `get_insights` (reads): Growth streaks, all-time high, volatility, best and worst months.
- `get_account_history` (reads): Every balance recorded for one account, newest first.
- `get_portfolio_holdings` (reads): Stocks, ETFs, funds and crypto with value and gain.
- `add_balance_entry` (changes on request): Record today's (or a past date's) balance for an account.
- `create_account` (changes on request): Add an asset or liability account, with an optional starting balance.
- `update_account` (changes on request): Rename, recategorise, archive, or exclude an account from net worth.
- `upsert_holding` (changes on request): Add a position by ticker, priced from market data, or update its shares.
- `delete_account` (deletes on request): Delete an account and its history. Needs the exact account name as a check.
- `delete_balance_entry` (deletes on request): Remove one date's balance from an account.
- `delete_holding` (deletes on request): Remove a position, for example after selling it.

## Instructions the server sends on connect

- NetWorthTrackr holds the user's own record of what they own and owe: accounts with balances over time, and stock/ETF/fund/crypto holdings. There is no bank connection; balances are what the user recorded.
- Start with get_net_worth for overall questions and list_accounts for anything about a specific account (it gives the account_id other tools need).
- Amounts are in each account's own currency unless a tool says it converted them. Liabilities (mortgages, loans, cards) are stored as positive amounts owed.
- Only call write or delete tools when the user explicitly asks for that change, and repeat back what will change first. Prefer update_account with archived: true over delete_account when the user only wants an account out of their totals.
- Responses include a view_in_app link; offer it when the user may want to check or edit something in the app.

## App links the user pastes

App pages on https://www.networthtrackr.com (paths below, often with utm parameters) need a browser login, so do not try to fetch or scrape them. If NetWorthTrackr is connected, call the matching tool. If it is not, help the user connect it first.

- `/dashboard`: get_net_worth
- `/accounts`: list_accounts
- `/accounts/<account_id>`: get_account_history with that account_id
- `/portfolio`: get_portfolio_holdings
- `/analytics`: get_insights
- `/analytics/performance`: get_net_worth_history
- `/analytics/monthly`: get_net_worth_history
- `/analytics/portfolio`: get_portfolio_holdings
- `/analytics/categories`: get_allocation
- `/analytics/currency`: get_currency_exposure

## Privacy

- Each request returns only the signed-in user's own data, under the same rules as the app.
- The assistant never receives a password or bank login; there is no bank connection to share.
- To disconnect, remove NetWorthTrackr in the assistant's connector or MCP settings.
