cbrowser

mcp
Security Audit
Pass
Health Pass
  • License — License: NOASSERTION
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 12 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This tool is an MCP server that provides AI agents with browser automation and testing capabilities. It uses natural language to simulate human cognitive behavior, allowing agents to navigate websites, perform accessibility audits, and test user interfaces.

Security Assessment
Overall risk: Medium. As a browser automation tool built on Playwright, it inherently makes network requests to fetch and interact with external web pages. The automated script scan found no dangerous patterns, no hardcoded secrets, and no dangerous system permissions requested. However, any tool capable of autonomous web browsing carries inherent risks regarding what data it extracts or what web actions it performs on behalf of a user.

Quality Assessment
The project appears to be very actively maintained, with its most recent push occurring today. The codebase is written in TypeScript and scanned cleanly across 12 files with no dangerous code patterns detected. While the automated checks returned a "NOASSERTION" license status, the documentation explicitly claims an MIT license, which is standard for open-source projects. Community trust is currently minimal but positive, backed by 12 GitHub stars. The tool offers highly detailed documentation and claims comprehensive stress testing.

Verdict
Safe to use, though you should remain aware of standard security boundaries whenever granting an AI agent autonomous web browsing capabilities.
SUMMARY

Cognitive Browser: The browser automation that thinks. Constitutional safety • Persona UX testing • Natural language interface • Self-healing selectors • Built for AI agents

README.md

CBrowser — Cognitive Browser Automation

The browser automation that thinks. Achieved Grade A+ in comprehensive stress testing—100% pass rate across 91 tools, zero critical bugs, zero server crashes. View Full Assessment →

npm version
Documentation
Grade A+
License: MIT
MCP Ready
TypeScript
Node

Built for AI agents. Trusted by humans. The only browser automation that asks: "Will a confused first-timer complete this task—and exactly when will they give up?"

Sites that pass CBrowser's cognitive tests are easier for both humans and AI agents to navigate. The same principles that reduce user friction—clear structure, predictable patterns, accessible design—make sites more reliable for autonomous AI.


What Makes CBrowser Different

91 tools, 17 cognitive personas, 25 research-backed traits. After rigorous stress testing across production sites including Airbnb and Hacker News:

Capability Status Why It Matters
Natural Language Tests ⭐ Best-in-class Write tests in plain English. 10-step E2E flows run 100% stable.
Cognitive User Simulation 🔬 Novel 25 research-backed traits model real human behavior—not just clicks.
Empathy Accessibility Audits 🔬 Novel Simulate users with tremors, low vision, ADHD. No competitor offers this.
Self-Healing Selectors ✅ Production-ready ARIA-first with 0.8+ confidence gating. Handles DOM changes automatically.
Constitutional AI Safety 🔬 Novel Risk-classified actions prevent autonomous agents from doing damage.
91 MCP Tools ✅ Production-ready Full Claude integration—local and remote servers.

The Problem We Solve

Traditional browser automation answers one question: "Does this button click?"

CBrowser answers the question that actually matters: "Will a confused first-timer on a slow connection find this button—and will they give up before they do?"

Built on Playwright with cognitive user simulation, constitutional AI safety, and research-backed behavioral models, CBrowser is the only testing framework designed for the AI agent era.


Core Differentiators

Challenge Traditional Tools CBrowser
User behavior Simulates clicks and keystrokes Simulates human cognition—patience decay, frustration accumulation, decision fatigue
Abandonment prediction Fails when elements don't exist Predicts when users give up before they do
AI agent safety No guardrails for autonomous agents Constitutional AI safety—risk-classified actions with verification gates
Selector resilience Breaks when DOM changes Self-healing ARIA-first selectors with 0.8+ confidence gating
Accessibility testing WCAG compliance checklists Disability empathy simulation—experience your site as a user with tremors, low vision, or ADHD

Quick Start

Installation

npm install cbrowser
npx playwright install chromium

First Commands

# Navigate with intelligent wait detection
npx cbrowser navigate "https://your-site.com"

# Self-healing click with 80%+ confidence threshold
npx cbrowser smart-click "Add to Cart"

# Natural language assertions
npx cbrowser assert "page contains 'Order Confirmed'"

# Run a cognitive journey—simulate a real user
npx cbrowser cognitive-journey \
  --persona first-timer \
  --start "https://your-site.com" \
  --goal "complete checkout"

Constitutional AI Safety

AI agents need boundaries. CBrowser classifies every action by risk level:

Zone Examples Behavior
🟢 Green Navigate, read, screenshot Auto-execute
🟡 Yellow Click buttons, fill forms Log and proceed
🔴 Red Submit, delete, purchase Requires verification
Black Bypass auth, inject scripts Never executes

An AI agent can freely browse and gather data, but cannot accidentally submit a form, delete records, or make purchases without explicit verification.


Cognitive User Simulation

CBrowser models 25 research-backed cognitive traits across 6 tiers to simulate how real users think and behave:

Trait Research Basis What It Models
Patience Nah (2004); Nielsen (1993) Tolerance for delays; abandonment at 8+ seconds
Working Memory Miller (1956) 7±2 item capacity; affects form complexity tolerance
Comprehension Card, Moran & Newell (1983) UI convention understanding; GOMS model timing
Risk Tolerance Kahneman & Tversky (1979) Prospect theory; loss aversion affects CTA clicks
Self-Efficacy Bandura (1977) Belief in ability to solve problems; low = faster abandonment
Satisficing Simon (1956) Accept "good enough" vs. optimize; 50% faster decisions
Trust Calibration Fogg (2003) 8 trust signals; affects click-through by 40%
Information Foraging Pirolli & Card (1999) "Scent" following behavior; predicts navigation patterns
Social Proof Cialdini (2001) Influence of reviews, ratings, popularity indicators
FOMO Przybylski et al. (2013) Fear of missing out; urgency and scarcity responses

See Trait Index for all 25 traits including: Persistence, Resilience, Curiosity, Change Blindness, Anchoring Bias, Time Horizon, Attribution Style, Metacognitive Planning, Procedural Fluency, Transfer Learning, Authority Sensitivity, Emotional Contagion, Mental Model Rigidity, Interrupt Recovery, and Reading Tendency.

Note: Trait correlation values are educated estimates derived from related research. Empirical calibration planned per GitHub #95.

Full documentation: Research Methodology · Trait Index · Bibliography

Abandonment Detection

The simulation stops when a realistic user would give up:

# Output from cognitive journey
⚠️ ABANDONED after 8 steps
Reason: Patience depleted (0.08) - "This is taking too long..."
Friction points:
  1. Password requirements unclear (step 4)
  2. Form validation error not visible (step 6)

Custom Persona Builder (v16.6.0)

Create research-backed custom personas via interactive questionnaire:

# Interactive questionnaire (8 core traits)
npx cbrowser persona-questionnaire start

# Comprehensive questionnaire (all 25 traits)
npx cbrowser persona-questionnaire start --comprehensive --name "my-tester"

# Look up trait behaviors
npx cbrowser persona-questionnaire lookup --trait patience --value 0.25

# List all available traits
npx cbrowser persona-questionnaire list-traits

Each trait maps to research-backed behavioral descriptions with 5 levels (0, 0.25, 0.5, 0.75, 1.0).

Research-Backed Values System (v16.12.0)

Beyond cognitive traits, CBrowser models motivational values that drive user decisions. The values system integrates three foundational psychological frameworks:

Framework Research Basis What It Models
Schwartz's Universal Values Schwartz (1992) 10 core human values: Power, Achievement, Hedonism, Stimulation, Self-Direction, Universalism, Benevolence, Tradition, Conformity, Security
Self-Determination Theory Deci & Ryan (1985) Autonomy, Competence, and Relatedness needs that drive intrinsic motivation
Maslow's Hierarchy Maslow (1943) 5 need levels from Physiological to Self-Actualization

Values influence decision-making differently than cognitive traits. A user high in Security values will read privacy policies; one high in Stimulation will click "Try Beta Features" immediately.

# Look up a persona's values profile
npx cbrowser persona-values power-user

# Output shows Schwartz values, SDT needs, and Maslow level

Category-Aware Persona Creation

When you create a custom persona via persona-questionnaire, CBrowser automatically assigns appropriate values based on persona category:

Category Example Values Profile
Novice High Security, high Conformity, low Self-Direction
Professional High Achievement, high Competence, high Self-Direction
Elderly High Tradition, high Security, moderate Benevolence
Accessibility High Universalism, variable by specific disability

This ensures cognitive journeys reflect realistic motivational differences—not just skill gaps. See Persona Values Documentation for the complete values framework.


Natural Language Testing

Write tests in plain English:

# Test: Checkout Flow
go to https://your-site.com/products
click "Add to Cart" button
verify page contains "1 item in cart"
click checkout
fill email with "[email protected]"
click "Place Order"
verify url contains "/confirmation"
npx cbrowser test-suite checkout-test.txt --html

Self-Healing Test Repair

When tests break due to site changes:

npx cbrowser repair-tests broken-test.txt --auto-apply --verify

CBrowser analyzes failures, generates alternative selectors, and repairs tests automatically.


Visual Testing Suite

AI Visual Regression

Semantic comparison—understands what changed, not just pixel differences:

npx cbrowser ai-visual capture "https://your-site.com" --name homepage
npx cbrowser ai-visual test "https://staging.your-site.com" homepage --html

Cross-Browser & Responsive

# Compare Chrome, Firefox, Safari rendering
npx cbrowser cross-browser "https://your-site.com" --html

# Test across mobile, tablet, desktop
npx cbrowser responsive "https://your-site.com" --html

# A/B comparison (staging vs production)
npx cbrowser ab "https://staging.your-site.com" "https://your-site.com" --html

UX Analysis Suite

Agent-Ready Audit

Analyze any website for AI-agent friendliness:

npx cbrowser agent-ready-audit "https://your-site.com" --html

Returns:

  • Findability score — Can agents locate elements? (ARIA labels, semantic HTML)
  • Stability score — Will selectors break? (hidden inputs, overlays)
  • Letter grade (A-F) with prioritized remediation and code examples

Competitive UX Benchmark

Run identical cognitive journeys across your site and competitors:

npx cbrowser competitive-benchmark \
  --sites "https://your-site.com,https://competitor-a.com,https://competitor-b.com" \
  --goal "sign up for free trial" \
  --persona first-timer \
  --html

Accessibility Empathy Mode

Simulate how users with disabilities experience your site:

npx cbrowser empathy-audit "https://your-site.com" \
  --goal "complete signup" \
  --disabilities "motor-tremor,low-vision,adhd" \
  --html

Available personas: motor-tremor, low-vision, cognitive-adhd, dyslexic, deaf, elderly


MCP Server Integration

CBrowser runs as an MCP server for Claude Desktop and claude.ai.

Remote MCP (claude.ai)

Public Demo Server (rate-limited, no auth):

https://demo.cbrowser.ai/mcp

Deploy your own: see Remote MCP Server Guide

v18.13.0+: Screenshots automatically compress to JPEG in remote mode to stay under claude.ai's 200KB tool response limit. Compression is adaptive (quality 85→25, scales down if needed).

Local MCP (Claude Desktop)

{
  "mcpServers": {
    "cbrowser": {
      "command": "npx",
      "args": ["cbrowser", "mcp-server"]
    }
  }
}

91 MCP Tools

Category Tools
Navigation navigate, screenshot, extract, cloudflare_detect, cloudflare_wait
Interaction click, smart_click, fill, scroll
Testing test_suite, repair_tests, flaky_check
Visual visual_baseline, visual_compare, responsive_test, cross_browser_test, ab_compare
Cognitive cognitive_journey_init, cognitive_journey_update_state, compare_personas
Persona persona_questionnaire_get, persona_questionnaire_build, persona_trait_lookup
Analysis hunt_bugs, chaos_test, agent_ready_audit, competitive_benchmark, empathy_audit
Security security_audit - scans MCP tools for prompt injection patterns
Stealth stealth_enable, stealth_disable, stealth_status, stealth_check, stealth_diagnose

CI/CD Integration

GitHub Actions

name: CBrowser Tests
on: [pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: alexandriashai/cbrowser@v12
        with:
          test-file: tests/e2e/checkout.txt
          sensitivity: strict

Docker

docker run --rm -v $(pwd)/tests:/work/tests ghcr.io/alexandriashai/cbrowser:latest \
  test-suite tests/checkout.txt --html

Modular Architecture

Tree-shakeable imports for minimal bundle size:

// Import specific modules
import { runVisualRegression, runCrossBrowserTest } from 'cbrowser/visual';
import { runNLTestSuite, detectFlakyTests, repairTest } from 'cbrowser/testing';
import { huntBugs, runChaosTest, findElementByIntent } from 'cbrowser/analysis';
import { capturePerformanceBaseline, detectPerformanceRegression } from 'cbrowser/performance';

API Reference

import { CBrowser } from 'cbrowser';

const browser = new CBrowser({
  headless: true,
  persistent: true,  // Maintain cookies between sessions
});

await browser.navigate('https://example.com');

const result = await browser.smartClick('Sign In', {
  maxRetries: 3,
  minConfidence: 0.8  // v12.0.0: Raised threshold for reliable healing
});

const assertion = await browser.assert("page contains 'Welcome'");
if (!assertion.passed) {
  console.error(assertion.message);
}

await browser.close();

Configuration

Environment Variables

Variable Default Description
CBROWSER_DATA_DIR ~/.cbrowser Data storage directory
CBROWSER_HEADLESS true Run headless
CBROWSER_BROWSER chromium Browser engine
CBROWSER_TIMEOUT 30000 Default timeout (ms)
CBROWSER_PROXY Proxy URL (e.g., http://user:pass@proxy:8080)
CBROWSER_PROXY_SERVER Proxy server (alternative to full URL)
CBROWSER_PROXY_USERNAME Proxy username (with CBROWSER_PROXY_SERVER)
CBROWSER_PROXY_PASSWORD Proxy password (with CBROWSER_PROXY_SERVER)

API Key (for Cognitive Journeys)

npx cbrowser config set-api-key

Token Cost & Selective Loading

CBrowser's 91 MCP tools consume approximately ~38,000 tokens when loaded into an LLM context. For cost-sensitive applications, use selective tool loading:

Tool Categories (for programmatic use):

Category Tools Use Case
navigation navigate, screenshot, scroll Basic browsing
interaction click, fill, smart_click Form automation
extraction extract, analyze_page Data scraping
assertion assert Testing validation
accessibility empathy_audit, hunt_bugs A11y testing
cognitive cognitive_journey_* User simulation
visual visual_baseline, visual_regression Visual testing
performance perf_baseline, perf_regression Performance monitoring
session save_session, load_session State management

Programmatic selective loading:

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import {
  registerNavigationTools,
  registerInteractionTools,
  registerExtractionTools,
} from "cbrowser/mcp-tools";

const server = new McpServer({ name: "my-app", version: "1.0.0" });
const context = { getBrowser: () => browser };

// Only load what you need (~5,000 tokens instead of ~38,000)
registerNavigationTools(server, context);
registerInteractionTools(server, context);
registerExtractionTools(server, context);

Full category list: navigation, interaction, extraction, assertion, analysis, session, healing, visualTesting, testing, bugAnalysis, personaComparison, cognitive, values, performance, audit, browserManagement, security, marketing, remediation, llmsTxt.


Examples

Example Description
examples/basic-usage.ts Navigation, extraction, sessions
examples/cognitive-journey.ts Cognitive simulation with personas
examples/visual-testing.ts Visual regression, cross-browser, A/B
examples/workflows/ E2E recipes for common scenarios
examples/ci-cd/ GitHub Actions, GitLab CI setup

Enterprise Edition

CBrowser Enterprise extends CBrowser with:

Feature Description
Marketing Suite Influence effectiveness research — test which design/copy/UX patterns influence which buyer segments
8 Marketing Personas B2B (enterprise-buyer, startup-founder, procurement-manager, technical-evaluator) + Consumer (impulse-shopper, price-researcher, loyal-customer, skeptical-first-timer)
Influence Matrix Conversion effectiveness for variant × persona combinations
Lever Analysis Which psychological persuasion patterns work for each persona
Constitutional Stealth Full stealth measures for authorized penetration testing

MCP Server: Enterprise MCP includes all 64 base tools + marketing tools (4 active + 4 planned).

# Start Enterprise MCP server
npx cbrowser-enterprise mcp-server

# List marketing personas
npx cbrowser-enterprise marketing personas list --category b2b

See Marketing Suite Wiki for full documentation.


License

MIT License — Free and open source.

Use, modify, and distribute freely for any purpose, including commercial and production use. See LICENSE for full terms.


Copyright

© 2026 Alexandria Eden

Contact: [email protected]
Website: cbrowser.ai


Links

Research Documentation

Reviews (0)

No results found