@striderlabs/mcp-spectrum 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +151 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +549 -0
- package/dist/index.js.map +1 -0
- package/package.json +25 -0
- package/src/index.ts +733 -0
- package/tsconfig.json +19 -0
package/README.md
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# @striderlabs/mcp-spectrum
|
|
2
|
+
|
|
3
|
+
MCP (Model Context Protocol) server for Spectrum/Charter ISP account management. Automates common account tasks via browser automation using Playwright and Browserbase.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Account Overview** — View current plan, balance due, and data usage
|
|
8
|
+
- **Service Details** — Get details on internet, TV, phone, and mobile services
|
|
9
|
+
- **Pay Bill** — Initiate one-time bill payments
|
|
10
|
+
- **Bill History** — View past billing history
|
|
11
|
+
- **Check Outages** — Check for service outages by ZIP code or address
|
|
12
|
+
- **Schedule Technician** — Book a technician visit
|
|
13
|
+
|
|
14
|
+
## Requirements
|
|
15
|
+
|
|
16
|
+
- Node.js 18+
|
|
17
|
+
- A [Browserbase](https://browserbase.com) account with a CDP URL
|
|
18
|
+
- Valid Spectrum account credentials
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install @striderlabs/mcp-spectrum
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Or install from the tarball:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install ./striderlabs-mcp-spectrum-1.0.0.tgz
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Configuration
|
|
33
|
+
|
|
34
|
+
Set the required environment variable:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
export BROWSERBASE_CDP_URL="wss://connect.browserbase.com?apiKey=YOUR_KEY"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Usage with Claude Desktop
|
|
41
|
+
|
|
42
|
+
Add to your `claude_desktop_config.json`:
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"mcpServers": {
|
|
47
|
+
"spectrum": {
|
|
48
|
+
"command": "npx",
|
|
49
|
+
"args": ["-y", "@striderlabs/mcp-spectrum"],
|
|
50
|
+
"env": {
|
|
51
|
+
"BROWSERBASE_CDP_URL": "wss://connect.browserbase.com?apiKey=YOUR_KEY"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Tools
|
|
59
|
+
|
|
60
|
+
### `get_account_overview`
|
|
61
|
+
|
|
62
|
+
Retrieves current plan, balance due, payment due date, and data usage.
|
|
63
|
+
|
|
64
|
+
**Parameters:**
|
|
65
|
+
- `username` (required) — Spectrum account email/username
|
|
66
|
+
- `password` (required) — Spectrum account password
|
|
67
|
+
|
|
68
|
+
### `get_service_details`
|
|
69
|
+
|
|
70
|
+
Gets details for active Spectrum services.
|
|
71
|
+
|
|
72
|
+
**Parameters:**
|
|
73
|
+
- `username` (required)
|
|
74
|
+
- `password` (required)
|
|
75
|
+
- `service_type` (optional) — One of: `internet`, `tv`, `phone`, `voice`, `mobile`
|
|
76
|
+
|
|
77
|
+
### `pay_bill`
|
|
78
|
+
|
|
79
|
+
Loads the payment form pre-filled with the specified amount. **Does not auto-submit** — user must confirm payment.
|
|
80
|
+
|
|
81
|
+
**Parameters:**
|
|
82
|
+
- `username` (required)
|
|
83
|
+
- `password` (required)
|
|
84
|
+
- `amount` (required) — Payment amount without `$` (e.g., `"89.99"`)
|
|
85
|
+
- `payment_method` (optional) — Payment method label as shown on account
|
|
86
|
+
|
|
87
|
+
### `get_bill_history`
|
|
88
|
+
|
|
89
|
+
Retrieves past bills with dates, amounts, and payment status.
|
|
90
|
+
|
|
91
|
+
**Parameters:**
|
|
92
|
+
- `username` (required)
|
|
93
|
+
- `password` (required)
|
|
94
|
+
- `months` (optional) — Months of history to fetch (default: 12, max: 24)
|
|
95
|
+
|
|
96
|
+
### `check_outages`
|
|
97
|
+
|
|
98
|
+
Checks for active outages in a given area.
|
|
99
|
+
|
|
100
|
+
**Parameters:**
|
|
101
|
+
- `zip_code` (optional) — ZIP code to check
|
|
102
|
+
- `address` (optional) — Service address to check
|
|
103
|
+
- `username` (optional) — For account-specific outage info
|
|
104
|
+
- `password` (optional)
|
|
105
|
+
|
|
106
|
+
### `schedule_technician`
|
|
107
|
+
|
|
108
|
+
Opens and pre-fills the technician scheduling form. **Does not auto-submit.**
|
|
109
|
+
|
|
110
|
+
**Parameters:**
|
|
111
|
+
- `username` (required)
|
|
112
|
+
- `password` (required)
|
|
113
|
+
- `issue_description` (required) — Description of the problem
|
|
114
|
+
- `preferred_date` (optional) — Date in `YYYY-MM-DD` format
|
|
115
|
+
- `preferred_time` (optional) — Time window (e.g., `"Morning (8am-12pm)"`)
|
|
116
|
+
- `contact_phone` (optional) — Contact phone number
|
|
117
|
+
|
|
118
|
+
## How It Works
|
|
119
|
+
|
|
120
|
+
This MCP server uses Playwright to automate a real Chromium browser connected via [Browserbase](https://browserbase.com)'s CDP (Chrome DevTools Protocol) URL. Each tool:
|
|
121
|
+
|
|
122
|
+
1. Connects to the remote browser via `chromium.connectOverCDP()`
|
|
123
|
+
2. Logs in to spectrum.net with your credentials
|
|
124
|
+
3. Navigates to the relevant page
|
|
125
|
+
4. Extracts or populates data
|
|
126
|
+
5. Returns structured results as JSON
|
|
127
|
+
|
|
128
|
+
## Security Notes
|
|
129
|
+
|
|
130
|
+
- Credentials are passed per-request and never stored by this server
|
|
131
|
+
- Payment and appointment submission require manual user confirmation — the server will not auto-submit financial transactions
|
|
132
|
+
- All browser sessions run in Browserbase's isolated cloud environment
|
|
133
|
+
|
|
134
|
+
## Development
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
git clone <repo>
|
|
138
|
+
cd mcp-spectrum
|
|
139
|
+
npm install
|
|
140
|
+
npm run build
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Run in dev mode:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
BROWSERBASE_CDP_URL="..." npx ts-node src/index.ts
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## License
|
|
150
|
+
|
|
151
|
+
MIT
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|