@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 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
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}