Skip to main content
Private BetaContact us to get set up.
User scripts inject tools into applications you don’t control. They run in the context of a page and call registerTool() to expose functionality to the Tool Hub.

The problem

You want to add a tool to a legacy portal. The tool needs to read data from the page, click buttons, fill forms. But you can’t modify the application’s source code.

How it works

The Char Extension injects scripts into matching pages via Chrome’s user scripts API. The script runs in the page context—it can access the DOM, call page functions, interact with the application. When the script calls registerTool(), that tool becomes available through the Hub. AI agents can call it like any other tool.

Org-level scripts

Scripts are defined at the org level. An admin registers a script with domain matching rules. All users in the org get that script injected when visiting matching pages. This means consistent tooling across your organization. Everyone gets the same tools for the same legacy applications. No per-user configuration.

Development workflow

Scripts are developed the same way as regular WebMCP tools—using Chrome DevTools MCP to iterate in a live browser. Navigate to the target application. Write registerTool() calls. Test them. When they work, save as an org-level script.

What you get

Tools where you couldn’t have them. Legacy applications become AI-accessible without source code changes. Shared across users. Define once, deploy to everyone. Consistent tooling, centrally managed. Same governance. Tool calls from injected scripts flow through the same governance layer—access control, guardrails, approvals, audit.

See also