
WebMCP — Make Any Website Agent-Ready
io.github.up2itnow0822Published by GitHub account up2itnow0822v0.5.0Updated Oct 27, 2026
W3C WebMCP toolkit for Chrome 146. Expose any website as a structured MCP server for AI agents.
The publisher's own server: Make
Overview
TypeScript SDK for exposing website tools to browser agents via the experimental W3C WebMCP API, with authorization, limits and a wallet demo.
- What you can do
- Register and invoke tools in a browser page through the experimental document.modelContext API, with a legacy navigator adapter as an opt-in.
- Wrap tools with confirmation prompts, rate limits and audit hooks, and validate inputs against bounded JSON schemas.
- Scope session policy in React apps and register annotated HTML forms through an explicit trusted handler map.
- Serve discovery metadata from an Express middleware, and run a local transaction studio that proposes wallet actions for human approval.
- When to use it
- Use it when you are building a website or React app that should expose its own tools to AI agents through WebMCP, or when you want to study a reference implementation of agent-proposed, human-approved wallet transactions.
- Requirements
- Runs locally from a repository checkout with Node 22.22.2+ or 24.15+ and npm; no package is published yet, so it must be built from source. Native WebMCP is experimental and browser/origin dependent. The live wallet demo needs an injected EIP-1193 wallet on Base chain 8453.
Installation
In SourceWeft
- Open WebMCP — Make Any Website Agent-Ready in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
webmcp-sdk
TypeScript tools for browser agents, with explicit authorization, bounded execution, React lifecycle support and a non-custodial transaction reference app.
0.6.0 is a breaking security release candidate. Existing registry releases do not contain these repairs. Read the migration guide. The candidate is unpublished; this project provides neither custody nor a guarantee against attacks.
Try the transaction studio
From a repository checkout, with Node 22.22.2+ (22 LTS) or 24.15+ (24 LTS) and npm:
Open Vite's localhost URL. Practice mode uses invented balances, prices and receipts; it never signs or broadcasts. Live wallet mode uses an injected EIP-1193 wallet on Base chain 8453. The candidate supports ETH, native Base USDC and WETH transfers, and USDC/WETH exact-input swaps through the configured Uniswap V3 router and fee tier 500. Agents read state and propose actions; humans separately review each exact approval or transaction and authorize it in their external wallet.
Proposals bind account, chain, saved policy version, exact amount, minimum output and a 120-second expiry. Slippage is capped at 1%. Per-proposal limits do not cap aggregate spending. No key/seed input, arbitrary agent calldata, unlimited approval or agent signing tool is provided. Saved policy survives mode changes; memory-only activity clears on reload or mode change.
A submitted hash is pending. Matching transaction fields, receipt and token events must be checked before confirmation. Ambiguous submissions and RPC failures remain pending. Mined inclusion is not irreversible finality; inspect pending wallet activity before retrying. See the threat model and release runbook.
SDK quickstart
Install the reviewed package after publication, or build this branch locally. Public subpaths provide CommonJS, ES modules and TypeScript declarations.
Direct invocation works without a native browser API. The default adapter uses document.modelContext, execute, asynchronous registration and registration AbortSignals. Await ready() to observe registration errors. Native WebMCP is experimental and browser/origin dependent. Use the canonical browser example to distinguish local execution from native readiness. A legacy navigator adapter requires explicit browserAdapter: 'legacy' and separate compatibility testing. Annotations are advisory metadata, not authorization.
Execution and authorization
Inputs are finite own-data JSON snapshots, recursively frozen before asynchronous hooks. Dangerous keys, cycles, arbitrary prototypes, accessors and invalid schemas reject. Validation works without unsafe-eval; supported schema restrictions are intentional compatibility limits.
Defaults: 10 concurrent executions, 100 queued/admitted waits, 30-second deadlines, 65,536 input bytes, 1,000 nodes and depth 10. Handlers receive an optional second { signal } argument. Propagate cancellation and check current authority at the operation boundary. A deadline cannot preempt synchronous JavaScript or force an uncooperative promise to stop; unresolved work retains its capacity/lease until it settles.
withConfirmation requires its explicit provider to return literal true. kit.requestUserInteraction independently requires kit configuration confirmationProvider. Financial review must bind immutable terms; a generic boolean dialog is insufficient by itself. audit: true needs a reliable synchronous sink. Security audit omits input by default and never logs raw handler results/errors; explicitly allowed fields receive credential-key redaction. General kit callbacks/logs can contain input and are not a redacted audit store. blockedPatterns are bounded literal substrings, not a comprehensive prompt-injection filter.
React and declarative forms
Use WebMCPProvider from webmcp-sdk/react to scope session policy. Tool hooks publish committed handlers/metadata, revoke old registrations when callback authority changes, and remove only their owned registrations. Config-owned providers reject changed configuration; remount to replace policy. Supplied kits may be replaced. Stable callbacks avoid unnecessary revocation but must retain all account/policy dependencies.
registerDeclarativeTools(kit, root, { handlers }) registers annotated forms through an explicit trusted handler map and returns cleanup. HTML cannot define executable handlers. See declarative tools for supported fields and authorization responsibilities.
x402 and discovery
x402 payments: Paused for security maintenance. Do not use in production.
webmcp-sdk/middleware/express serves discovery metadata, not an execution transport or authentication system. Catalogs deny by default: supply an authorizer returning literal true, or deliberately choose publicManifest: true. Catalog responses use private, no-store. Actual operations need separate authentication and authorization.
Python discovery is a separate source distribution; npm does not install Python imports. No stdio server, webmcp-sdk serve, ProxyRelay or AuditLog class is supplied.
Verification
The release record distinguishes historical evidence from freshly reconstructed checks. The complete gate covers formatting, types, SDK/Studio tests and builds, packed consumers, native browser/CSP, deterministic wallet flows, accessibility/mobile checks, Python tests and dependency audit. Python installation has a separate wheel-import check. No automated check publishes, deploys or sends real funds. See SECURITY.md for reporting. MIT license.
Source: README.md at commit 44a3899
Tools
0Version history
1- v0.5.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Make integrations

Make
com.makeOfficial publisher
Make's remote MCP server lets an AI assistant build, explain, run and debug Make automation scenarios and author TypeScript Functions v2.
UGC Fans
fans.ugcOfficial publisher
Remote UGC Fans server that lets an assistant generate ads, images and video, capture websites into launch films, and finish footage, with credit quotes first.

MakeBox for Etsy
Published by GitHub account russol07
Remote MakeBox connector for Etsy: drafts SEO-optimized listings and, with OAuth, runs live Etsy shop operations for an authorized seller.

Make
Published by GitHub account integromat
Make's remote MCP server lets an AI assistant build, explain, run and debug Make automation scenarios and author Functions v2.

MixMake
Published by GitHub account swappysh
Lets an assistant transcribe audio, edit the transcript by word ID, and export the edited audio.