@vdoninja/mcp 0.4.0 → 0.4.2

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.
Files changed (71) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/SKILL.md +8 -6
  4. package/assets/browser-agent/audio-worklet.js +17 -0
  5. package/assets/browser-agent/client.js +124 -0
  6. package/assets/browser-agent/index.html +50 -0
  7. package/assets/cloudflare/worker-proxy.js +3 -0
  8. package/docs/.nojekyll +0 -0
  9. package/docs/404.html +28 -0
  10. package/docs/advanced-diagnostics.html +101 -0
  11. package/docs/assets/apple-touch-icon.png +0 -0
  12. package/docs/assets/favicon.svg +7 -0
  13. package/docs/assets/how-it-works.svg +62 -0
  14. package/docs/assets/icon-192.png +0 -0
  15. package/docs/assets/icon-512.png +0 -0
  16. package/docs/assets/icon-maskable-512.png +0 -0
  17. package/docs/assets/icons.svg +42 -0
  18. package/docs/assets/logo.svg +7 -0
  19. package/docs/assets/og-image.png +0 -0
  20. package/docs/assets/site.css +735 -0
  21. package/docs/assets/site.js +289 -0
  22. package/docs/browser-agent.html +122 -0
  23. package/docs/browser-worker.html +165 -0
  24. package/docs/client-config-examples.html +254 -0
  25. package/docs/direction.html +175 -0
  26. package/docs/favicon.ico +0 -0
  27. package/docs/guide.html +872 -0
  28. package/docs/http-relay.html +154 -0
  29. package/docs/index.html +834 -0
  30. package/docs/mcp-tool-contract.html +226 -0
  31. package/docs/quickstart-and-compat.html +222 -0
  32. package/docs/site.webmanifest +16 -0
  33. package/docs/sitemap.xml +63 -0
  34. package/docs/ssapp-integration.html +594 -0
  35. package/docs/vdo-ninja-p2p-data-notes.html +225 -0
  36. package/package.json +67 -11
  37. package/references/advanced-diagnostics.md +6 -4
  38. package/references/browser-agent.md +53 -0
  39. package/references/browser-worker.md +142 -0
  40. package/references/client-config-examples.md +253 -0
  41. package/references/direction.md +88 -0
  42. package/references/http-relay.md +107 -0
  43. package/references/mcp-tool-contract.md +16 -6
  44. package/references/quickstart-and-compat.md +18 -6
  45. package/references/ssapp-integration.md +371 -0
  46. package/references/vdo-ninja-p2p-data-notes.md +3 -1
  47. package/scripts/demo-file-workflow.js +25 -6
  48. package/scripts/demo-message-workflow.js +25 -6
  49. package/scripts/install-mcp.js +55 -4
  50. package/scripts/lib/bridge-session.js +143 -26
  51. package/scripts/lib/bridge-utils.js +3 -0
  52. package/scripts/lib/browser-agent.js +255 -0
  53. package/scripts/lib/browser-media.js +79 -0
  54. package/scripts/lib/browser-routes.js +119 -0
  55. package/scripts/lib/browser-rpc.js +214 -0
  56. package/scripts/lib/browser-setup.js +133 -0
  57. package/scripts/lib/browser-worker.js +216 -0
  58. package/scripts/lib/fake-network-sdk.js +3 -0
  59. package/scripts/lib/http-relay-transport.js +294 -0
  60. package/scripts/lib/load-vdo-sdk.js +3 -0
  61. package/scripts/lib/mcp-stdio-parser.js +3 -0
  62. package/scripts/lib/ssapp-worker.js +198 -0
  63. package/scripts/lib/tool-profiles.js +3 -0
  64. package/scripts/vdo-data-bridge.js +3 -0
  65. package/scripts/vdo-mcp-browser-agent.js +132 -0
  66. package/scripts/vdo-mcp-browser.js +218 -0
  67. package/scripts/vdo-mcp-relay.js +207 -0
  68. package/scripts/vdo-mcp-server.js +87 -8
  69. package/scripts/vdo-mcp-ssapp.js +208 -0
  70. package/scripts/vdo-mcp-streamable-http.js +23 -4
  71. package/server.json +26 -10
package/server.json CHANGED
@@ -2,20 +2,18 @@
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.steveseguin/vdo-ninja-mcp",
4
4
  "title": "VDO.Ninja MCP Bridge",
5
- "description": "WebRTC data-channel MCP bridge for VDO.Ninja with reliable messages, files, and room sync.",
6
- "version": "0.4.0",
7
- "websiteUrl": "https://github.com/steveseguin/ninjasdk/tree/main/MCP",
5
+ "description": "Private agent rooms with messages, files, and shared state over WebRTC or a self-hosted HTTP relay.",
6
+ "version": "0.4.2",
7
+ "websiteUrl": "https://github.com/steveseguin/ninjamcp",
8
8
  "repository": {
9
- "url": "https://github.com/steveseguin/ninjasdk",
10
- "source": "github",
11
- "id": "1006762093",
12
- "subfolder": "MCP"
9
+ "url": "https://github.com/steveseguin/ninjamcp",
10
+ "source": "github"
13
11
  },
14
12
  "packages": [
15
13
  {
16
14
  "registryType": "npm",
17
15
  "identifier": "@vdoninja/mcp",
18
- "version": "0.4.0",
16
+ "version": "0.4.2",
19
17
  "runtimeHint": "node",
20
18
  "runtimeArguments": [
21
19
  {
@@ -27,6 +25,23 @@
27
25
  "type": "stdio"
28
26
  },
29
27
  "environmentVariables": [
28
+ {
29
+ "name": "VDON_MCP_RELAY_URL",
30
+ "description": "HTTPS origin of an optional peer relay, used with transport: http.",
31
+ "isRequired": false
32
+ },
33
+ {
34
+ "name": "VDON_MCP_RELAY_TOKEN",
35
+ "description": "Access token for the optional peer relay.",
36
+ "isRequired": false,
37
+ "isSecret": true
38
+ },
39
+ {
40
+ "name": "VDON_MCP_RELAY_KEY",
41
+ "description": "Shared room encryption key: 32 random bytes encoded as 64 hex characters.",
42
+ "isRequired": false,
43
+ "isSecret": true
44
+ },
30
45
  {
31
46
  "name": "VDON_MCP_TOOL_PROFILE",
32
47
  "description": "Least-privilege tool set for this server process.",
@@ -81,7 +96,7 @@
81
96
  "url": "http://127.0.0.1:{http_port}/mcp",
82
97
  "variables": {
83
98
  "http_port": {
84
- "description": "Port used by MCP/scripts/vdo-mcp-streamable-http.js.",
99
+ "description": "Port used by scripts/vdo-mcp-streamable-http.js.",
85
100
  "format": "number",
86
101
  "default": "8787",
87
102
  "isRequired": false
@@ -125,7 +140,8 @@
125
140
  "full": "Core + file + state tool surface."
126
141
  },
127
142
  "transportNotes": [
128
- "WebRTC data channels are the transport (not generic TCP tunneling).",
143
+ "WebRTC data channels are the default peer transport; HTTP relay mode is explicit and works without WebRTC.",
144
+ "The optional peer relay uses shared room encryption keys and bounded in-memory replay.",
129
145
  "TURN improves reachability but cannot bypass every enterprise policy."
130
146
  ]
131
147
  }