WebMCP Local Agent · playground

Two pages that expose WebMCP tools, for trying the extension without hunting for a site that implements the API.

Because these are served over HTTPS from a real origin, they also exercise the origin-matching path that a local file:// page cannot.

Native API demo →

A createFeature tool with four required inputs and two constrained by enum / anyOf. Ask the agent to file a feature and watch it pick the declared constants.

document.modelContext · getTools() · executeTool(tool, args)

Declarative form demo →

The same createFeature tool, declared entirely in the markup with toolname / toolparamdescription. No registration code runs at all — the Tools panel should report 📝 HTML form.

<form toolname="createFeature">

Multi-Country Contacts & Catalog Demo →

Address book with region selector (ZA, ES, CA) demonstrating Knowledge Catalog matching, country-specific tax ID / postal code rules, and dynamic AI prompt suggestions.

region=za · region=es · region=ca · catalog-sample.json

Imperative demo →

A todo list with four tools. Try "add buy bread", "what is still pending?", "mark #1 as done", "switch the page to dark mode".

navigator.modelContext.provideContext({ tools })

Setup

  1. Install the extension: grab the zip from the latest release, unzip it, then chrome://extensions → Developer mode → Load unpacked.
  2. Have Ollama running with a model that supports tools:
    ollama pull qwen3:8b
  3. Let Ollama accept the extension's origin, then restart it from the tray icon:
    setx OLLAMA_ORIGINS "chrome-extension://*"
  4. Open a demo above and click the extension icon.
Step 3 is not optional. Without it the model list loads fine but sending a message returns 403: chrome-extension:// is not in Ollama's default allowed origins. On Linux or macOS export OLLAMA_ORIGINS before ollama serve.
Reload the page (F5) after installing or reloading the extension. Content scripts are not injected into tabs that were already open.

What to look for