@mcp-native/webview 0.5.0 → 0.7.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/README.md CHANGED
@@ -24,12 +24,13 @@ legacy generic helpers still recognize older HTML MIME types and reject both inl
24
24
  documents unless the host explicitly grants them through policy.
25
25
 
26
26
  The exact protocol pin, message set, bounds, exclusions, native/browser differences, and official
27
- schema evidence are documented in the [MCP Apps compatibility
27
+ schema coverage is documented in the [MCP Apps compatibility
28
28
  profile](https://github.com/pablospaniard/mcp-native/blob/main/docs/mcp-apps-compatibility.md).
29
29
 
30
30
  ## Stable MCP Apps host flow
31
31
 
32
32
  ```ts
33
+ import { createConsentActionPolicy } from "@mcp-native/core";
33
34
  import {
34
35
  MCP_APPS_EXTENSION_CAPABILITIES,
35
36
  McpAppsBridge,
@@ -51,6 +52,18 @@ if (grant.kind !== "negotiated") {
51
52
 
52
53
  const resource = await loadMcpAppsResource(tool, runtime, grant);
53
54
  const sandbox = createMcpAppsNativeSandbox(resource); // no sensitive permissions by default
55
+ const appToolPolicy = createConsentActionPolicy(
56
+ [
57
+ {
58
+ name: "refresh",
59
+ risk: "read-only",
60
+ capabilities: [],
61
+ sensitiveData: [],
62
+ sharesDataExternally: false,
63
+ },
64
+ ],
65
+ reviewMcpAppsToolCall,
66
+ );
54
67
 
55
68
  let webViewRef;
56
69
  const bridge = new McpAppsBridge({
@@ -62,6 +75,7 @@ const bridge = new McpAppsBridge({
62
75
  webViewRef.injectJavaScript(createMcpAppsNativeDeliveryScript(serialized));
63
76
  },
64
77
  handlers: {
78
+ authorizeToolCall: appToolPolicy,
65
79
  callTool: (name, arguments_) => runtime.callTool(name, arguments_),
66
80
  readResource: (uri) => runtime.readResource(uri),
67
81
  openLink: async (url) => {
@@ -81,9 +95,12 @@ const webViewProps = createMcpAppsReactNativeWebViewProps(sandbox, {
81
95
 
82
96
  Advertise `MCP_APPS_EXTENSION_CAPABILITIES` through `createMcpNativeClientOptions()` and pass the
83
97
  same snapshot into the SDK adapter. Capabilities are not inferred from the tool or resource MIME
84
- type. The bridge advertises View-facing host features only when the matching host callback exists.
85
- The native adapter requires `onError` so rejected message and external-link callbacks remain inside
86
- the host's controlled error boundary. Bridge work is capped at 128 concurrent inbound messages, and
98
+ type. The bridge advertises View-facing tool proxying only when both `authorizeToolCall` and
99
+ `callTool` exist. The validated action must receive exact host-policy approval before the tool
100
+ handler runs; View `_meta`, server annotations, and tool visibility never grant execution. Other
101
+ View-facing host features are advertised only when the matching host callback exists. The native
102
+ adapter requires `onError` so rejected message and external-link callbacks remain inside the host's
103
+ controlled error boundary. Bridge work is capped at 128 concurrent inbound messages, and
87
104
  exactly-once tool lifecycle sends are serialized across asynchronous transports.
88
105
 
89
106
  ## Install
@@ -165,12 +182,13 @@ A production host must still verify:
165
182
  - allowed origins and navigation rules;
166
183
  - ephemeral website data and cookie/process-pool isolation on each supported OS version;
167
184
  - native download, permission, safe-browsing, custom-scheme, and teardown delegates;
168
- - that every descriptor field maps to the intended locally bundled WebView implementation; and
169
- - user approval before any sensitive device capability or external effect.
185
+ - that every descriptor field maps to the intended locally bundled WebView implementation;
186
+ - user approval before any sensitive device capability or external effect; and
187
+ - an explicit `authorizeToolCall` policy whenever the View may proxy a same-server tool call.
170
188
 
171
189
  See the repository's [security policy](https://github.com/pablospaniard/mcp-native/blob/main/SECURITY.md) before expanding this boundary. Install [`mcp-native`](https://www.npmjs.com/package/mcp-native) for the combined runtime and UI APIs.
172
190
 
173
- The planned compatibility work and the differences between browser iframe isolation and native WebView isolation are tracked in [Standards and compatibility](https://github.com/pablospaniard/mcp-native/blob/main/docs/standards-compatibility.md).
191
+ The exact stable compatibility profile and the differences between browser iframe isolation and native WebView isolation are documented in [Standards and compatibility](https://github.com/pablospaniard/mcp-native/blob/main/docs/standards-compatibility.md).
174
192
 
175
193
  ## License
176
194
 
package/dist/bridge.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { JsonObject, McpReadResourceResult, McpTool, McpToolCallResult } from "@mcp-native/core";
1
+ import type { JsonObject, McpNativeActionPolicy, McpReadResourceResult, McpTool, McpToolCallResult } from "@mcp-native/core";
2
2
  import { McpAppsError } from "./apps.js";
3
3
  import type { McpAppsResource } from "./apps.js";
4
4
  import type { McpAppsNativeSandboxConfiguration } from "./sandbox.js";
@@ -8,6 +8,8 @@ export type McpAppsDisplayMode = "fullscreen" | "inline" | "pip";
8
8
  export type McpAppsBridgeState = "awaiting-initialize" | "awaiting-initialized" | "ready" | "closing" | "closed";
9
9
  export type McpAppsContentModality = "audio" | "image" | "resource" | "resourceLink" | "structuredContent" | "text";
10
10
  export interface McpAppsBridgeHandlers {
11
+ /** Required with `callTool`; authorizes the validated app-originated tool action. */
12
+ readonly authorizeToolCall?: McpNativeActionPolicy;
11
13
  readonly callTool?: (name: string, arguments_: JsonObject, requestMeta?: JsonObject) => McpToolCallResult | Promise<McpToolCallResult>;
12
14
  readonly readResource?: (uri: string, requestMeta?: JsonObject) => McpReadResourceResult | Promise<McpReadResourceResult>;
13
15
  readonly openLink?: (url: string) => boolean | Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
package/dist/bridge.js CHANGED
@@ -28,6 +28,7 @@ export class McpAppsBridge {
28
28
  #toolInputSent = false;
29
29
  #toolTerminalSent = false;
30
30
  #toolLifecycleTail = Promise.resolve();
31
+ #toolCallRunning = false;
31
32
  #pendingInboundMessages = 0;
32
33
  #teardownId;
33
34
  #nextRequestId = 1;
@@ -42,6 +43,10 @@ export class McpAppsBridge {
42
43
  ? { platform: "mobile" }
43
44
  : parseHostContext(options.hostContext, "hostContext");
44
45
  this.#handlers = options.handlers ?? {};
46
+ if ((this.#handlers.callTool === undefined) !==
47
+ (this.#handlers.authorizeToolCall === undefined)) {
48
+ throw new McpAppsBridgeError("MCP Apps tool proxying requires both authorizeToolCall and callTool handlers");
49
+ }
45
50
  this.#hostCapabilities = createHostCapabilities(options);
46
51
  this.#tools = createToolMap(options.tools ?? []);
47
52
  this.#onProtocolError = options.onProtocolError;
@@ -293,8 +298,26 @@ export class McpAppsBridge {
293
298
  const requestMeta = call["_meta"] === undefined
294
299
  ? undefined
295
300
  : parseBoundedObject(call["_meta"], "tools/call.params._meta");
296
- const result = await this.#handlers.callTool(name, arguments_, requestMeta);
297
- return parseBoundedObject(result, "tools/call result");
301
+ if (this.#toolCallRunning) {
302
+ throw new McpAppsBridgeError("Another app tool call is already pending", -32002);
303
+ }
304
+ this.#toolCallRunning = true;
305
+ try {
306
+ const policyArguments = parseJsonObject(arguments_, "tools/call policy arguments");
307
+ const authorized = await this.#handlers.authorizeToolCall({
308
+ type: "tool",
309
+ name,
310
+ arguments: policyArguments,
311
+ });
312
+ if (authorized !== true) {
313
+ throw new McpAppsBridgeError("App tool call denied by host policy", -32001);
314
+ }
315
+ const result = await this.#handlers.callTool(name, arguments_, requestMeta);
316
+ return parseBoundedObject(result, "tools/call result");
317
+ }
318
+ finally {
319
+ this.#toolCallRunning = false;
320
+ }
298
321
  }
299
322
  async #readResource(params) {
300
323
  if (this.#handlers.readResource === undefined) {
@@ -434,7 +457,9 @@ function createHostCapabilities(options) {
434
457
  return {
435
458
  ...(handlers.openLink === undefined ? {} : { openLinks: {} }),
436
459
  ...(handlers.downloadFile === undefined ? {} : { downloadFile: {} }),
437
- ...(handlers.callTool === undefined ? {} : { serverTools: {} }),
460
+ ...(handlers.callTool === undefined || handlers.authorizeToolCall === undefined
461
+ ? {}
462
+ : { serverTools: {} }),
438
463
  ...(handlers.readResource === undefined ? {} : { serverResources: {} }),
439
464
  ...(handlers.log === undefined ? {} : { logging: {} }),
440
465
  sandbox,
@@ -609,6 +634,8 @@ function parseDownloadContent(value, path) {
609
634
  return block;
610
635
  }
611
636
  function validateContentBlock(block, path) {
637
+ validateOptionalAnnotations(block.annotations, `${path}.annotations`);
638
+ validateOptionalMeta(block["_meta"], `${path}._meta`);
612
639
  switch (block.type) {
613
640
  case "text":
614
641
  expectOnlyKeys(block, ["type", "text", "annotations", "_meta"], path);
@@ -625,6 +652,7 @@ function validateContentBlock(block, path) {
625
652
  const resource = parseBoundedObject(block.resource, `${path}.resource`);
626
653
  expectOnlyKeys(resource, ["uri", "mimeType", "text", "blob", "_meta"], `${path}.resource`);
627
654
  expectBoundedString(resource.uri, `${path}.resource.uri`);
655
+ validateOptionalMeta(resource["_meta"], `${path}.resource._meta`);
628
656
  if (resource.mimeType !== undefined) {
629
657
  expectBoundedString(resource.mimeType, `${path}.resource.mimeType`);
630
658
  }
@@ -651,11 +679,76 @@ function validateContentBlock(block, path) {
651
679
  ], path);
652
680
  expectBoundedString(block.name, `${path}.name`);
653
681
  expectBoundedString(block.uri, `${path}.uri`);
682
+ for (const field of ["title", "description", "mimeType"]) {
683
+ if (block[field] !== undefined)
684
+ expectBoundedString(block[field], `${path}.${field}`);
685
+ }
686
+ if (block.size !== undefined &&
687
+ (typeof block.size !== "number" || !Number.isSafeInteger(block.size) || block.size < 0)) {
688
+ throw new McpAppsBridgeError(`Expected a non-negative safe integer at ${path}.size`);
689
+ }
690
+ validateOptionalIcons(block.icons, `${path}.icons`);
654
691
  break;
655
692
  default:
656
693
  throw new McpAppsBridgeError(`Unsupported content type at ${path}.type`);
657
694
  }
658
695
  }
696
+ function validateOptionalAnnotations(value, path) {
697
+ if (value === undefined)
698
+ return;
699
+ const annotations = parseBoundedObject(value, path);
700
+ expectOnlyKeys(annotations, ["audience", "priority", "lastModified"], path);
701
+ if (annotations.audience !== undefined) {
702
+ if (!Array.isArray(annotations.audience) || annotations.audience.length > 2) {
703
+ throw new McpAppsBridgeError(`Expected at most two audience roles at ${path}.audience`);
704
+ }
705
+ for (const [index, role] of annotations.audience.entries()) {
706
+ if (role !== "assistant" && role !== "user") {
707
+ throw new McpAppsBridgeError(`Expected assistant or user at ${path}.audience[${index}]`);
708
+ }
709
+ }
710
+ }
711
+ if (annotations.priority !== undefined &&
712
+ (typeof annotations.priority !== "number" ||
713
+ !Number.isFinite(annotations.priority) ||
714
+ annotations.priority < 0 ||
715
+ annotations.priority > 1)) {
716
+ throw new McpAppsBridgeError(`Expected a number from 0 to 1 at ${path}.priority`);
717
+ }
718
+ if (annotations.lastModified !== undefined) {
719
+ expectBoundedString(annotations.lastModified, `${path}.lastModified`);
720
+ }
721
+ }
722
+ function validateOptionalIcons(value, path) {
723
+ if (value === undefined)
724
+ return;
725
+ if (!Array.isArray(value) || value.length > 64) {
726
+ throw new McpAppsBridgeError(`Expected at most 64 icons at ${path}`);
727
+ }
728
+ for (const [index, iconValue] of value.entries()) {
729
+ const iconPath = `${path}[${index}]`;
730
+ const icon = parseBoundedObject(iconValue, iconPath);
731
+ expectOnlyKeys(icon, ["src", "mimeType", "sizes", "theme"], iconPath);
732
+ expectBoundedString(icon.src, `${iconPath}.src`);
733
+ if (icon.mimeType !== undefined)
734
+ expectBoundedString(icon.mimeType, `${iconPath}.mimeType`);
735
+ if (icon.sizes !== undefined) {
736
+ if (!Array.isArray(icon.sizes) || icon.sizes.length > 64) {
737
+ throw new McpAppsBridgeError(`Expected at most 64 icon sizes at ${iconPath}.sizes`);
738
+ }
739
+ for (const [sizeIndex, size] of icon.sizes.entries()) {
740
+ expectBoundedString(size, `${iconPath}.sizes[${sizeIndex}]`);
741
+ }
742
+ }
743
+ if (icon.theme !== undefined && icon.theme !== "dark" && icon.theme !== "light") {
744
+ throw new McpAppsBridgeError(`Expected dark or light at ${iconPath}.theme`);
745
+ }
746
+ }
747
+ }
748
+ function validateOptionalMeta(value, path) {
749
+ if (value !== undefined)
750
+ parseBoundedObject(value, path);
751
+ }
659
752
  function expectParamsObject(value, method) {
660
753
  if (value === undefined)
661
754
  throw new McpAppsBridgeError(`Missing params for ${method}`);
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
package/dist/sandbox.js CHANGED
@@ -203,19 +203,96 @@ function injectCsp(html, csp) {
203
203
  if (html.length > MCP_APPS_MAX_HTML_LENGTH) {
204
204
  throw new McpAppsError(`MCP Apps HTML exceeds maximum length of ${MCP_APPS_MAX_HTML_LENGTH}`);
205
205
  }
206
- // Restrict the accepted shape so no executable element can precede the policy.
207
- const start = /^\s*<!doctype\s+html\s*>\s*<html(?:\s[^>]*)?>\s*<head(?:\s[^>]*)?>/iu.exec(html);
208
- if (start === null || start.index !== 0) {
206
+ // Restrict the accepted shape so no executable element can precede the policy. Start tags
207
+ // must be scanned with quote awareness: a regular expression that stops at the first `>` can
208
+ // mistake `<head>` text inside an attribute for the real element and inject an inert CSP value
209
+ // into the still-open `<html>` tag.
210
+ const insertionOffset = findCspInsertionOffset(html);
211
+ if (insertionOffset === undefined) {
209
212
  throw new McpAppsError("MCP Apps HTML must start with an HTML5 doctype, html element, and head element");
210
213
  }
211
214
  const escaped = escapeHtmlAttribute(csp);
212
215
  const meta = `<meta http-equiv="Content-Security-Policy" content="${escaped}">`;
213
- const result = `${html.slice(0, start[0].length)}${meta}${html.slice(start[0].length)}`;
216
+ const result = `${html.slice(0, insertionOffset)}${meta}${html.slice(insertionOffset)}`;
214
217
  if (result.length > MCP_APPS_MAX_HTML_LENGTH + 4_096) {
215
218
  throw new McpAppsError("CSP-injected MCP Apps HTML exceeds its output budget");
216
219
  }
217
220
  return result;
218
221
  }
222
+ function findCspInsertionOffset(html) {
223
+ const doctype = /^\s*<!doctype\s+html\s*>/iu.exec(html);
224
+ if (doctype === null || doctype.index !== 0)
225
+ return undefined;
226
+ let offset = skipAsciiWhitespace(html, doctype[0].length);
227
+ offset = findOpeningTagEnd(html, offset, "html") ?? -1;
228
+ if (offset < 0)
229
+ return undefined;
230
+ offset = skipAsciiWhitespace(html, offset);
231
+ return findOpeningTagEnd(html, offset, "head");
232
+ }
233
+ function skipAsciiWhitespace(value, offset) {
234
+ while (offset < value.length && isAsciiWhitespace(value[offset]))
235
+ offset += 1;
236
+ return offset;
237
+ }
238
+ function findOpeningTagEnd(html, offset, expectedName) {
239
+ const prefix = `<${expectedName}`;
240
+ if (html.slice(offset, offset + prefix.length).toLowerCase() !== prefix)
241
+ return undefined;
242
+ let index = offset + prefix.length;
243
+ if (html[index] === ">")
244
+ return index + 1;
245
+ if (!isAsciiWhitespace(html[index]))
246
+ return undefined;
247
+ while (index < html.length) {
248
+ index = skipAsciiWhitespace(html, index);
249
+ if (html[index] === ">")
250
+ return index + 1;
251
+ if (!isAttributeNameCharacter(html[index]))
252
+ return undefined;
253
+ while (index < html.length && isAttributeNameCharacter(html[index]))
254
+ index += 1;
255
+ const nameEnd = index;
256
+ index = skipAsciiWhitespace(html, index);
257
+ if (html[index] === "=") {
258
+ index = skipAsciiWhitespace(html, index + 1);
259
+ const quote = html[index];
260
+ if (quote === '"' || quote === "'") {
261
+ index += 1;
262
+ while (index < html.length && html[index] !== quote)
263
+ index += 1;
264
+ if (html[index] !== quote)
265
+ return undefined;
266
+ index += 1;
267
+ }
268
+ else {
269
+ const valueStart = index;
270
+ while (index < html.length && html[index] !== ">" && !isAsciiWhitespace(html[index])) {
271
+ if (!isUnquotedAttributeValueCharacter(html[index]))
272
+ return undefined;
273
+ index += 1;
274
+ }
275
+ if (index === valueStart)
276
+ return undefined;
277
+ }
278
+ }
279
+ else {
280
+ index = nameEnd;
281
+ }
282
+ if (html[index] !== ">" && !isAsciiWhitespace(html[index]))
283
+ return undefined;
284
+ }
285
+ return undefined;
286
+ }
287
+ function isAsciiWhitespace(value) {
288
+ return value !== undefined && /[\t\n\f\r ]/u.test(value);
289
+ }
290
+ function isAttributeNameCharacter(value) {
291
+ return value !== undefined && /[A-Za-z0-9_.:-]/u.test(value);
292
+ }
293
+ function isUnquotedAttributeValueCharacter(value) {
294
+ return !['"', "'", "<", "=", "`"].includes(value);
295
+ }
219
296
  function escapeHtmlAttribute(value) {
220
297
  return value.replaceAll("&", "&amp;").replaceAll('"', "&quot;");
221
298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-native/webview",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Policy-gated WebView fallback primitives for MCP Native.",
5
5
  "keywords": [
6
6
  "mcp",
@@ -37,6 +37,6 @@
37
37
  "access": "public"
38
38
  },
39
39
  "dependencies": {
40
- "@mcp-native/core": "^0.5.0"
40
+ "@mcp-native/core": "^0.7.0"
41
41
  }
42
42
  }