Skip to main content
Glama
markswendsen-code

@striderlabs/mcp-att

README.md
# @striderlabs/mcp-att

MCP (Model Context Protocol) server for AT&T telecom account management. Automates att.com using Playwright with optional Browserbase cloud browser support.

## Tools

| Tool | Description |
|------|-------------|
| `get_account_overview` | Current plan, balance due, and usage summary |
| `get_usage_details` | Detailed data / call / text usage breakdown |
| `pay_bill` | Initiate a one-time bill payment |
| `get_bill_history` | View past bills |
| `check_upgrade_eligibility` | Check device upgrade eligibility for a line |

## Installation

```bash
npm install @striderlabs/mcp-att
```

Or use the tarball directly:

```bash
npm install /path/to/striderlabs-mcp-att-1.0.0.tgz
```

## Usage

### With Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "att": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-att"],
      "env": {
        "BROWSERBASE_CDP_URL": "wss://connect.browserbase.com?apiKey=YOUR_KEY"
      }
    }
  }
}
```

### With Browserbase (recommended for production)

Set the `BROWSERBASE_CDP_URL` environment variable to connect to a Browserbase cloud browser session:

```bash
BROWSERBASE_CDP_URL="wss://connect.browserbase.com?apiKey=YOUR_BROWSERBASE_API_KEY" node dist/index.js
```

If `BROWSERBASE_CDP_URL` is not set, a local headless Chromium browser is launched automatically.

### Running locally

```bash
npm run build
node dist/index.js
```

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `BROWSERBASE_CDP_URL` | No | Browserbase CDP WebSocket URL. If omitted, launches a local headless browser. |

## Tool Reference

### `get_account_overview`

Returns current plan name, account number, balance due, due date, and data usage summary.

**Input:**
```json
{
  "username": "your-att-email@example.com",
  "password": "your-password"
}
```

### `get_usage_details`

Returns data used/remaining, talk minutes, and text message counts for the current billing period.

**Input:**
```json
{
  "username": "your-att-email@example.com",
  "password": "your-password"
}
```

### `pay_bill`

Navigates to the payment page and pre-fills the amount. **Does not automatically submit the payment** — manual confirmation is required for security.

**Input:**
```json
{
  "username": "your-att-email@example.com",
  "password": "your-password",
  "amount": 85.00,
  "payment_method": "Visa ending in 4242"
}
```

### `get_bill_history`

Returns a list of past bills with dates and amounts.

**Input:**
```json
{
  "username": "your-att-email@example.com",
  "password": "your-password"
}
```

### `check_upgrade_eligibility`

Checks whether a line is eligible for a device upgrade and, if not, when it becomes eligible.

**Input:**
```json
{
  "username": "your-att-email@example.com",
  "password": "your-password",
  "line_number": "2125551234"
}
```

## Security Notes

- Credentials are passed per-call and are never stored or logged.
- The `pay_bill` tool intentionally does **not** auto-submit payments; it requires manual confirmation.
- Use Browserbase or another cloud browser provider so credentials are never processed on your local machine.

## Development

```bash
npm install
npm run build       # compile TypeScript → dist/
npm run dev         # run with ts-node (requires ts-node)
npm pack            # create tarball
```

## License

MIT

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: account overview, usage details, bill payment, bill history, and upgrade eligibility. There is no overlap or ambiguity in their functions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (get_account_overview, get_usage_details, pay_bill, get_bill_history, check_upgrade_eligibility). The verbs are uniform and descriptive.

Tool Count5/5

With 5 tools, the server is well-scoped for the AT&T account management domain. Each tool covers a distinct need without unnecessary bloat or minimalism.

Completeness4/5

The tools cover core account management tasks: viewing overview, usage, bill history, paying bills, and checking upgrade eligibility. Minor gaps like autopay management or plan changes are missing but not critical for basic operations.

Maintenance

ActivityInactive
ResponsivenessNo issues