// FEATURES

Browser infrastructure
for machine execution.

Koko treats the browser as a controlled execution runtime — observable, embeddable, and automation-native. Built for AI agents, crawling, and scalable web interaction.

// RUNTIME

Browser infrastructure
for machine execution.

Koko treats the browser as a controlled execution runtime — observable, embeddable, and automation-native. Built for AI agents, crawling, and scalable web interaction.

  GET /api
  ────────►
  ◄────────
  { data }

CDP-Compatible Runtime

Connect over Chrome DevTools Protocol — use the Koko SDK, existing CDP clients, or raw WebSocket automation without Chromium internals.

  ┌───────┐
  │ ◉ ◎ ○ │
  │ ◎ ◉ ◎ │
  │ ○ ◎ ◉ │
  └───────┘

MCP for AI Agents

Native Model Context Protocol tools: goto, markdown, links, evaluate, and semantic_tree for token-efficient agent browsing.

  ┌─┐   ┌─┐
  │A├──►│B│
  └─┘   └┬┘
        ┌▼┐
        │C│
        └─┘

Controlled Execution

Choose the navigation contract that fits the page — DOMContentLoaded, load, domstable, networkidle, or done — with explicit timeouts and lifecycle state.

   ╔═══╗
   ║ ◈ ║
  ┌╨───╨┐
  │░░░░░│
  └─────┘

Journey Observability

Inspect network, DOM, runtime, and browser signals as a live journey. Use timelines and structured events to explain slow or incomplete pages.

  │  ▄ 
  │▁ ▄ █ ▄
  │█ █ █ █
  └────────

Deterministic Export

Export the page you actually observed as HTML, Markdown, or JSON — including progressive results for long-running crawls and SPA navigation.

    .--.
   /    \
  | (  ) |
   \    /
    '--'

Profiles & Sessions

Reuse browser profiles, cookies, headers, storage state, and fingerprint settings across runs without coupling your workflow to a desktop browser.

// ARCHITECTURE

Engine internals, explicit layers.

Koko separates browser execution into explicit runtime layers — keeping engine internals isolated, protocols modular, and public APIs stable for embeddable automation.

Zig-based runtime

Low-level control over lifecycle, memory, and protocol behavior

🔗

CDP + MCP first-class

Automation scripts and AI agents connect through standard protocols

📦

Embeddable by design

Multi-session model for crawling, testing, and cloud browser runtimes

Core Engine

stable

DOM, parser, V8 bindings, Web APIs

Runtime

active

Lifecycle, network, storage, telemetry

Protocols

active

CDP and MCP implementations

Adapters

stable

CLI and server entry points

Public API

active

Koko SDK and CDP surface

SDK / CLI

stable

koko-fetch, koko-sdk client

CDP
Automation
MCP
AI agents
SDK
TypeScript

// ENGINEERING

Correctness you can rely on.

Reliable automation depends on browser lifecycle behavior. Koko engineers correctness into navigation, realms, and teardown — not as an afterthought.

  ╔═══╗
  ║ ◈ ║
  ╚═══╝

Realm Isolation

Frames, workers, and execution contexts stay isolated — no cross-realm leaks in automation

  ┌───┐
  │ ✓ │
  └───┘

Navigation Ordering

Deterministic domcontentloaded and lifecycle events for anti-flake scripts

  ╭───╮
  │ ★ │
  ╰───╯

WindowProxy Semantics

Correct proxy behavior across frames — critical for protocol integrations

  [===]
  [===]

Teardown Correctness

Clean session close without zombie processes or leaked handles

  ◉─◉─◉
  │ │ │

Deterministic Events

Predictable event ordering and microtask scheduling for stable automation

  ▪ ▪ ▪
  ▪ ▪ ▪

Lifecycle Tests

Regression suites under code-check/lifecycle for continuous correctness

Development focus

Under active development — automation reliability, CDP consistency, and AI-agent integration

CDPConsistent
MCPActive dev
RealmsTested
AGPL-3.0Open source
📋

Open source & transparent

Koko is AGPL-3.0 licensed. Benchmarks, lifecycle tests, and engineering notes are published in-repo.Read engineering notes →

See how it fits together

From Zig build to CDP server to SDK automation — three steps to programmable browsing.