Skip to content
PluginStats

@aralroca/gui-agent weekly downloads statistics

By aralroca · npm · MCP servers

An open-source WebMCP-powered in-page GUI agent. Let a natural-language agent live inside your web app and drive its UI — no script injection, no browser extension, no headless browser.

View on npm Stale · Oct 17, 2026

@aralroca/gui-agent has 20,852 recorded weekly downloads on npm, an increase of 2174% over the past 30 days, ranking #780 of 2,322 tracked listings.

Weekly downloads
20,852
Official API · Oct 17, 2026
7-day growth
-11.8%
-2.8K weekly downloads
30-day growth
+2174%
+19.9K weekly downloads
90-day growth
+9127%
+20.6K weekly downloads
Rank
#780
Among tracked npm listings

About @aralroca/gui-agent

gui-agent

An open-source, WebMCP-powered GUI agent that lives inside your web app. Let a natural-language agent operate your UI — click, fill, navigate, call your app's own actions — driven by any LLM you bring.

The optional visualizer in action: status chips per tool call, an animated gradient glow that tours every element the agent touches, and a backdrop veil that keeps the user's focus on the action.

Inspired by page-agent, but built on the emerging WebMCP standard via a polyfill.

• 📦 Just an npm package. npm i @aralroca/gui-agent and import. No script injection, no browser extension, no headless browser. • 🧩 Standards-based. Tools are registered on document.modelContext (WebMCP). The polyfill (@mcp-b/webmcp-polyfill) installs it where browsers don't natively support it yet. • 🎯 Producer + consumer in one. Expose your app's actions as precise tools and fall back to text-based DOM driving for everything else. • 🧠 Bring your own LLM. A tiny provider-agnostic interface, plus a ready-made Vercel AI SDK adapter. • 🪶 Headless core. No UI imposed — wire it to your own chat, command bar, or voice. • ✨ Opt-in visualizer. Status chips per action, an animated gradient glow around the element being acted on, and a backdrop blur that spotlights it (@aralroca/gui-agent/ui).

⚠️ Early/experimental. WebMCP is a moving W3C draft; APIs may change.

Thinking is cheap. But what if your agents didn't have to think so much—and instead had TOTAL CONTROL of your app (AUTOMATICALLY)? Take a look Janux Framework for more than gui-agent lib

Table of Contents

• Install • Quick start • How it works • How the agent picks a tool • Compared to page-agent • API • Core • Visualizing the agent • Bring your own LLM • AI SDK adapter • React • Safety • Demo • Develop • License

Install

Quick start

Importing the package installs the WebMCP polyfill automatically — no tag.

How it works

gui-agent unifies two approaches:

  1. Producer (WebMCP). Your app calls defineTool(...) to register reliable, structured actions on document.modelContext. Any WebMCP agent — including a browser's native one — can use them. 2. DOM fallback (page-agent style). For anything not exposed, the agent builds a compact text snapshot of the page (roles, labels, values, stable refs like e7) and gets synthesized read_page / click / fill / select_option / drag / wait_for_text tools. No screenshots, no multimodal model needed.

The built-in loop discovers all available tools, asks your LLM what to do, runs the calls (gated by your optional confirm), feeds results back, and repeats until done.

How the agent picks a tool

For each step the agent prefers a purpose-built WebMCP tool if one fits, and only infers the DOM when nothing is exposed for the job:

The agent is handed a single merged tool list and is instructed to prefer your app's WebMCP tools; the synthesized DOM tools are the always-on fallback (a same-named app tool wins). WebMCP tools live on document.modelContext — your app registers them (so any WebMCP agent, including the browser's native one, can call them) and discoverExternalTools() can pull in tools other code registered there. upload_file and navigate DOM tools are opt-in.

Compared to page-agent

gui-agent is inspired by page-agent and shares its core idea — a natural-language agent that drives a real web page from a text-based DOM snapshot (no screenshots, no multimodal model) with a bring-your-own-LLM design. The difference is what gui-agent adds by building on the emerging WebMCP standard instead of DOM-driving alone:

| Capability | gui-agent | page-agent |

| WebMCP standard (document.modelContext) | ✅ Built on the W3C WebMCP draft + polyfill | ❌ Not WebMCP — its "MCP" is a separate Node server that lets external agents drive the browser | | App actions as standard tools | ✅ defineTool registers structured actions on document.modelContext, callable by any WebMCP agent — including the browser's native one | ⚠️ Custom tools are client-side config, marked @experimental, and not exposed via a page standard | | Interop with other in-page tools | ✅ discoverExternalTools() picks up tools other code registered on document.modelContext | ❌ Not available | | Human-in-the-loop safety gate | ✅ Built-in confirm() gate — every non-readOnlyHint tool is routed through approval before it runs | ⚠️ No mandatory approval gate and no read-only/write distinction (runs autonomously up to maxSteps); offers ask_user, lifecycle hooks and data-masking instead | | First-class React bindings | ✅ GuiAgentProvider, useGuiAgent, useTool, | ❌ None (vanilla panel UI) | | Provider-agnostic LLM | ✅ Any shape via a one-function Llm interface, plus a Vercel AI SDK adapter and a remote-LLM helper | ⚠️ Bring-your-own, but the endpoint must be OpenAI-compatible | | Producer + consumer in one | ✅ Precise structured producer tools and a DOM fallback in a single loop | ➖ Primarily a DOM driver (custom tools experimental) |

When page-agent is the better fit. page-agent is excellent and has real strengths gui-agent doesn't: it drives any existing site's DOM without the app opting in, so it works on legacy or third-party apps (ERP, CRM, admin panels) you don't control — whereas gui-agent's producer tools need the app to register them (its DOM fallback still works anywhere, but the WebMCP value comes from instrumentation). page-agent also ships an optional Chrome extension for cross-tab tasks and a Node MCP server so external agents (Claude Desktop, Cursor) can drive a real browser. Both projects are MIT-licensed, TypeScript, text-based, and ship an activity visualizer.

In short: reach for page-agent to automate sites you don't own; reach for gui-agent when you do own the app and want standards-based, structured, human-gated tools — with a DOM fallback for everything else.

API

Core (@aralroca/gui-agent)

| Export | Purpose |…

Description from the npm listing.

  • webmcp
  • mcp
  • agent
  • gui-agent
  • ai
  • llm
  • browser
  • automation
  • model-context
  • page-agent

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

@aralroca/gui-agent weekly downloads on npm, last 90 days: 20,852 weekly downloads as of Oct 17, 2026, +9127% over 90 days.@aralroca/gui-agentWeekly downloads on npm · Last 90 days20,852downloads / week+9127% over 90 days010K20K30K40K50KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 22, 2026 – Oct 17, 2026 · 88 observations · Updated Oc…pluginstats.com
@aralroca/gui-agent weekly downloads on npm, last 90 days: 20,852 weekly downloads as of Oct 17, 2026, +9127% over 90 days.

7/30/90-day growth

@aralroca/gui-agent weekly downloads growth on npm: -11.8% over 7 days, +2174% over 30 days, +9127% over 90 days.@aralroca/gui-agentWeekly downloads growth on npm20,852downloads / week now7-day growth-2,789 weekly downloads-11.8%30-day growth+19,935 weekly downloads+2174%90-day growth+20,626 weekly downloads+9127%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
@aralroca/gui-agent weekly downloads growth on npm: -11.8% over 7 days, +2174% over 30 days, +9127% over 90 days.

Ranking history

@aralroca/gui-agent npm ranking history: currently #780 (by weekly downloads).@aralroca/gui-agentnpm ranking · by weekly downloads · Last 90 days#780current rank#730#740#750#760#770#780#790Jul 22Aug 6Aug 21Sep 5Sep 20Oct 5Oct 20rankOct 18, 2026 – Oct 20, 2026 · 3 observations · Updated Oct 17, 2026pluginstats.com
@aralroca/gui-agent npm ranking history: currently #780 (by weekly downloads).

Listing placement

All npm2,320 listings · 116 pages · 1,161 shown · page 40, #1 (overall #781)
All npm: every listing in weekly downloads order

Listing placement

MCP servers277 listings · 14 pages · page 6, #16 (overall #116)
MCP servers: every listing in weekly downloads order

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

Recent observations

Full history (121)
Recent weekly downloads observations for @aralroca/gui-agent
Date (UTC)Weekly downloadsChange vs. previous
20,852-7.3K
28,124-6.6K
34,679-4.9K
39,603-2.6K
42,2240
42,224+8.5K
33,757+10.1K
23,641+7.1K
16,529+8.5K
8,076+4.1K
3,951+2.5K
1,470-143
1,613-129
1,742—

Similar npm MCP servers plugins

All 20 @aralroca/gui-agent alternatives

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/@aralroca/gui-agent. First seen Oct 16, 2026; last successful collection Oct 19, 2026. See the methodology.