diff --git a/extension/PRIVACY.md b/extension/PRIVACY.md index 56f56ea..0eb04a7 100644 --- a/extension/PRIVACY.md +++ b/extension/PRIVACY.md @@ -4,7 +4,7 @@ ## Overview -WebMCP Bridge is an open-source Chrome extension that connects tools registered on web pages (via the `navigator.modelContext` browser API) to local AI assistants through Model Context Protocol (MCP). It does not collect, store, or transmit any personal data. +WebMCP Bridge is an open-source Chrome extension that connects tools registered on web pages (via the `document.modelContext` browser API) to local AI assistants through Model Context Protocol (MCP). It does not collect, store, or transmit any personal data. ## What data does the extension access? diff --git a/extension/README.md b/extension/README.md index 5ee4739..1f8bf0c 100644 --- a/extension/README.md +++ b/extension/README.md @@ -1,12 +1,12 @@ # WebMCP Bridge Server Chrome Extension -A Chrome extension that bridges tools registered on `navigator.modelContext` to desktop AI clients (Claude Code, Cursor, etc.) via MCP. +A Chrome extension that bridges tools registered on `document.modelContext` to desktop AI clients (Claude Code, Cursor, etc.) via MCP. > Note: This extension is a workaround for now. Once Chrome natively supports some bridge solution, I'll deprecate this extension. ## How it works -Your React app registers tools using `webmcp-react`. The extension picks them up from `navigator.modelContext`, aggregates tools across all active tabs, and exposes them through a local MCP server that clients connect to over stdio. +Your React app registers tools using `webmcp-react`. The extension picks them up via `navigator.modelContextTesting`, aggregates tools across all active tabs, and exposes them through a local MCP server that clients connect to over stdio. ![Extension architecture](./extension-architecture.svg) @@ -97,7 +97,7 @@ After rebuilding, click the reload button on `chrome://extensions/` to pick up c ``` src/ ├── background.ts # Service worker — manages tabs, tools, WebSocket -├── content-main.ts # Main world script — reads navigator.modelContext +├── content-main.ts # Main world script — reads navigator.modelContextTesting ├── content-isolated.ts # Isolated world script — bridges messages ├── types.ts # Shared type definitions ├── popup/ diff --git a/package.json b/package.json index b7d966b..7d88856 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,7 @@ "dev:nextjs": "pnpm --filter webmcp-react-nextjs-example dev", "build:extension": "pnpm --filter webmcp-bridge-extension build", "typecheck:extension": "pnpm --filter webmcp-bridge-extension typecheck", + "prepublishOnly": "pnpm build", "prepare": "husky" }, "peerDependencies": {