Skip to main content
Glama
CWhittemore1010

penni-mcp

README.md
# penni-mcp

**Penni** — AI bookkeeper for small businesses. Connect your QuickBooks and manage your books through Claude Desktop or Cursor.

## Quick Start

```bash
npx penni-mcp
```

On first run, you'll be prompted for your API key. Get yours at [app.penni.so/dashboard/mcp](https://app.penni.so/dashboard/mcp).

## Claude Desktop Setup

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "penni": {
      "command": "npx",
      "args": ["penni-mcp"]
    }
  }
}
```

Config file location:
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

Then restart Claude Desktop and ask: *"What's my bank balance?"*

## Cursor Setup

Settings → MCP → Add Server:
- **Name:** penni
- **Command:** `npx penni-mcp`

## What You Can Do

### Free (connect QBO and go)
- **"What's my bank balance?"** — real-time balances from QuickBooks
- **"Show me my P&L for this month"** — Profit & Loss report
- **"Who owes me money?"** — open and overdue invoices

### Paid ($149/mo at [penni.so](https://penni.so))
- **"Create a $500 expense for AWS under Software"** — post expenses to QBO
- **"Invoice Acme Corp $2,000 for consulting, due May 1st"** — create and send invoices
- **"Ask Penni: what's my biggest expense category?"** — AI-powered bookkeeping Q&A

## How It Works

Penni connects to your QuickBooks Online account through a secure API. Your data lives in YOUR QuickBooks — not on our servers. If you stop using Penni, your books are exactly where they've always been.

## API Key

You can also set your API key via environment variable:

```bash
PENNI_API_KEY=your_key_here npx penni-mcp
```

Or pass it as a flag:

```bash
npx penni-mcp --key your_key_here
```

The key is saved to `~/.penni/config.json` after first run.

## Links

- **Website:** [penni.so](https://penni.so)
- **Dashboard:** [app.penni.so](https://app.penni.so)
- **Support:** support@penni.so

## License

MIT

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: asking questions, creating expenses, creating invoices, getting bank balances, listing invoices, and getting profit & loss reports. No overlap or ambiguity.

Naming Consistency5/5

All tools follow a consistent 'penni_verb_noun' pattern using snake_case (e.g., penni_ask, penni_create_expense, penni_get_balance). Perfectly predictable.

Tool Count5/5

With 6 tools covering core bookkeeping operations (read, create, list, report), the count feels well-scoped for a specialized MCP server without being too few or too many.

Completeness4/5

The tool surface covers essential bookkeeping tasks (query, create expense/invoice, get balances, list invoices, P&L). Missing update/delete operations for expenses and invoices, but the core workflows are covered.

Maintenance

ActivityInactive
ResponsivenessNo issues