cbrowser 18.63.0 → 18.63.1

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.
Files changed (71) hide show
  1. package/package.json +1 -1
  2. package/docs/ASSESSMENT.md +0 -132
  3. package/docs/AUTH0-SETUP.md +0 -207
  4. package/docs/COGNITIVE-OPTIMAL-TRANSPORT-RESEARCH.md +0 -238
  5. package/docs/DEMO-DEPLOYMENT.md +0 -177
  6. package/docs/ENTERPRISE-INTEGRATION.md +0 -250
  7. package/docs/GETTING-STARTED.md +0 -232
  8. package/docs/INSTALL.md +0 -274
  9. package/docs/MCP-INTEGRATION.md +0 -301
  10. package/docs/METHODOLOGY.md +0 -276
  11. package/docs/PERSONA-QUESTIONNAIRE.md +0 -328
  12. package/docs/README.md +0 -45
  13. package/docs/REMOTE-MCP-SERVER.md +0 -569
  14. package/docs/SECURITY_WHITEPAPER.md +0 -475
  15. package/docs/STRESS-TEST-v16.14.4.md +0 -241
  16. package/docs/Tool-Cognitive-Journey-Autonomous.md +0 -270
  17. package/docs/Tool-Competitive-Benchmark.md +0 -293
  18. package/docs/Tool-Empathy-Audit.md +0 -331
  19. package/docs/Tool-Hunt-Bugs.md +0 -305
  20. package/docs/Tool-Marketing-Campaign.md +0 -298
  21. package/docs/Tool-Persona-Create.md +0 -274
  22. package/docs/Tools-Accessibility.md +0 -208
  23. package/docs/Tools-Browser-Automation.md +0 -311
  24. package/docs/Tools-Cognitive-Journeys.md +0 -233
  25. package/docs/Tools-Marketing-Intelligence.md +0 -271
  26. package/docs/Tools-Overview.md +0 -162
  27. package/docs/Tools-Persona-System.md +0 -300
  28. package/docs/Tools-Session-State.md +0 -278
  29. package/docs/Tools-Testing-Quality.md +0 -257
  30. package/docs/Tools-Utilities.md +0 -182
  31. package/docs/Tools-Visual-Performance.md +0 -278
  32. package/docs/hunt-bugs-coverage.md +0 -103
  33. package/docs/personas/Persona-ADHD.md +0 -141
  34. package/docs/personas/Persona-ElderlyUser.md +0 -137
  35. package/docs/personas/Persona-FirstTimer.md +0 -137
  36. package/docs/personas/Persona-ImpatientUser.md +0 -138
  37. package/docs/personas/Persona-Index.md +0 -302
  38. package/docs/personas/Persona-LowVision.md +0 -139
  39. package/docs/personas/Persona-MobileUser.md +0 -139
  40. package/docs/personas/Persona-MotorTremor.md +0 -139
  41. package/docs/personas/Persona-PowerUser.md +0 -135
  42. package/docs/personas/Persona-ScreenReaderUser.md +0 -139
  43. package/docs/research/Bibliography.md +0 -275
  44. package/docs/research/Research-Methodology.md +0 -244
  45. package/docs/research/Values-Research.md +0 -432
  46. package/docs/traits/Trait-AnchoringBias.md +0 -227
  47. package/docs/traits/Trait-AttributionStyle.md +0 -280
  48. package/docs/traits/Trait-AuthoritySensitivity.md +0 -141
  49. package/docs/traits/Trait-ChangeBlindness.md +0 -171
  50. package/docs/traits/Trait-Comprehension.md +0 -180
  51. package/docs/traits/Trait-Curiosity.md +0 -189
  52. package/docs/traits/Trait-EmotionalContagion.md +0 -144
  53. package/docs/traits/Trait-FOMO.md +0 -150
  54. package/docs/traits/Trait-Index.md +0 -166
  55. package/docs/traits/Trait-InformationForaging.md +0 -217
  56. package/docs/traits/Trait-InterruptRecovery.md +0 -249
  57. package/docs/traits/Trait-MentalModelRigidity.md +0 -228
  58. package/docs/traits/Trait-MetacognitivePlanning.md +0 -164
  59. package/docs/traits/Trait-Patience.md +0 -137
  60. package/docs/traits/Trait-Persistence.md +0 -165
  61. package/docs/traits/Trait-ProceduralFluency.md +0 -205
  62. package/docs/traits/Trait-ReadingTendency.md +0 -216
  63. package/docs/traits/Trait-Resilience.md +0 -162
  64. package/docs/traits/Trait-RiskTolerance.md +0 -162
  65. package/docs/traits/Trait-Satisficing.md +0 -181
  66. package/docs/traits/Trait-SelfEfficacy.md +0 -199
  67. package/docs/traits/Trait-SocialProofSensitivity.md +0 -155
  68. package/docs/traits/Trait-TimeHorizon.md +0 -267
  69. package/docs/traits/Trait-TransferLearning.md +0 -249
  70. package/docs/traits/Trait-TrustCalibration.md +0 -227
  71. package/docs/traits/Trait-WorkingMemory.md +0 -192
@@ -1,177 +0,0 @@
1
- > **This documentation is no longer maintained here.**
2
- >
3
- > For the latest version, please visit: **[CBrowser MCP Demo Server Deployment](https://cbrowser.ai/docs/DEMO-DEPLOYMENT)**
4
-
5
- ---
6
-
7
- # CBrowser MCP Demo Server Deployment
8
-
9
- Deploy a rate-limited, resource-constrained MCP demo server.
10
-
11
- ## Resource Limits
12
-
13
- The demo container is limited to protect your host:
14
-
15
- | Resource | Limit | Why |
16
- |----------|-------|-----|
17
- | CPU | 1 core | Prevents CPU exhaustion |
18
- | Memory | 2GB | Playwright needs ~1GB, buffer for operations |
19
- | PIDs | 100 | Prevents fork bombs |
20
- | Tmp storage | 500MB | Limits disk usage |
21
- | Logs | 3 x 10MB | Prevents log explosion |
22
-
23
- ## Rate Limits (Built-in)
24
-
25
- The demo server has application-level rate limiting:
26
- - **5 requests per minute** per IP
27
- - **Burst of 10** requests allowed
28
- - Returns 429 Too Many Requests when exceeded
29
-
30
- ## Quick Start
31
-
32
- ```bash
33
- # Clone the repo
34
- git clone https://github.com/alexandriashai/cbrowser.git
35
- cd cbrowser
36
-
37
- # Build and run demo container
38
- docker-compose -f docker-compose.demo.yml up -d
39
-
40
- # Check status
41
- docker ps
42
- docker logs cbrowser-mcp-demo
43
-
44
- # Monitor resources
45
- docker stats cbrowser-mcp-demo
46
- ```
47
-
48
- ## Verify It's Running
49
-
50
- ```bash
51
- # Health check
52
- curl http://localhost:3000/health
53
-
54
- # Server info
55
- curl http://localhost:3000/info
56
- ```
57
-
58
- ## Production Deployment (with nginx)
59
-
60
- ### 1. Run the container
61
-
62
- ```bash
63
- docker-compose -f docker-compose.demo.yml up -d
64
- ```
65
-
66
- ### 2. Configure nginx reverse proxy
67
-
68
- ```nginx
69
- server {
70
- listen 443 ssl http2;
71
- server_name cbrowser-mcp-demo.yourdomain.com;
72
-
73
- ssl_certificate /path/to/cert.pem;
74
- ssl_certificate_key /path/to/key.pem;
75
-
76
- # Rate limiting at nginx level (additional protection)
77
- limit_req_zone $binary_remote_addr zone=mcp_demo:10m rate=10r/m;
78
-
79
- location / {
80
- limit_req zone=mcp_demo burst=5 nodelay;
81
-
82
- proxy_pass http://127.0.0.1:3000;
83
- proxy_http_version 1.1;
84
- proxy_set_header Host $host;
85
- proxy_set_header X-Real-IP $remote_addr;
86
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
87
- proxy_set_header X-Forwarded-Proto $scheme;
88
-
89
- # SSE support for MCP
90
- proxy_set_header Connection '';
91
- proxy_buffering off;
92
- proxy_cache off;
93
- proxy_read_timeout 86400;
94
- }
95
- }
96
- ```
97
-
98
- ### 3. Reload nginx
99
-
100
- ```bash
101
- sudo nginx -t && sudo systemctl reload nginx
102
- ```
103
-
104
- ## Monitoring
105
-
106
- ### Check container health
107
-
108
- ```bash
109
- # Status
110
- docker inspect --format='{{.State.Health.Status}}' cbrowser-mcp-demo
111
-
112
- # Logs (last 100 lines)
113
- docker logs --tail 100 cbrowser-mcp-demo
114
-
115
- # Resource usage
116
- docker stats cbrowser-mcp-demo --no-stream
117
- ```
118
-
119
- ### Set up alerts (optional)
120
-
121
- ```bash
122
- # Simple health check cron (add to crontab)
123
- */5 * * * * curl -sf http://localhost:3000/health || echo "MCP Demo Down" | mail -s "Alert" you@email.com
124
- ```
125
-
126
- ## Troubleshooting
127
-
128
- ### Container keeps restarting
129
-
130
- ```bash
131
- # Check logs
132
- docker logs cbrowser-mcp-demo
133
-
134
- # Common issues:
135
- # - Port 3000 already in use
136
- # - Not enough memory (needs 2GB)
137
- # - Playwright browser install failed
138
- ```
139
-
140
- ### Out of memory
141
-
142
- If you see OOM kills, the 2GB limit may not be enough for your workload. Edit `docker-compose.demo.yml`:
143
-
144
- ```yaml
145
- mem_limit: 3g # Increase to 3GB
146
- ```
147
-
148
- ### Rate limit too strict
149
-
150
- The built-in rate limit is 5 req/min. For a private demo, you can disable it:
151
-
152
- ```bash
153
- # In docker-compose.demo.yml, add:
154
- environment:
155
- - MCP_DISABLE_RATE_LIMIT=true # Only for private demos!
156
- ```
157
-
158
- ## Updating
159
-
160
- ```bash
161
- # Pull latest
162
- docker-compose -f docker-compose.demo.yml pull
163
-
164
- # Recreate container
165
- docker-compose -f docker-compose.demo.yml up -d --force-recreate
166
-
167
- # Clean old images
168
- docker image prune -f
169
- ```
170
-
171
- ## Security Considerations
172
-
173
- 1. **Don't expose without HTTPS** — Use nginx/Caddy with TLS
174
- 2. **Keep rate limits on** — The demo is public
175
- 3. **Monitor resource usage** — Set up alerts for high CPU/memory
176
- 4. **Update regularly** — Keep the container image updated
177
- 5. **Consider IP allowlisting** — If demo is for specific users only
@@ -1,250 +0,0 @@
1
- > **This documentation is no longer maintained here.**
2
- >
3
- > For the latest version, please visit: **[CBrowser Enterprise Integration Guide](https://cbrowser.ai/docs/ENTERPRISE-INTEGRATION)**
4
-
5
- ---
6
-
7
- # CBrowser Enterprise Integration Guide
8
-
9
- This document explains how to integrate the private `cbrowser-enterprise` package with the public `cbrowser` package.
10
-
11
- ## Architecture Overview
12
-
13
- ```
14
- ┌─────────────────────────────────────────────────────────────┐
15
- │ cbrowser (public npm) │
16
- │ ├── IConstitutionalEnforcer (interface) │
17
- │ ├── BaseConstitutionalEnforcer (abstract base class) │
18
- │ ├── NoOpConstitutionalEnforcer (fallback) │
19
- │ └── getEnforcer() → dynamic loader │
20
- └─────────────────────────────────────────────────────────────┘
21
-
22
- │ dynamic import (optional)
23
-
24
- ┌─────────────────────────────────────────────────────────────┐
25
- │ cbrowser-enterprise (private npm/GitHub Packages) │
26
- │ ├── EnterpriseConstitutionalEnforcer │
27
- │ │ ├── applyStealthMeasures() — real implementation │
28
- │ │ ├── persistAuditEntry() — database logging │
29
- │ │ └── Full fingerprint evasion suite │
30
- │ └── exports { EnterpriseConstitutionalEnforcer, version } │
31
- └─────────────────────────────────────────────────────────────┘
32
- ```
33
-
34
- ## Enterprise Package Structure
35
-
36
- Create a private repository `cbrowser-enterprise`:
37
-
38
- ```
39
- cbrowser-enterprise/
40
- ├── package.json
41
- ├── tsconfig.json
42
- ├── src/
43
- │ ├── index.ts # Main exports
44
- │ ├── enforcer.ts # EnterpriseConstitutionalEnforcer
45
- │ ├── stealth/
46
- │ │ ├── fingerprint.ts # Browser fingerprint normalization
47
- │ │ ├── webdriver.ts # WebDriver flag patching
48
- │ │ ├── timing.ts # Human-like timing injection
49
- │ │ └── canvas.ts # Canvas/WebGL normalization
50
- │ └── audit/
51
- │ └── persistence.ts # Audit log database
52
- └── dist/ # Compiled output
53
- ```
54
-
55
- ### package.json (Enterprise)
56
-
57
- ```json
58
- {
59
- "name": "cbrowser-enterprise",
60
- "version": "1.0.0",
61
- "type": "module",
62
- "main": "dist/index.js",
63
- "types": "dist/index.d.ts",
64
- "private": true,
65
- "peerDependencies": {
66
- "cbrowser": ">=15.0.0"
67
- },
68
- "publishConfig": {
69
- "registry": "https://npm.pkg.github.com"
70
- }
71
- }
72
- ```
73
-
74
- ### src/index.ts (Enterprise)
75
-
76
- ```typescript
77
- export { EnterpriseConstitutionalEnforcer } from "./enforcer.js";
78
- export const version = "1.0.0";
79
- ```
80
-
81
- ### src/enforcer.ts (Enterprise Template)
82
-
83
- ```typescript
84
- import {
85
- BaseConstitutionalEnforcer,
86
- type StealthConfig,
87
- type StealthAuditEntry,
88
- } from "cbrowser";
89
- import type { Page } from "playwright";
90
-
91
- export class EnterpriseConstitutionalEnforcer extends BaseConstitutionalEnforcer {
92
- constructor(config?: Partial<StealthConfig>) {
93
- super(config);
94
- }
95
-
96
- /**
97
- * Persist audit entries to database
98
- */
99
- protected async persistAuditEntry(entry: StealthAuditEntry): Promise<void> {
100
- // TODO: Implement database persistence
101
- // - SQLite for local
102
- // - PostgreSQL for production
103
- console.log("[Enterprise] Audit:", JSON.stringify(entry));
104
- }
105
-
106
- /**
107
- * Apply stealth measures to page
108
- */
109
- async applyStealthMeasures(page: Page): Promise<void> {
110
- // 1. Patch navigator.webdriver
111
- await page.addInitScript(() => {
112
- Object.defineProperty(navigator, "webdriver", {
113
- get: () => undefined,
114
- });
115
- });
116
-
117
- // 2. Inject realistic plugins
118
- await page.addInitScript(() => {
119
- Object.defineProperty(navigator, "plugins", {
120
- get: () => [
121
- { name: "Chrome PDF Plugin" },
122
- { name: "Chrome PDF Viewer" },
123
- { name: "Native Client" },
124
- ],
125
- });
126
- });
127
-
128
- // 3. Patch chrome object
129
- await page.addInitScript(() => {
130
- (window as any).chrome = {
131
- runtime: {},
132
- loadTimes: () => {},
133
- csi: () => {},
134
- };
135
- });
136
-
137
- // 4. Normalize WebGL fingerprint
138
- await this.normalizeWebGL(page);
139
-
140
- // 5. Add human-like mouse movement patterns
141
- // (Injected via persona's humanBehavior traits)
142
- }
143
-
144
- private async normalizeWebGL(page: Page): Promise<void> {
145
- await page.addInitScript(() => {
146
- const getParameterProxy = new Proxy(
147
- WebGLRenderingContext.prototype.getParameter,
148
- {
149
- apply(target, thisArg, args) {
150
- const param = args[0];
151
- // Normalize common fingerprint vectors
152
- if (param === 37445) return "Intel Inc."; // UNMASKED_VENDOR
153
- if (param === 37446) return "Intel Iris OpenGL Engine"; // UNMASKED_RENDERER
154
- return Reflect.apply(target, thisArg, args);
155
- },
156
- }
157
- );
158
- WebGLRenderingContext.prototype.getParameter = getParameterProxy;
159
- });
160
- }
161
- }
162
- ```
163
-
164
- ## Publishing Enterprise Package
165
-
166
- ### Option 1: GitHub Packages (Recommended)
167
-
168
- ```bash
169
- # In cbrowser-enterprise repo
170
- npm login --registry=https://npm.pkg.github.com --scope=@yourorg
171
- npm publish
172
- ```
173
-
174
- ### Option 2: Private npm Registry
175
-
176
- ```bash
177
- # Using Verdaccio or npm Enterprise
178
- npm publish --registry https://your-private-registry.com
179
- ```
180
-
181
- ### Option 3: Git Dependency
182
-
183
- ```json
184
- {
185
- "dependencies": {
186
- "cbrowser-enterprise": "git+ssh://git@github.com:yourorg/cbrowser-enterprise.git"
187
- }
188
- }
189
- ```
190
-
191
- ## Installing Enterprise for MCP Server
192
-
193
- On your MCP server host:
194
-
195
- ```bash
196
- # Install public package
197
- npm install cbrowser
198
-
199
- # Install enterprise (with auth)
200
- npm install cbrowser-enterprise --registry https://npm.pkg.github.com
201
-
202
- # Or with .npmrc
203
- echo "@yourorg:registry=https://npm.pkg.github.com" >> .npmrc
204
- echo "//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}" >> .npmrc
205
- npm install @yourorg/cbrowser-enterprise
206
- ```
207
-
208
- ## Usage in MCP Server
209
-
210
- The MCP server automatically detects enterprise:
211
-
212
- ```typescript
213
- import { getEnforcer, printEnterpriseStatus } from "cbrowser";
214
-
215
- // On startup
216
- await printEnterpriseStatus();
217
-
218
- // When creating browser with stealth
219
- const enforcer = await getEnforcer({
220
- enabled: true,
221
- authorization: {
222
- authorizedDomains: ["*.yourdomain.com"],
223
- },
224
- });
225
-
226
- // Use enforcer with browser
227
- const browser = new CBrowser({ enforcer });
228
- ```
229
-
230
- ## Verification
231
-
232
- ```bash
233
- # Check if enterprise is detected
234
- npx cbrowser status
235
-
236
- # Output with enterprise:
237
- # ╔══════════════════════════════════════════════════════════╗
238
- # ║ CBrowser Enterprise: ACTIVE ║
239
- # ║ Version: 1.0.0 ║
240
- # ║ Stealth capabilities: ENABLED ║
241
- # ╚══════════════════════════════════════════════════════════╝
242
- ```
243
-
244
- ## Security Notes
245
-
246
- 1. **Never commit enterprise to public repo** - It's a separate private package
247
- 2. **Use GitHub Packages or private npm** - Not public npm registry
248
- 3. **Rotate access tokens** - Use short-lived tokens for CI/CD
249
- 4. **Audit logs are immutable** - Cannot be disabled or cleared
250
- 5. **Rate limits enforced** - Minimum limits cannot be lowered
@@ -1,232 +0,0 @@
1
- > **This documentation is no longer maintained here.**
2
- >
3
- > For the latest version, please visit: **[Getting Started with CBrowser](https://cbrowser.ai/docs/GETTING-STARTED)**
4
-
5
- ---
6
-
7
- # Getting Started with CBrowser
8
-
9
- CBrowser (Cognitive Browser) is the browser automation that thinks like your users. This guide will get you up and running quickly.
10
-
11
- ## Installation
12
-
13
- ```bash
14
- npm install cbrowser
15
- npx playwright install chromium
16
- ```
17
-
18
- ## Your First Commands
19
-
20
- ### Navigate to a Page
21
-
22
- ```bash
23
- npx cbrowser navigate "https://example.com"
24
- ```
25
-
26
- ### Click with Self-Healing Selectors
27
-
28
- ```bash
29
- npx cbrowser smart-click "Add to Cart"
30
- ```
31
-
32
- CBrowser uses AI to find elements by description, not brittle CSS selectors. If the DOM changes, the self-healing system adapts automatically.
33
-
34
- ### Natural Language Assertions
35
-
36
- ```bash
37
- npx cbrowser assert "page contains 'Order Confirmed'"
38
- ```
39
-
40
- ### Take a Screenshot
41
-
42
- ```bash
43
- npx cbrowser screenshot --path order-confirmation.png
44
- ```
45
-
46
- ## Cognitive User Simulation
47
-
48
- This is what makes CBrowser unique. Instead of just clicking buttons, it simulates how real users think:
49
-
50
- ```bash
51
- npx cbrowser cognitive-journey \
52
- --persona first-timer \
53
- --start "https://example.com" \
54
- --goal "complete checkout"
55
- ```
56
-
57
- The simulation tracks:
58
- - **Patience** - Will they wait for slow pages?
59
- - **Confusion** - Are they getting lost?
60
- - **Frustration** - Are errors piling up?
61
- - **Abandonment** - When will they give up?
62
-
63
- ### Output Example
64
-
65
- ```
66
- === Cognitive Journey: first-timer ===
67
- Goal: complete checkout
68
- Start: https://example.com
69
-
70
- Step 1: Looking for product catalog
71
- Action: click "Shop Now"
72
- Patience: 95% | Confusion: 5%
73
-
74
- Step 2: Found products, browsing
75
- Action: click first product
76
- Patience: 90% | Confusion: 10%
77
-
78
- ...
79
-
80
- Step 8: ABANDONED
81
- Reason: Patience depleted (8%)
82
- Thought: "This password form is too confusing..."
83
- Friction points:
84
- - Password requirements unclear (step 6)
85
- - Form validation error not visible (step 7)
86
- ```
87
-
88
- ## Built-in Personas
89
-
90
- | Persona | Description |
91
- |---------|-------------|
92
- | `power-user` | Tech-savvy, expects efficiency |
93
- | `first-timer` | New user, explores carefully |
94
- | `mobile-user` | Smartphone, touch interface |
95
- | `elderly-user` | Patient, careful, vision/motor considerations |
96
- | `impatient-user` | Quick to abandon on friction |
97
- | `screen-reader-user` | Uses assistive technology |
98
-
99
- ## Create Custom Personas
100
-
101
- Use the questionnaire system to create research-backed custom personas:
102
-
103
- ```bash
104
- # Interactive questionnaire
105
- npx cbrowser persona-questionnaire start --name "anxious-newbie"
106
-
107
- # The system asks behavioral questions and derives trait values
108
- # with proper research-backed correlations
109
- ```
110
-
111
- ## Natural Language Tests
112
-
113
- Write tests in plain English:
114
-
115
- ```txt
116
- # checkout-test.txt
117
- go to https://example.com/products
118
- click "Add to Cart" button
119
- verify page contains "1 item in cart"
120
- click checkout
121
- fill email with "test@example.com"
122
- click "Place Order"
123
- verify url contains "/confirmation"
124
- ```
125
-
126
- Run them:
127
-
128
- ```bash
129
- npx cbrowser test-suite checkout-test.txt --html
130
- ```
131
-
132
- ## Visual Testing
133
-
134
- ### Capture Baseline
135
-
136
- ```bash
137
- npx cbrowser ai-visual capture "https://example.com" --name homepage
138
- ```
139
-
140
- ### Test Against Baseline
141
-
142
- ```bash
143
- npx cbrowser ai-visual test "https://staging.example.com" homepage --html
144
- ```
145
-
146
- ### Cross-Browser Comparison
147
-
148
- ```bash
149
- npx cbrowser cross-browser "https://example.com" --html
150
- ```
151
-
152
- ### Responsive Testing
153
-
154
- ```bash
155
- npx cbrowser responsive "https://example.com" --html
156
- ```
157
-
158
- ## Constitutional AI Safety
159
-
160
- CBrowser classifies every action by risk level:
161
-
162
- | Zone | Examples | Behavior |
163
- |------|----------|----------|
164
- | Green | Navigate, read, screenshot | Auto-execute |
165
- | Yellow | Click buttons, fill forms | Log and proceed |
166
- | Red | Submit, delete, purchase | Requires verification |
167
- | Black | Bypass auth, inject scripts | Never executes |
168
-
169
- This prevents AI agents from accidentally submitting forms, deleting data, or making purchases.
170
-
171
- ## API Key for Cognitive Features
172
-
173
- Some features require an Anthropic API key:
174
-
175
- ```bash
176
- npx cbrowser config set-api-key
177
- ```
178
-
179
- ## MCP Integration
180
-
181
- ### Claude Desktop
182
-
183
- Add to `claude_desktop_config.json`:
184
-
185
- ```json
186
- {
187
- "mcpServers": {
188
- "cbrowser": {
189
- "command": "npx",
190
- "args": ["cbrowser", "mcp-server"]
191
- }
192
- }
193
- }
194
- ```
195
-
196
- ### claude.ai (Remote)
197
-
198
- Use the public demo server:
199
- ```
200
- https://demo.cbrowser.ai/mcp
201
- ```
202
-
203
- Or deploy your own: see [MCP Integration](./MCP-INTEGRATION.md).
204
-
205
- ## Next Steps
206
-
207
- - [Cognitive Simulation](./COGNITIVE-SIMULATION.md) - Deep dive into user simulation
208
- - [Persona Questionnaire](./PERSONA-QUESTIONNAIRE.md) - Create custom personas
209
- - [Natural Language Tests](./NATURAL-LANGUAGE-TESTS.md) - Write tests in English
210
- - [Visual Testing](./VISUAL-TESTING.md) - Screenshot-based regression testing
211
- - [MCP Integration](./MCP-INTEGRATION.md) - Full Claude integration guide
212
-
213
- ## Quick Reference
214
-
215
- | Command | Description |
216
- |---------|-------------|
217
- | `npx cbrowser navigate <url>` | Navigate to URL |
218
- | `npx cbrowser click <selector>` | Click element |
219
- | `npx cbrowser smart-click <text>` | AI-powered click |
220
- | `npx cbrowser fill <selector> <value>` | Fill input |
221
- | `npx cbrowser screenshot` | Capture screenshot |
222
- | `npx cbrowser assert <assertion>` | Verify condition |
223
- | `npx cbrowser cognitive-journey` | Run user simulation |
224
- | `npx cbrowser test-suite <file>` | Run NL tests |
225
- | `npx cbrowser ai-visual capture` | Capture baseline |
226
- | `npx cbrowser ai-visual test` | Run visual test |
227
- | `npx cbrowser cross-browser` | Cross-browser test |
228
- | `npx cbrowser responsive` | Responsive test |
229
- | `npx cbrowser agent-ready-audit` | Audit for AI agents |
230
- | `npx cbrowser empathy-audit` | Disability simulation |
231
- | `npx cbrowser persona-questionnaire` | Create custom persona |
232
- | `npx cbrowser status` | Check environment |