Skip to content

Docs · Data and connections

Let an agent read your boards, or show another server on one

Cashboard Desktop can do two things with the Model Context Protocol (MCP). It can run a server on your computer, so an agent such as Claude Desktop, Claude Code, Codex or Cursor can read your boards and propose changes that only run after you approve them. And it can connect to someone else's MCP server and show one of its tools as a widget. Both are desktop only, both start switched off, and neither needs a Cashboard account. As of October 2026 installed copies are on 0.4.2, which has neither; both arrive with the next desktop release.

Documentation menu

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.
WhereCashboard Desktop only. The web build shows Desktop only in both places.
CostCashboard charges nothing for either side. Your agent and any server you add have their own terms.
Changing your boardsOnly 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. 1

    Switch Agents on

    In the Agents (MCP) card, turn the switch on and wait for On and the port.

  2. 2

    Copy the config

    Under Connect an AI agent, press Claude 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. 3

    Paste it into Claude Desktop

    Add the cashboard entry to the mcpServers section of claude_desktop_config.json (Claude Desktop: Settings, Developer, Edit Config), save, and restart Claude Desktop.

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

What each choice on the approval card does
ChoiceDefaultWhat it allows
Read public board dataOn, fixedThe board list, the widget list, alerts, public market readings and quotes. See the next section for exactly what that includes.
Read private board dataOffAdds 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)OnThe 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 boardsAll boardsWhich 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

The tools the server offers, all read-only
ToolWhat it returns
cashboard_list_boardsEach 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_boardOne 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_alertsEach 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_readingsThe 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_quoteSpot quotes for up to 20 CoinGecko coin ids.
cashboard_get_candlesCandles 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_briefWhat 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 (plain http is 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 says This 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 things reveals the rest, and picking one asks for a separate Allow this tool in this widget confirmation, 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.

The two tools that handle plans
ToolWhat it does
cashboard_propose_planSends 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_resultReads 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 Approve and Reject. 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 tool widget.
  • 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 Cash is shown as B 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.