# Dornick > Dornick is the open-source TypeScript SDK for building AI agents that run inside the browser — and the only runtime that speaks both sides of WebMCP. It calls your page's tools, publishes its own back, and ships the polyfill. Virtual filesystem, tool loop, hooks, skills, multi-agent handoffs, MCP. No server runtime required. Dornick lets you drop a script tag (or import the SDK) and turn any web page into a venue for a real AI agent: it sees the live DOM as a virtual filesystem, calls real tools, runs skills, hands off between sub-agents, and renders a Shadow-DOM chat UI — all without a server runtime. ## Sections & hubs - [Features](https://dornick.neullabs.com/features) — the seven primitives that make Dornick an agent, not a chatbot widget - [Use cases](https://dornick.neullabs.com/use-cases) — nine canonical shapes teams ship with Dornick - [Demos](https://dornick.neullabs.com/demos) — five live BYOK demos, run in your browser with your own key - [Compare](https://dornick.neullabs.com/compare) — Dornick head-to-head with CopilotKit, Stagehand, Typeform, Vercel AI SDK, PageAgent, MCP-B - [Providers](https://dornick.neullabs.com/providers) — five LLM providers behind one agent loop - [Blog](https://dornick.neullabs.com/blog) — deep-dives on building in-browser AI agents ## WebMCP Dornick is the only runtime that speaks both sides of the W3C WebMCP standard: it calls the page's `document.modelContext` tools as real agent tools, publishes its own back so outside agents can drive the page, and ships a zero-dependency polyfill so both work today. A polyfilled page is reachable by extensions and page script, but NOT by the browser's own built-in agent — that requires native WebMCP via Chrome's origin trial (149–156). - [WebMCP, both sides](https://dornick.neullabs.com/features/webmcp) — consume, publish, polyfill, and the declarative