---
title: "Pi Coding Agent Setup: Bank Data via Bash or MCP | BankBridge"
description: "Give the Pi coding agent read-only bank data. Pi's bash tool runs the bankbridge command, with a short skill it loads on demand, or connect over MCP."
url: "https://bankbridge.money/docs/pi"
---
[← All integrations](https://bankbridge.money/docs)

Pi

# Use bank data through bash.

This is Pi the terminal coding agent (pi.dev). Its default tools are `read`, `bash`, `edit` and `write`, so it can run the [`bankbridge` command](https://bankbridge.money/cli) as soon as it’s installed. Pi also speaks MCP, since version 0.99.0; that path is step 5.

Read-only. Your agent can see balances and transactions, and nothing can move money, pay a bill, or place a trade. BankBridge doesn’t store your transactions. [How it’s secured](https://bankbridge.money/security) · [Try it with sample data first](https://bankbridge.money/demo)

Step 01

## Install the command.

terminal

```
curl -fsSL https://bankbridge.money/install.sh | sh
```

One binary in `~/.local/bin`; nothing in Pi changes. Check it with fictional data, no account needed:

terminal

```
bankbridge accounts --demo
```

Step 02

## Sign in.

Copy an API key from [your dashboard](https://bankbridge.money/dashboard/settings), then:

terminal

```
bankbridge login
```

Step 03

## Add a skill so Pi knows about it.

Pi lists each skill by name and description and reads the full file only when a task calls for it, so this costs one line until you ask about money.

~/.agents/skills/bankbridge/SKILL.md

```
---
name: bankbridge
description: Read the user's bank accounts, transactions, bills and investments. Use for questions about their money, spending, subscriptions or balances.
---

# BankBridge

Run `bankbridge --help` to see the commands. Add --json and filter with jq when a
result is long. Everything is read-only.

- Transactions: positive amounts are money out, negative amounts are money in.
- A warning on stderr means a bank may be missing from the result: tell the user.
- Exit code 5 means a bank needs reconnecting. `bankbridge connect` prints the link.
```

Step 04

## Ask.

Pi runs the commands through its `bash` tool. You can also run one yourself: `!` adds the output to the conversation, and `!!` keeps it out.

inside pi

```
> What did I spend on food in October, compared with September?

!bankbridge cashflow --month 2026-10
```

One-shot from a script: `pi --print "what subscriptions am I paying for?"`. What Pi reads goes to the model provider you set up in Pi.

Step 05

## Or connect over MCP.

With Pi 0.99.0 or later, you can skip the command and add the server. Pi sends the key from the environment variable you name.

terminal

```
export BANKBRIDGE_API_KEY=bbk_your_api_key_here
pi mcp add bankbridge --url https://bankbridge.money/api/mcp --bearer-token-env-var BANKBRIDGE_API_KEY
pi mcp list
```

Both paths read the same banks. The command also gives you files and pipes: exports, cron jobs and `jq` before anything reaches the model.

Problems? Email [hello@greatwork.company](mailto:hello@greatwork.company) with the app you’re setting up and what you see, and we’ll help you finish.
