webmcp_everywhere 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +61 -0
- package/chrome_extension/dist/background_service_worker.js +3745 -0
- package/chrome_extension/dist/content_isolated.js +843 -0
- package/chrome_extension/dist/content_main.js +3515 -0
- package/chrome_extension/dist/external_adapter_main.js +3552 -0
- package/chrome_extension/dist/popup.js +508 -0
- package/chrome_extension/manifest.json +24 -0
- package/chrome_extension/user_interface/popup.html +128 -0
- package/install_the_native_messaging_host.mjs +327 -0
- package/native_messaging_template/CONTEXT.md +16 -0
- package/native_messaging_template/com.webmcp_everywhere.host.json +9 -0
- package/package.json +28 -0
- package/webmcp_everywhere.mjs +1166 -0
- package/webmcp_native_host.mjs +17000 -0
- package/webmcp_native_host.sh +51 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Jerome Etienne
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# WebMCP Everywhere
|
|
2
|
+
|
|
3
|
+
A browser extension carrying community-maintained WebMCP adapters — small scripts that register tools
|
|
4
|
+
into sites that never shipped their own. Install it, point any agent at one local address, and that
|
|
5
|
+
agent gains real tools on the sites you already have open.
|
|
6
|
+
|
|
7
|
+
You need Google Chrome 149 or later, and Node.js 20 or later. The WebMCP origin trial runs from Chrome
|
|
8
|
+
149 to Chrome 156.
|
|
9
|
+
|
|
10
|
+
## Install it
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx webmcp_everywhere
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
If you unzipped this folder from a release rather than installing from npm, run the same command out of
|
|
17
|
+
the folder instead:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
node webmcp_everywhere.mjs
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Either way it copies this folder to `~/.webmcp_everywhere/installation`, and registers the native
|
|
24
|
+
messaging host so that an agent can reach the browser. It names every path before it writes one. The
|
|
25
|
+
copy is the point: whatever folder you ran it from may be moved, unzipped again, or emptied by npm, and
|
|
26
|
+
Chrome keeps an absolute path for both an unpacked extension and a native messaging host.
|
|
27
|
+
|
|
28
|
+
From then on Chrome starts `webmcp_native_host.sh` out of the installation folder, as a separate
|
|
29
|
+
operating system process outside the browser sandbox, with your rights.
|
|
30
|
+
|
|
31
|
+
One step is left, and only you can take it. Chrome loads an unpacked extension by hand:
|
|
32
|
+
|
|
33
|
+
1. Open `chrome://extensions` and turn on **Developer mode**.
|
|
34
|
+
2. Choose **Load unpacked**, and select `~/.webmcp_everywhere/installation/chrome_extension`.
|
|
35
|
+
|
|
36
|
+
Then point your agent at `http://127.0.0.1:8765/mcp`, with the bearer token from
|
|
37
|
+
`~/.webmcp_everywhere/token`.
|
|
38
|
+
|
|
39
|
+
## Check it is working
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx webmcp_everywhere status
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
It asks the running system rather than looking for the extension in Chrome's own files, so it answers
|
|
46
|
+
about what an agent would really receive: whether a browser is holding the port, whether the extension
|
|
47
|
+
is connected to it, and which adapters are offering tools in which tabs. It exits 1 when no tools are
|
|
48
|
+
reaching your agent, and says which step to go and fix. Installing ends with the same answer.
|
|
49
|
+
|
|
50
|
+
## Take it back out
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npx webmcp_everywhere uninstall
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
That removes the registration and the installation folder, and prints what it removed. Your bearer token
|
|
57
|
+
and any adapters you loaded are left alone. Remove the extension itself at `chrome://extensions`.
|
|
58
|
+
|
|
59
|
+
## What it does, and what it does not
|
|
60
|
+
|
|
61
|
+
Read the security model and the permissions before you let an agent act on a site: https://github.com/jeromeetienne/webmcp_everywhere/blob/main/docs/security_model.md
|