@striderlabs/mcp-att
# @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
Scored across 5 tools
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.
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.
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.
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.