Quick Start
This guide gets you from zero to a verified trajectory and Playwright export — on Molar Cloud or a local stack. For deeper concepts, see Core concepts. For every environment variable, see Configuration.
Product page: cartographer.molar.it · Dashboard: app.molar.it/dashboard/cartographer
Choose your path
| Path | Best for | Time to first run |
|---|---|---|
| Option A — Molar Cloud | Teams that want crawls, runs, and exports without operating infrastructure | ~10 minutes |
| Option B — Local development | Engineers evaluating, contributing, or air-gapping before purchase | ~30–45 minutes first bootstrap |
| Option C — IDE / MCP | Cursor, Claude Code, Windsurf, or Copilot users who prefer chat-driven workflows | Add 5 minutes after A or B |
You can mix paths: many teams use Cloud for daily work and run a local stack for debugging.
Option A — Molar Cloud
1. Sign up and open Cartographer
- Create an account at app.molar.it.
- Ensure your organization has a Cartographer entitlement (standalone SKU or full Molar bundle).
- Open app.molar.it/dashboard/cartographer.
Note:
Combined-bundle orgs sign in once at app.molar.it and switch products with the app switcher. Standalone Cartographer SKUs use the same product UI with billing scoped to Cartographer only.
2. Complete onboarding
Work through Mission Control on first login:
| Step | Action |
|---|---|
| Configure AI | /dashboard/ai-settings — Molar-hosted models or BYOK keys |
| Create a project | /dashboard/projects → New project |
| Run a crawl | Project overview → Start crawl |
| Run an agent | Start run with a plain-English goal |
| Export tests | On a completed run → Export → download zip |
Check System status on Mission Control (API, workers, LLM keys) before starting crawls or runs. If workers are offline, jobs stay queued — see Quick start — workers.
Note:
Quota and billing details live on app.molar.it/billing when signed in.
3. Connect MCP (optional)
From Integrations → MCP:
- Pick your IDE client (Cursor, Claude Code, Windsurf, Copilot, or custom).
- Copy the config snippet (HTTP endpoint
https://mcp.molar.cloudor stdio viacartog mcp). - Click Authorize to complete OAuth with your Molar account (
api.molar.it). - Test with
cartographer_list_projects.
See MCP tools for the full tool reference.
4. Install the browser extension (optional)
Needed for recorded demos, MFA / payment approvals, and flows that must run in your real Chrome profile. See Browser extension.
Option B — Local development
Prerequisites
| Requirement | Notes |
|---|---|
| mise | Toolchain manager (included in the Cartographer self-host bundle) |
| Docker Desktop | Rosetta enabled on Apple Silicon; allocate ≥ 6 GB memory |
| gh CLI | GitHub CLI for bootstrap scripts |
| API keys | At minimum: Anthropic (planner) and Google (vision escalation) unless you route everything through a hosted LLM gateway |
Bootstrap and start the stack
# From your Cartographer self-host bundle (contact support@molar.it for access)
make bootstrap # ~30 min first time (downloads CloakBrowser ~200 MB)
make dev # Docker stack + database migrations
make seed # Demo data + smoke test
Open http://localhost:3000/dashboard (product shell) and http://localhost:3000/traces (trace viewer), sign up, and create a project — same APIs as cloud, pointed at your local stack.
Services and ports (local)
| Service | Port | Purpose |
|---|---|---|
| Dashboard (Next.js) | 3000 | Web UI — /dashboard/* product shell, /traces/* trace viewer |
| Orchestration API | 8000 | REST, WebSockets, MCP at /mcp |
| WSS relay | 8443 | Browser extension |
| Hatchet API / UI | 7077 / 8080 | Job queue |
| Postgres | 5432 | App + Hatchet state |
| MinIO | 9000 / 9001 | Artifacts |
CloakBrowser (cloakserve) | 9222 | Stealth CDP pool |
Start workers
Cartographer queues work through Hatchet. The API accepts requests immediately; workers execute crawls, agent runs, exports, and trace post-processing. Without workers, jobs stay queued.
Open four terminals (after make dev):
# Terminal 1 — agent runs (LangGraph planner/actor/verifier)
make agent-worker
# Terminal 2 — site crawls and route maps
make crawl-worker
# Terminal 3 — Playwright export pipeline
make export-worker
# Terminal 4 (optional) — trace postprocess and GC
make trace-worker
Verify workers appear in the dashboard health strip (Home or project hub) or Hatchet UI at http://localhost:8080.
Note:
Local development mirrors production topology: API enqueues to Hatchet; workers pull jobs and write results to Postgres and object storage. You can scale worker containers horizontally in self-hosted deployments.
Verify end-to-end (verify-e2e)
With the stack and all three core workers running:
# Generic public-site check
make verify-e2e URL=https://example.com GOAL="Load homepage and confirm navigation is visible"
# Production-safe demo target (public homepage only)
make verify-e2e-behtarbroker
What verify-e2e exercises:
POST /v1/crawls → crawl worker → route map
POST /v1/runs → agent worker → verified trajectory
POST /v1/runs/{id}/export → export worker → Playwright zip
WS /v1/runs/{id}/stream → live step events
Phase 0 infrastructure checks (no workers required):
make verify-phase-0
CI-style single invocation (same HTTP API path):
cartog ci "Load homepage and confirm navigation is visible" --project <project-id> --url https://example.com
For acceptance gates and end-to-end architecture detail, contact support@molar.it for the operator runbook.
Local MCP
Stdio (IDE spawns the server):
cartog mcp
HTTP (mounted on the API with make dev):
http://localhost:8000/mcp
Note:
MCP_HTTP_BASE_URL in .env defaults to http://localhost:8001 for internal tool→REST callbacks. Your IDE connects to http://localhost:8000/mcp (same host as the API). Set MCP_HTTP_BASE_URL=http://localhost:8000 locally if MCP tools fail to enqueue runs.
Use a personal access token from Settings → API tokens for stdio, or complete OAuth for hosted HTTP. See MCP tools.
Option C — MCP from your IDE
After Option A or B is working:
- Install MCP config from Integrations → MCP (cloud) or point stdio at
cartog mcp(local). - Authorize OAuth (cloud) or set
cartog config set token <pat>(local/CI). - In your IDE, ask: "List my Cartographer projects" → invokes
cartographer_list_projects. - "Crawl https://staging.myapp.com and run checkout" →
cartographer_crawl_sitethencartographer_run_test. - Open the returned
run_idin the dashboard live stream or Trace viewer.
Long-running tools report progress (step counts, export pipeline stages) and return an mcp_task_id when MCP tasks are enabled. Poll cartographer_get_task after a disconnect.
First project walkthrough
This walkthrough applies to cloud and local dashboards.
Step 1 — Create a project
Projects → New project
| Field | Example | Notes |
|---|---|---|
| Name | Acme Staging | Display name |
| Seed URL | https://staging.acme.com | Primary entry point |
| Environment | staging | Labels runs and exports |
| Default grounding tier | 0 | Start DOM-only; escalate only when needed |
| Scope allowlist | https://staging.acme.com | Optional URL prefix guard |
Step 2 — Configure credentials (if login required)
Settings → Credentials → Add alias
- Store username, password, and optional TOTP seed encrypted server-side.
- On run launch, select the credentials alias — secrets never appear in logs or MCP responses.
- For MFA that cannot be automated, use the browser extension approval queue.
Step 3 — Crawl the site
From the project hub → Start crawl:
| Parameter | Default | Meaning |
|---|---|---|
| Depth | 4 | BFS link depth from seed |
| Max pages | 500 | Hard page cap |
| Scope allowlist | project default | Stay within approved origins |
| Anti-bot | auto for external URLs | Use stealth browser when needed |
| Resume | off | Resume a crashed crawl when enabled |
When complete, open the route map: page table, interactive graph, screenshots, HAR files, and Discover flows (batch-enqueue agent runs from discovered patterns).
Step 4 — Start an agent run
Start run from the project hub or from a route-map page row:
| Parameter | Default | Meaning |
|---|---|---|
| Goal | (required) | e.g. Add item to cart and reach checkout |
| Max steps | 50 | Hard step budget |
| Grounding tier | 0 | Starting grounding level |
| Max grounding tier | 1 | Escalation ceiling (set 2 for local MLX) |
| Browser adapter | cloakbrowser | cloakbrowser | camoufox | extension |
| Credentials alias | — | For authenticated flows |
| Record demo | off | Save a replayable demonstration |
| Headless | on | Turn off for local debugging |
| Human preset | default | Use careful for timing-sensitive sites |
- Watch the live execution panel on run detail: step list, tier escalations, and screenshots. If the run enters
pending_human, use the HITL panel or extension approvals.
Note:
Zip download is the supported path today.
Step 5 — Open Trace and review findings
From run detail in the dashboard, use Open trace (links to /traces/{id}). Today you get:
- Step timeline and filterable Events log
- Video playback when a recording exists
- Debugger chat (AI assistant with trace-scoped tools)
- Layer 2 diff when a replay child trace exists
Network/Console panels, keyboard scrubber shortcuts, and Playwright Source mode are available on app.molar.it/trace.
Findings — passive UX issues (axe, visual diff, sampled VLM) appear under the project Findings section in the dashboard.
Step 6 — Export Playwright tests
On a completed run:
- Click Export.
- Choose style (
pomsorflat), target repo (optional), and CI CloakBrowser opt-in. - Watch the pipeline: prune → rank selectors → cluster page objects → generate → lint → verify → heal.
- Download zip or Open GitHub PR when complete.
Exported tests use stock Chromium in CI by default. Opt into CloakBrowser only for bot-protected targets.
Step 7 — Install MCP for day-two workflows
Repeatable IDE workflow:
cartographer_create_project → cartographer_crawl_site
→ cartographer_run_test → cartographer_export_test
Link each run_id to the dashboard for teammates who prefer the UI.
Health checks before you debug
If actions are blocked or jobs stay queued:
| Symptom | Check |
|---|---|
| Red health strip | Home → expand strip; fix API keys, Redis, S3, or workers |
Crawl stuck queued | make crawl-worker or scale crawl-worker deployment |
Run stuck queued | make agent-worker |
| Export never completes | make export-worker |
| Live stream disconnected | Redis reachable; refresh run detail |
| MCP OAuth fails | Resource URL must be https://mcp.molar.cloud (RFC 8707) |
Full symptom tables: Troubleshooting & FAQ.
Next steps
| Topic | Link |
|---|---|
| Mental model (crawls, runs, grounding, export) | Core concepts |
| Dashboard pages and navigation | Dashboard |
| Record mode and MFA relay | Browser extension |
| All 17 MCP tools | MCP tools |
| Self-hosted topology | Deployment |
| Usage quotas | app.molar.it/billing (signed in) |