Private Beta — Contact us to get set up with the Char Extension.
list_extension_tools and call_extension_tool — that let you discover and call those tools directly from Claude Code.
Prerequisites
- Chrome DevTools MCP installed (setup guide)
- Char Extension installed and active
- Chrome launched with remote debugging:
Install Chrome DevTools MCP
If you’re using the Char plugin, it’s already configured. Otherwise install manually:/mcp — you should see chrome-devtools listed.
Chrome DevTools MCP uses our maintained fork:
@mcp-b/chrome-devtools-mcp. Source: WebMCP-org/npm-packages.Discover extension tools
Navigate to a page that has WebMCP tools registered, then list what the extension sees:list_extension_tools queries the extension’s service worker for all tools registered across all tabs. It returns tool names, descriptions, and input schemas.
Use summary: true for a compact listing:
Call extension tools
Once you know a tool name, call it:How it works
Both tools useevaluate_in_extension_worker internally — they run JavaScript in the extension’s background service worker via Chrome DevTools Protocol. No separate MCP server or persistent connection is needed.
Each call is stateless. The extension doesn’t need any special configuration — list_extension_tools reads from the McpHub’s in-memory tool registry, and call_extension_tool routes through the same content script bridge that the sidepanel uses.
Extension tools vs WebMCP tools
Chrome DevTools MCP has two parallel tool paths:| Extension tools | WebMCP tools | |
|---|---|---|
| List | list_extension_tools | list_webmcp_tools |
| Call | call_extension_tool | call_webmcp_tool |
| How it works | Goes through the extension service worker | Injects directly into page via CDP |
| Bot detection | Pages stay clean — no navigator.webdriver flag | CDP page attachment may trigger bot detection |
| Requires | Char Extension installed | Nothing — works on any page |
| Tool source | Content scripts + user scripts | @mcp-b/global polyfill on the page |
Debugging
Check extension state
Useevaluate_in_extension_worker to inspect the extension directly:
No tools found
Iflist_extension_tools returns empty:
- Is the extension active? Check
chrome://extensions— the Char Extension should be enabled - Is the page loaded? Navigate to the page first, then wait for it to load
- Does the page have tools? Not all pages register WebMCP tools. The page needs
@mcp-b/globalor a user script that callsregisterTool() - Content script connected? Check the extension service worker console at
chrome://extensions→ Char → “Inspect views: service worker”
Tool call fails
Ifcall_extension_tool returns an error:
- Check the tool name — Use the exact name from
list_extension_tools, not the prefixed MCP tool name - Check arguments — Use
list_extension_tools(withoutsummary) to see the full input schema - Tab still open? If the tab was closed, cached tools may fail. Navigate back to the page
See also
Char Extension
Extension overview
User Scripts
Write scripts that inject tools
MCP Servers
Install Chrome DevTools MCP
WebMCP Tools
Tools in applications you control

