modelcontextprotocol / modelcontextprotocol/ext-apps

Finalize permissions

Open
#320 0 comments 2 reactions 1 assignee View on GitHub

@idosal is already working on this.

Since Jan 21, 2026.

enhancement
Dominant language
TypeScript
Stars
2.9k
Forks
387
Avg merge
3h 21m
Merged PRs (30d)
6

Description

Only a handful are covered so far (cf. https://github.com/modelcontextprotocol/ext-apps/pull/158 )

We may want to add more of what's in the iframe.{sandbox,allow} and Permissions-Policy combos / overlaps

temptative exhaustive overlap matrix (probably don't want most of these but here for completeness
FeaturePermissions-Policyallowsandbox
Scripts & Execution
JavaScript executionallow-scripts
WASM executionallow-scripts
document.domaindocument-domaindocument-domain
Origin & Storage
Same-origin accessallow-same-origin
Storage Access APIstorage-accessstorage-accessallow-storage-access-by-user-activation
Navigation
Top navigationallow-top-navigation
Top nav (user gesture)allow-top-navigation-by-user-activation
Custom protocolsallow-top-navigation-to-custom-protocols
Popupsallow-popups
Popups escape sandboxallow-popups-to-escape-sandbox
Forms & Modals
Form submissionallow-forms
alert/confirm/promptallow-modals
print()allow-modals
Camera & Mic
Cameracameracamera
Microphonemicrophonemicrophone
Speaker selectionspeaker-selectionspeaker-selection
Screen & Display
Fullscreenfullscreenfullscreen(no token) ⚠️
Display capturedisplay-capturedisplay-capture
Picture-in-Picturepicture-in-picturepicture-in-picture
Window managementwindow-managementwindow-management
Orientation & Pointer
Pointer lockpointer-lockpointer-lockallow-pointer-lock
Screen orientationscreen-orientationscreen-orientationallow-orientation-lock
Location & Sensors
Geolocationgeolocationgeolocation
Accelerometeraccelerometeraccelerometer
Gyroscopegyroscopegyroscope
Magnetometermagnetometermagnetometer
Ambient lightambient-light-sensorambient-light-sensor
Compute pressurecompute-pressurecompute-pressure
Hardware Access
USBusbusb
Serialserialserial
Bluetoothbluetoothbluetooth
HID (gamepads, etc.)hidhid
Gamepadgamepadgamepad
MIDImidimidi
Clipboard
Clipboard readclipboard-readclipboard-read
Clipboard writeclipboard-writeclipboard-write
Payment & Credentials
Payment Requestpaymentpayment
WebAuthn createpublickey-credentials-createpublickey-credentials-create
WebAuthn getpublickey-credentials-getpublickey-credentials-get
Identity credentialsidentity-credentials-getidentity-credentials-get
OTP credentialsotp-credentialsotp-credentials
Media
Autoplayautoplayautoplay
Encrypted media (DRM)encrypted-mediaencrypted-media
Downloads
Downloadsdownloadsdownloadsallow-downloads
Presentation
Presentation APIpresentationpresentationallow-presentation
Other APIs
Web Shareweb-shareweb-share
Idle detectionidle-detectionidle-detection
Local fontslocal-fontslocal-fonts
Screen wake lockscreen-wake-lockscreen-wake-lock
WebXRxr-spatial-trackingxr-spatial-tracking
Privacy/Tracking
Attribution reportingattribution-reportingattribution-reporting
Browsing topicsbrowsing-topicsbrowsing-topics
Cross-origin isolatedcross-origin-isolatedcross-origin-isolated

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.