Jev Docs Agent
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Jev Docs AgentRecord a walkthrough of creating a new project and write a how-to guide."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ฌ Jev Docs Agent
Describe the goal. Get the video, the screenshots and the user guide.
An open-source, goal-driven agent that walks through any web app in a real browser, records every task as a walkthrough video, and turns the recordings into polished user documentation โ driven from Claude Desktop.
Quick start ยท Use cases ยท How it works ยท Alternatives ยท vs. demo platforms ยท Claude Desktop ยท Roadmap ยท Contributing
A real recording: the agent was only told "Order confirmation page shows 'Thank you for your order!'" โ it planned every click.
โจ Why this exists
Product walkthroughs, help-center articles and test evidence all need the same thing: someone clicking through the app, recording it, taking screenshots, and writing it up โ and doing it all again after every UI change.
Jev Docs Agent does that work for you:
- name: checkout
goal: "Order confirmation page shows 'Thank you for your order!'."That's a complete test case. The agent opens a browser, figures out the clicks, records an HD video with a visible cursor, captures a screenshot after every step, and hands the recording to Claude to write the guide. When the UI changes, you re-run it โ no selectors to fix, no scripts to maintain.
๐ฏ Goal-driven
Say what finished looks like. Jev decides each click from the live page โ buttons can move, get renamed or restyled and the goal still works. Hints are optional.
๐ฅ Evidence by default
Every run produces a .webm video, a screenshot per action, an actions.json trail of every decision, and a
pass/fail report.
๐ Docs, not just videos
Claude turns recordings into how-to guides, quick-starts and FAQs โ exported as one HTML page (โ PDF) or a zip with MP4s.
๐ฌ Runs from a chat
20 MCP tools let Claude Desktop create projects, write goals, record, debug failures and write docs. No YAML needed.
๐ Bring any login
Credentials are supplied, never stored in config: per-project .env, role profiles (admin / viewer), or
docker -e in CI.
๐ธ Very low cost
Jev answers in typed decisions, not prose. The 5-video example below estimated ~33 Jev calls โ $0.01.
Related MCP server: @clikta/mcp-server
๐งญ Use cases
Use case | What you get | |
๐ | Help-center & user guides | Step-by-step articles with real screenshots and a video per task, regenerated in minutes after a release |
๐ | Customer onboarding | "Your first 5 minutes" quick-starts and walkthrough videos for new users |
๐๏ธ | Product demos & interactive tours | Short, cursor-highlighted demo clips of each feature for sales, landing pages and release notes |
๐งช | Goal-based end-to-end testing | Natural-language smoke/regression tests with pass/fail, video evidence and a step log โ no selectors |
โ | Manual-test replacement & UAT evidence | Executes the steps from your manual test cases and records proof for sign-off, audits or QA reports |
๐ | Docs drift detection | Re-run after each deploy: a failed or changed video tells you the docs (or the UI) need attention |
๐ฅ | Role & permission walkthroughs | Same goal, different credential profiles โ see exactly what admins vs. viewers can do |
๐ | Multi-environment checks | Point one project at staging, then production, with |
๐ | Training & internal enablement | Recorded procedures for support teams, new hires and SOPs |
๐งพ | Compliance & change records | Timestamped videos + screenshots of how a workflow behaves at each release |
๐ | Bug reproduction | Describe the bug's path as a goal; get a video of exactly what happens |
๐ค | Agencies & consultants | One tool, many client apps โ each client is its own project with its own login |
Technical writers / docs teams โ keep screenshots and steps current without re-shooting everything by hand.
Product & growth teams โ produce demo clips and onboarding content without a video tool subscription.
QA & test engineers โ express tests as goals, get evidence for free, stop maintaining brittle selectors.
Founders & small teams โ get a help center and a smoke test suite from the same few lines of YAML.
Developers โ script it from the CLI or CI with Docker; everything is plain files.
๐ How it compares
Jev Docs Agent is an open-source, self-hosted alternative that sits between demo builders, documentation tools and test automation โ it does a useful part of each, from one goal definition.
Jev Docs Agent | Interactive demo platformsStorylane, Navattic, Supademo, Arcade, HowdyGo, Consensus, Reprise, Demostack | Guide/doc captureScribe, Tango, Guidde | Scripted E2E testingPlaywright, Cypress, Selenium | Manual testing | |
Records itself (no human clicking) | โ | โ | โ | โ | โ |
Defined by a goal in plain English | โ | โ | โ | โ code + selectors | โ test steps |
Survives UI changes without edits | โ mostly | โ re-record | โ re-record | โ fix selectors | โ |
Walkthrough video | โ webm / mp4 | โ | โ ๏ธ some | โ ๏ธ on failure | โ |
Written user guide | โ AI-written | โ ๏ธ captions | โ | โ | โ |
Pass / fail result | โ | โ | โ | โ | โ |
Interactive click-through demo | โ | โ | โ | โ | โ |
Precise assertions (exact values, API state) | โ ๏ธ visual goal checks | โ | โ | โ | โ |
Self-hosted, open source, your data stays local | โ MIT | โ SaaS | โ SaaS | โ | โ |
Cost | API usage only (cents) | per-seat SaaS | per-seat SaaS | free + engineer time | tester time |
๐๏ธ An open-source alternative to interactive demo platforms
Demo platforms are built for go-to-market teams: a person captures the product, the platform turns it into an interactive tour or sandbox, and tracks how buyers engage. Jev Docs Agent automates the other half โ an AI agent captures every flow by itself and produces videos, guides and a pass/fail result, again on every release.
Category | Platforms | Where Jev Docs Agent fits |
High-fidelity & full-funnel builders | Storylane ยท Navattic ยท Supademo | โ Alternative for walkthrough videos and guides ยท ๐ค complement for interactive tours & ABM analytics |
Lightweight & fast product tours | Arcade ยท HowdyGo | โ Alternative for feature videos in help articles & announcements ยท ๐ค complement for embedded click-throughs |
Enterprise & sales-engineering platforms | Consensus ยท Reprise ยท Demostack | ๐ค Produces the feature videos and verifies flows ยท โ no sandboxes, app cloning or buyer intent |
โ Full breakdown: Jev Docs Agent vs. interactive demo platforms โ feature matrix, platform-by-platform notes, a release workflow that uses both, and a decision guide.
Use it instead ofโฆ
Storylane / Supademo / Arcade / HowdyGo โ when the deliverable is walkthrough videos and written guides of real flows, regenerated on every release, rather than hand-built interactive tours. Keep a demo platform for clickable, branching tours, lead capture and buyer analytics.
Navattic / Consensus / Reprise / Demostack โ not as a replacement: they own ABM, buyer intent and sandboxes. Use the agent to produce the underlying videos and to flag which demos went stale after a release.
Scribe / Tango โ when you want the capture done for you: nobody has to click through the app.
Manual testing โ for repeatable happy-path checks and UAT evidence; keep humans for exploratory testing and judgment calls.
Playwright / Cypress scripts โ for smoke tests and flows that break often because of UI churn. Keep coded tests where you need exact assertions, data setup and millisecond-level reliability in CI. The two work well together: this project is built on Playwright.
Honest limits. Goal-based checks are judged visually by a model, so they are excellent at "did the flow work?" and weaker at "is this number exactly 42.17?". It's not a load-testing or security-testing tool.
โ๏ธ How it works
flowchart LR
G["๐ฏ Goal<br/><i>'Order confirmation<br/>page is shown'</i>"] --> L
subgraph L["Recording loop (per step)"]
direction TB
S["๐ Read the page<br/>elements, text, popups"] --> J["๐ง Jev decides<br/>next element ยท value<br/>done? ยท confidence"]
J --> A["๐ฑ๏ธ Playwright acts<br/>click ยท type ยท choose ยท upload"]
A --> C{"Stuck or unsure?"}
C -- yes --> K["๐งญ Claude coach<br/>looks at a screenshot,<br/>gives one tip"] --> S
C -- no --> S
end
L --> O["๐ฆ video.webm ยท step_N.png<br/>actions.json ยท run_report.md"]
O --> D["๐ Claude writes the guide"] --> E["๐ค HTML ยท PDF ยท ZIP ยท MP4"]Jev is TypeSafe AI's System One model: instead of writing prose it returns typed decisions with calibrated confidence. Every step the agent asks Jev several structured questions at once โ which element next? what to type? did the last action work? is the goal done? โ so it's fast, cheap and knows when it's unsure. When it is unsure, a Claude coach looks at a screenshot and gives one concrete tip. Safety rails sit around all of it:
๐ซ
forbid_labelsโ buttons the agent may never click (payments, delete, sign out) unless a video explicitly allows them.๐ Secrets stay secret โ passwords come from env files, are typed into fields but never written to logs,
actions.jsonor tool replies.โฑ๏ธ Budgets โ max steps, max wait, stall detection and loop detection on every video.
โ Honest "done" โ a video only passes after at least one action and a confident goal check.
๐ Quick start
Prereqs: Docker (or Python 3.12) and an OpenRouter key (or a TypeSafe key). The example uses Sauce Demo, a public test shop.
git clone https://github.com/kaivalpatel6350/jev-docs-agent.git && cd jev-docs-agent
cp .env.example .env # add OPENROUTER_API_KEY
cp projects/swaglabs/.env.example projects/swaglabs/.env # Sauce Demo's public test logindocker build -t jev-docs-agent .
docker run --rm -v "$PWD/projects:/app/projects" \
--env-file .env jev-docs-agent \
python agent.py videos --project swaglabspython -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
playwright install chromium
python agent.py videos --project swaglabsIn about two minutes you'll have five videos and a report in projects/swaglabs/out/:
Video | Goal (all the agent was told) | Result |
| Signed in: the Products page is shown | โ 3 actions |
| Sorted by each option, ending on Price (high to low) | โ 3 actions |
| Cart shows the product, then it's removed and the cart is empty | โ 4 actions |
| Order confirmation page shows "Thank you for your order!" | โ 8 actions |
| Signed out through the menu; the login page is shown | โ 2 actions |
Then write and export the docs โ from Claude Desktop (below) or the CLI:
python agent.py docs --project swaglabs # Claude writes the guides (uses your OpenRouter key)
python agent.py export --project swaglabs --mp4 # one HTML guide + a zip with MP4s๐ See a generated result: docs/example-swag-labs-guide.md
๐ฌ Drive it from Claude Desktop (MCP)
The MCP server lets Claude Desktop do everything โ including writing guides.yaml for a brand-new app.
1. Build the image, then 2. merge this into ~/Library/Application Support/Claude/claude_desktop_config.json
(Windows: %APPDATA%\Claude\claude_desktop_config.json) and restart Claude Desktop:
{
"mcpServers": {
"docs-agent": {
"command": "docker",
"args": ["run", "-i", "--rm",
"-v", "/ABSOLUTE/PATH/TO/jev-docs-agent/projects:/app/projects",
"--env-file", "/ABSOLUTE/PATH/TO/jev-docs-agent/.env",
"-e", "HOST_PROJECTS_DIR=/ABSOLUTE/PATH/TO/jev-docs-agent/projects",
"jev-docs-agent"]
}
}
}3. Just ask:
"Create a docs project for https://app.acme.com. Make videos for signing in, creating an invoice and exporting a report. Record them, fix anything that fails, then write a how-to guide and export it as HTML and MP4."
"Here's our user manual (attached) โ make a video for every how-to in it and group them into guides."
"Record the settings videos as the admin profile, then compare with the viewer profile."
Area | Tools |
Projects |
|
Test logins |
|
Goals |
|
Recording |
|
Docs |
|
Sharing |
|
When Claude Desktop writes the docs itself (get_doc_brief โ save_doc), no Claude API key is needed โ only Jev's key
is used for recording. Every edit to guides.yaml keeps a .bak.
๐ Writing goals
app_url: https://www.saucedemo.com
forbid_labels: [Logout, Reset App State, Delete Account, Purchase]
test_data:
username: ${LOGIN_USERNAME} # secret โ supplied from .env / docker -e
password: ${LOGIN_PASSWORD}
first_name: Jane # plain demo values Jev may type
videos:
- name: login
goal: "Signed in: the Products page (inventory list) is shown."
start_path: /
- name: checkout
goal: "Order confirmation page shows 'Thank you for your order!'."
start_after: login # reuse the signed-in session
start_path: /inventory.html
hints: # optional โ only where Jev needs help
- "Fill First Name, Last Name, Zip/Postal Code from test data"
docs:
- name: shopping-guide
type: how-to guide
audience: new customers
videos: [login, checkout]Key | What it does |
| What finished looks like, checkable on screen. One task per video. |
| Optional steps. |
| Reuse a previous video's session; open a specific page. |
|
|
| Never recorded (payments, real emails) โ documented from your reference doc. |
| An existing manual ( |
Tips: make goals verifiable ("the list shows INV-001 as Sent" beats "create an invoice"), keep one task per video, use demo accounts and synthetic data โ screenshots are sent to the model.
๐ Test logins
guides.yaml only names variables; values are supplied separately, so one project runs against any account or
environment. Precedence: docker -e / shell โ .env.<profile> โ project .env โ root .env.
How | Where | Best for |
"Set the login for acme: qa@acme.com / โฆ" |
| quick setup with demo accounts |
Edit the file yourself |
| real test accounts (never passes through chat) |
"Add an admin login" |
| role-based walkthroughs |
| process env | CI and other environments |
Pick per run: run_videos(profile="admin"), --profile admin, or -e LOGIN_PROFILE=admin.
๐งฐ CLI reference
python agent.py plan --project <name> # free: validate config, credentials, run order, cost
python agent.py videos --project <name> [--only a,b] [--profile admin]
python agent.py docs --project <name> [--only a] [--dry] # Claude writes docs (--dry: build requests only)
python agent.py improve --project <name> [--only a] # Claude rewrites failed goals/hints and re-records
python agent.py export --project <name> [--only a] [--mp4]agent.py recording loop (Jev + Playwright), docs, improve, export CLI
mcp_server.py 20 MCP tools for Claude Desktop
exporter.py HTML guide / ZIP / MP4 packaging
projects/<name>/
guides.yaml app_url, test_data, forbid_labels, videos (goals), docs
.env, .env.<role> test logins (git-ignored)
out/ videos/<video>/{video.webm, step_N.png, actions.json}, docs/, exports/, run_report.mdโ FAQ
Jev is TypeSafe AI's first public System One model โ built for decisions inside software rather
than chat. You send it structured questions (Choice, Noul, Score) and get typed answers with calibrated
confidence. That makes it a good fit for a browser agent that needs to pick one element out of hundreds, many times
per video, cheaply. It's available through the TypeSafe API and OpenRouter.
Recording only needs Jev. Claude is used for the optional coach (when Jev is stuck), for improve, and for writing
docs from the CLI. If you use Claude Desktop, it writes the docs itself through MCP. One OpenRouter key covers Jev and
Claude.
python agent.py plan estimates it before you run anything. The Sauce Demo example estimated ~33 Jev calls
(โ $0.01). Coach calls and doc writing with Claude cost more than Jev calls; with Claude Desktop writing the docs they
come out of your Claude plan.
Any app a browser can open. Username/password logins work out of the box; the session is reused across videos. SSO redirects usually work if the test account doesn't need MFA. MFA codes and CAPTCHAs are not solved โ use a test account without them, or a test environment that disables them.
Everything runs on your machine or your own Docker host; outputs are plain files. Page text and screenshots are sent
to the model providers you configure (TypeSafe / OpenRouter / Anthropic), so use demo accounts and synthetic data.
Passwords are never written to logs, actions.json or MCP replies โ but if your app prints a secret on screen, it
will appear in screenshots.
That's what Playwright records. export --mp4 (or "export as mp4") converts them to H.264 MP4 for PowerPoint,
Confluence, Notion or any player.
Yes โ docker run โฆ python agent.py videos --project <name> exits after writing run_report.md and actions.json
per video, with credentials from -e variables. Fail the build by checking each video's status.
๐บ๏ธ Roadmap
Next | Theme | Highlights |
v0.2 | ๐๏ธ Narrated & annotated | AI voice-over synced to each step ยท captions (SRT/VTT) ยท step-by-step manuals (DOCX/PDF) with highlighted screenshots ยท QA test-case format |
v0.3 | ๐ Share & verify | Self-hosted interactive HTML tour ยท trim login & idle time ยท GitHub Action + JUnit ยท visual change detection ยท multi-language |
Later | ๐ญ | Confluence / Notion / Docusaurus export ยท explore mode ยท test-case import ยท TOTP/MFA ยท mobile viewports ยท branding |
โ Full plan with designs, status and effort: ROADMAP.md
๐ก Have an idea?
This project is shaped by its users. Share it in Ideas, ๐ the issues you want most โ priorities follow demand.
๐ค Contributing
Contributions of every size are welcome โ ideas, bug reports, example projects against public demo apps, docs and code.
๐ฑ New here? Try a good first issue.
๐ Read CONTRIBUTING.md for setup, testing and the PR checklist.
๐ Never commit
.envfiles, real credentials or recordings of private apps.๐ค Please follow the Code of Conduct.
๐ License
MIT ยฉ 2026 Kaival Patel. Jev and TypeSafe are trademarks of TypeSafe AI; Claude is a trademark of Anthropic; Storylane, Navattic, Supademo, Arcade, HowdyGo, Consensus, Reprise, Demostack, Scribe, Tango and Guidde are trademarks of their respective owners and are mentioned only for comparison. This project is not affiliated with any of them. Sauce Demo is a public demo site by Sauce Labs.
If this saves you a day of screenshots, give it a โญ
jev ยท typesafe-ai ยท system-one ยท ai-agent ยท browser-automation ยท playwright ยท mcp ยท claude-desktop ยท documentation-generator ยท walkthrough-videos ยท e2e-testing ยท no-code-testing ยท supademo-alternative ยท storylane-alternative ยท arcade-alternative ยท navattic-alternative ยท interactive-demo ยท scribe-alternative ยท test-automation ยท open-source
This server cannot be deployed
Maintenance
Related MCP Connectors
Run multi-step tasks in a real Chrome browser: persistent environments, live view, human takeover.
AI-powered browser automation โ navigate, click, fill forms, and extract data from any website.
Narrated demo and tutorial videos of your web app, from a guide or your coding agent.
Automate cloud Chromeโnavigate, click, type, screenshot, run code, record screen video
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceRecords a browser window while Claude drives it and converts the recording into labelled contact sheets, key frames, and an action-correlated timeline for evidence-based evaluation. macOS 15+ only.432 npmMIT
- AlicenseAqualityCmaintenanceEnables Claude to drive a real browser and automatically turn interactions into Clikta interactive demos, step-by-step guides, and narrated videos.93 npmMIT
- AlicenseNot gradedqualityBmaintenanceLets Claude Code drive your own Chrome browser with human-like clicks, drags, and typing. It uses your real sessions and logins, and pauses for your confirmation on anything irreversible.8MIT

OpenDocs MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to document every app feature by turning browser sessions into structured, re-runnable App Flows with screenshots and steps, compiled into shareable support guides.MIT