What this is
MCP is a standard way for an agent to call tools. Cashboard uses it in two directions, and the two are independent: you can use either one without the other.
| Agents (server) | A server inside Cashboard Desktop that lets an agent on the same computer read your boards. It is off until you switch it on, listens on this computer only, and starts nothing when the app is closed. |
|---|---|
| MCP servers (client) | Servers you add under Connections. A widget calls one read-only tool of one of them on a timer and shows the result as plain text, a table or a number. |
| Where | Cashboard Desktop only. The web build shows Desktop only in both places. |
| Cost | Cashboard charges nothing for either side. Your agent and any server you add have their own terms. |
| Changing your boards | Only through a plan you approve. An agent can propose a plan; Cashboard shows an approval card, and nothing changes until you press Approve. See Propose changes. |
Agents: let an agent read your boards
Open the Connections tab of the tool panel and find the card Agents (MCP). Its switch is off by default. Turning it on starts the server, and the card then shows Listening on 127.0.0.1:<port>. The address 127.0.0.1 means this computer only: no other device on your network can reach it.
Cashboard refuses to start the server when the operating system has no secure storage, or only basic text storage, because the connection token has to be stored encrypted. The card then says so and the switch stays off.
The app has to be running. If you close Cashboard, or the server is off, an agent connecting through the copied setup finds a single tool named cashboard_status that says so, and no board data.
Connect Claude Desktop
The card has one copy button per agent under Connect an AI agent: Claude Desktop, Claude Code, Codex and Cursor. Connect an AI agent shows what each one copies and where it goes. The steps for Claude Desktop are below.
- 1
Switch Agents on
In the
Agents (MCP)card, turn the switch on and wait forOnand the port. - 2
Copy the config
Under
Connect an AI agent, pressClaude Desktop. It copies a small block of JSON that names the Cashboard app and a bridge script shipped inside it. The block holds no token. - 3
Paste it into Claude Desktop
Add the
cashboardentry to themcpServerssection ofclaude_desktop_config.json(Claude Desktop: Settings, Developer, Edit Config), save, and restart Claude Desktop. - 4
Approve the first connection
Cashboard comes to the front with an approval card. Choose what the agent may read and press Allow, or Deny to refuse.
Claude Desktop starts the bridge as a local program. The bridge reads the port and the token from a file in the Cashboard data folder, readable only by your user account, and relays the agent's requests to the server. The token is a random value the app generates, encrypted with your operating system's secure storage. Reset token in the card replaces it and disconnects every agent, which then has to reconnect.
The approval card and scopes
The first time a client name connects, Cashboard shows a card that reads <name> wants to read your Cashboard boards. It has three choices and a board choice.
| Choice | Default | What it allows |
|---|---|---|
Read public board data | On, fixed | The board list, the widget list, alerts, public market readings and quotes. See the next section for exactly what that includes. |
Read private board data | Off | Adds the text of your notes, the web addresses of embedded sites and the wallet and account addresses on your widgets. The card warns that this data is sent to whatever model the agent uses, and that the service may store it. |
Propose changes (asks you to approve each plan) | On | The agent may propose plans. Every plan waits for your approval. Untick it and the agent gets an error whenever it tries to propose, and can still read. |
All boards or Only some boards | All boards | Which boards the agent may see. A board outside the choice is refused. |
Your decision is stored per client name. The Agents (MCP) card lists the clients that are connected now, with a Disconnect button, and the grants you have saved, with a Revoke button. After a revoke, the next connection asks again.
What an agent can read
| Tool | What it returns |
|---|---|
cashboard_list_boards | Each board you allowed: id, name, widget count and last saved time. A board that cannot be read is listed with an error instead of failing the call. |
cashboard_get_board | One board as an inventory: each widget's id, type, title and public subject (for example the coin it follows), frames, and the feeds edges between widgets. Notes and embedded web pages keep their type but lose their title. |
cashboard_get_alerts | Each price alert: its subject, direction and threshold, whether it is on, whether it is met right now (when the app window is open) and the widget that feeds it. |
cashboard_get_readings | The public market readings your board is showing, with the time each was observed. When the window is not available, the last cached readings come back marked as not live, with their age. |
cashboard_get_quote | Spot quotes for up to 20 CoinGecko coin ids. |
cashboard_get_candles | Candles for one coin. They are served in 1, 7 or 30 day ranges: a longer request gets 30 days, and the result says which range it served. |
cashboard_get_brief | What changed on the board since you last left it, as short text of at most 8 KB: market moves, alerts that became met or were paused, and widgets added or removed. It is computed from public market widgets only, with no wallet signals. It answers that no brief is available when the app window is closed, when the board has no saved visit yet or when nothing changed. Reading it writes nothing to your board. |
Readings come only from widgets that show public market data. Wallet, portfolio, net worth, perps, paper trading, notes and web widgets are left out on purpose, so a reading can never reveal what you hold or what you are watching. Quotes and candles are limited to 30 calls a minute for each client, and a single answer is capped at 256 KB.
The tools also appear as read-only resources for clients that prefer them, and as two prompts, desk_review and explain_alert, which only wrap the tools above.
What reaches the agent's model
Cashboard sends nothing anywhere for this feature. The data goes to the agent on your computer, and from there to whatever model that agent uses. With Claude Desktop that is Anthropic, under its terms. Public board data is the board layout and public market readings. With Read private board data on, your note text, web addresses and wallet addresses go the same way.
Cashboard never gives an agent a seed phrase or a private key, because it never holds one. It also gives no agent a way to trade, swap or sign. Privacy and data lists this with the rest of what leaves your device.
MCP servers: show another server's tool on a board
Under Connections, the MCP servers list holds the servers whose tools your widgets can call. There are two kinds.
Remote: a web address that must be HTTPS (plainhttpis accepted only for this computer), with an optional bearer token. An address that contains a username or password is refused.Local command: a program Cashboard starts on this computer, with its arguments and environment variables. Before saving, a card shows the full command line and saysThis will run a program on your computer with your user rights.Nothing is saved until you press Allow.
Test connects, lists the tools and shows how many there are, or the reason it failed. Tokens and environment values are encrypted with your operating system's secure storage, never shown again, and refused when only basic text storage exists. Changing the address or the command removes the saved secrets unless you enter new ones with it.
The MCP tool widget
The MCP tool widget (Add panel, next to Dune query) shows one tool of one server. Pick a server, pick a tool, fill the arguments the tool asks for, and choose how to show the result. A new widget has no server and shows Choose a server until you do.
- Only tools the server marks as read-only are listed.
Show tools that may change thingsreveals the rest, and picking one asks for a separateAllow this tool in this widgetconfirmation, because many servers do not mark their tools. - The widget calls only the tool and arguments you saved, never anything else. It refreshes every 60 seconds by default, never faster than every 15 seconds.
- Results are shown as plain text, a table, a list of fields or a number. Images and audio are not shown. A result larger than 256 KB is cut, and the widget says so.
- If a refresh fails, the last good result stays on screen, dimmed, with its age and the reason. It is never shown as current.
A share link, an exported template and a board opened from someone else's link keep the MCP tool widget but remove the server and the arguments, so it opens as an empty Choose a server card and makes no call. Copying a widget to another board on the same computer keeps its settings. Templates and sharing covers links in general.
Propose changes
With Propose changes on, an agent can send a plan: a short list of actions such as adding widgets, price alerts, notes and frames, and connecting an alert to the widget that feeds it. Cashboard checks the plan first against your board and refuses one that does not fit, with the reason. A plan that passes shows an approval card.
| Tool | What it does |
|---|---|
cashboard_propose_plan | Sends a plan for one board and waits up to about a minute for your answer. It returns a ticket with the status pending, approved, rejected, expired, performed or failed, and once the plan ran, the ids of what it created. |
cashboard_get_plan_result | Reads the ticket of a plan again, for an agent that did not wait. |
- The approval card shows the agent's name, the plan's title and summary, and one plain line per action, with
ApproveandReject. All of that text comes from the agent and is shown as plain text. - Approve runs the plan on the board you have open, with the agent's name on the cursor. It is one undo step: a single Ctrl Z removes everything, and Esc stops it part way. Notes the plan writes start with the agent's name, as notes from B Cash start with B Cash.
- A plan for another board says so on the card (
This will open <board> and apply the plan.). Approve opens that board, then runs the plan. If the board was deleted, the plan fails and the agent is told why. - Before it runs, the plan is checked again against the board as it is then. If the board changed so the plan no longer fits, nothing is applied.
- A plan can add up to 12 widgets, 4 notes and 2 frames. It cannot name a wallet or account, include a link, change or remove a widget that is already on the board, turn on the board watcher or add an
MCP toolwidget. - One plan per agent can wait at a time, an agent can send at most 6 plans a minute, and a plan you do not answer expires after 10 minutes. If Cashboard is closed the agent is told to open it. An approved plan that reports no result within 2 minutes is marked failed. Plans run one after another, and a client named
B Cashis shown asB Cash (external)so it cannot pass for the built-in agent.
Auto-approve is a separate switch, off for every agent. In Connections, under Allowed agents, tick Small plans next to an agent and plans of up to 4 widgets with no frame and no board rename run without a card. They still run on the open board as one undo step, and anything bigger still asks.
Limits
- The Cashboard app must be running. There is no server while the app is closed.
- Client names are self-reported and cannot be verified.
- An agent changes a board only by a plan you approve, and only by adding things: widgets, alerts, notes and frames, plus a name for a board that is still empty. If the plan is for another board, approving it opens that board first.
- The morning brief needs the Cashboard window to be open; otherwise the tool answers that no brief is available.
- Candles come in 1, 7 or 30 day ranges only.
- Each tool call waits at most 20 seconds, and an answer is cut at 256 KB.
- The server and the widget are desktop only. The web build has neither.
Frequently asked questions
Can Claude Desktop read my Cashboard boards?
Yes, on Cashboard Desktop, after you switch on Agents under Connections, paste the copied config into Claude Desktop and approve the first connection. It can read the board list, the widget list, alerts and public market readings. It can also propose changes, but nothing changes until you approve the plan on a card.
Does the MCP server work while Cashboard is closed?
No. The server lives inside the app. When the app is closed or the switch is off, the agent finds one status tool that says Cashboard is not running, and no board data.
Can a website or another computer reach the server?
No. It listens on this computer only, refuses any request that comes from a web page and requires a token. A program running as you that can read the Cashboard data folder can still connect, so keep that folder private.
Are my wallet addresses and notes visible to the agent?
Not by default. Public data excludes note text, web addresses and wallet addresses, and readings skip wallet, portfolio, perps, paper trading, notes and web widgets. They are included only if you turn on Read private board data for that client, and then they go to the model the agent uses.
Is it safe to add a local command as an MCP server?
Only if you trust the program. Cashboard shows the full command line and asks you to confirm, because the program runs on your computer with your user rights. Remote servers are called over HTTPS only.
Does the MCP tool widget send my board to the server?
No. It calls the one tool you chose with the arguments you saved, and nothing else from the board goes with it. The result is only displayed, and it is never sent to B Cash or any model.
Last checked against the code on . Found something out of date? Write to contact@cashboard.live. Market data comes from the providers named on each widget and may be delayed. Nothing here is financial advice.
Cashboard