npm package: @striderlabs/mcp-cashapp
Description: MCP server connector for Cash App payments using Playwright browser automation
Author: Strider Labs
Latest version: 1.0.0

# @striderlabs/mcp-cashapp

An MCP (Model Context Protocol) server connector for Cash App payments, powered by Playwright browser automation.

## Overview

This package provides an MCP server that exposes Cash App functionality as tools for AI assistants like Claude. It uses Playwright to automate the Cash App web interface.

## Installation

```bash
npm install -g @striderlabs/mcp-cashapp
```

Or install from source:

```bash
git clone https://github.com/markswendsen-code/mcp-cashapp.git
cd mcp-cashapp
npm install
npm run build
```

## Usage

### As an MCP Server

Add to your MCP client configuration (e.g., Claude Desktop's `claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "cashapp": {
      "command": "striderlabs-mcp-cashapp"
    }
  }
}
```

Or run directly:

```bash
striderlabs-mcp-cashapp
```

### Prerequisites

- Node.js >= 18
- Playwright Chromium browser (installed automatically with `npm install`)

After installing, run:

```bash
npx playwright install chromium
```

## Tools

### `cashapp_login`

Log in to Cash App with your credentials. **Must be called before any other tool.**

**Parameters:**
- `email_or_phone` (string, required): Email address or phone number
- `password` (string, required): Account password

**Returns:** `{ success: boolean, message: string }`

---

### `cashapp_get_balance`

Get the current Cash App balance.

**Parameters:** None

**Returns:** `{ balance: string, currency: string }`

---

### `cashapp_get_transactions`

Get recent transaction history.

**Parameters:**
- `limit` (number, optional): Maximum number of transactions to return (default: 10)

**Returns:** Array of transaction objects:
```json
[
  {
    "id": "txn_123",
    "type": "sent | received | request",
    "amount": 25.00,
    "note": "Lunch",
    "recipient": "$johndoe",
    "date": "Jan 15",
    "status": "completed"
  }
]
```

---

### `cashapp_get_transaction_details`

Get detailed information about a specific transaction.

**Parameters:**
- `transaction_id` (string, required): Transaction ID

**Returns:** Single transaction object

---

### `cashapp_send_money`

Send money to another Cash App user.

**Parameters:**
- `recipient` (string, required): Recipient's $Cashtag, phone, or email
- `amount` (number, required): Amount in USD
- `note` (string, required): Payment note/memo

**Returns:** `{ success: boolean, message: string, transactionId?: string }`

---

### `cashapp_request_money`

Request money from another Cash App user.

**Parameters:**
- `recipient` (string, required): Recipient's $Cashtag, phone, or email
- `amount` (number, required): Amount in USD to request
- `note` (string, required): Reason for the request

**Returns:** `{ success: boolean, message: string }`

---

### `cashapp_get_pending_requests`

Get all pending payment requests.

**Parameters:** None

**Returns:** Array of pending request objects:
```json
[
  {
    "id": "req_123",
    "from": "$janedoe",
    "amount": 10.00,
    "note": "Coffee",
    "date": "Jan 15"
  }
]
```

---

### `cashapp_accept_request`

Accept a pending payment request.

**Parameters:**
- `request_id` (string, required): Request ID to accept

**Returns:** `{ success: boolean, message: string }`

---

### `cashapp_decline_request`

Decline a pending payment request.

**Parameters:**
- `request_id` (string, required): Request ID to decline

**Returns:** `{ success: boolean, message: string }`

---

### `cashapp_get_contacts`

Get your Cash App contacts/friends list.

**Parameters:** None

**Returns:** Array of contact objects:
```json
[
  {
    "id": "contact_0",
    "name": "Jane Doe",
    "cashtag": "$janedoe"
  }
]
```

---

### `cashapp_get_bitcoin_balance`

Get your Bitcoin balance and current USD value.

**Parameters:** None

**Returns:** `{ btcBalance: string, usdValue: string }`

---

### `cashapp_get_card_info`

Get information about your Cash Card.

**Parameters:** None

**Returns:**
```json
{
  "cardNumber": "•••• •••• •••• 1234",
  "status": "Active",
  "type": "Cash Card",
  "expiryDate": "12/26"
}
```

---

### `cashapp_get_boosts`

Get available Cash Card Boosts (discounts).

**Parameters:** None

**Returns:** Array of boost objects:
```json
[
  {
    "name": "10% off DoorDash",
    "discount": "10%",
    "category": "Food",
    "isActive": false
  }
]
```

## Example Usage with Claude

```
You: Please log in to Cash App with my credentials and check my balance.

Claude: I'll use the cashapp_login tool to log in, then check your balance.
[calls cashapp_login]
[calls cashapp_get_balance]
Your Cash App balance is $245.50.
```

## Security Notice

⚠️ **Important Security Considerations:**

- Never share your Cash App credentials with untrusted parties
- This tool automates real financial transactions — use with caution
- All credentials are only used for the current session and are not stored
- Use only on trusted, secure machines
- Consider using a dedicated account for testing

## Development

```bash
# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in development
npm run dev
```

## License

MIT