Skip to content

[External Plugin]: mobile-canvas #2552

Description

@Redth

Plugin name

mobile-canvas

Short description

View, create, boot, and interact with local iOS simulators and Android emulators from a GitHub Copilot canvas. The plugin also exposes the same device controls to agents through MCP.

GitHub repository

Redth/mobile-canvas-ghcp

Plugin path inside the repository

No response

Ref to review

No response

Commit SHA to review

c930769d41f07852baeeb407ded76d5ba83c06d2

Version

0.1.6

License identifier

MIT

Author name

Jonathan Dick

Author URL

https://github.com/Redth

Homepage URL

https://github.com/Redth/mobile-canvas-ghcp

Keywords

canvas
mobile
ios
android
simulator
emulator
device-control
mcp

Additional notes for reviewers

Mobile Canvas combines a JavaScript canvas extension with an MCP server backed by a Native AOT .NET executable. The repository includes gzip-compressed, platform-specific executables under runtimes/ because Copilot plugin installs copy files without running a package restore or build. On first use, the shared resolver verifies every extracted file against SHA-256 values in runtimes/manifest.json and writes it to a content-addressed per-user cache.

The host binds only to 127.0.0.1, canvas sessions exchange a single-use bootstrap secret for an authenticated session cookie, and device data is not uploaded. The build, packaging, checksum, code-signing, and permission model is documented at https://github.com/Redth/mobile-canvas-ghcp/blob/c930769d41f07852baeeb407ded76d5ba83c06d2/docs/distribution.md.

iOS support requires macOS, Xcode Simulator runtimes, idb_companion, and user-granted Screen Recording/Accessibility permissions. Android support requires the Android SDK. Windows and Linux use screenshot polling where the macOS-only hardware video helper is unavailable.

The candidate commit passed the repository CI and Awesome Copilot's external-plugin quality gates, including Vally lint, canvas structure validation, version matching, and an isolated Copilot plugin install smoke test.

Submission checklist

  • The plugin lives in a public GitHub repository.
  • The ref and/or sha I provided is immutable (release tag and/or full 40-character commit SHA), not a branch.
  • This submission follows this repository's contribution, security, and responsible AI policies.
  • This plugin is not already listed in the Awesome Copilot marketplace.

Metadata

Metadata

Assignees

No one assigned

    Labels

    external-pluginPublic external plugin submissionexternal-plugin-canvasExternal plugin submission includes a canvas extensionneeds-review:HIGHContributor reputation check flagged HIGH riskready-for-reviewSubmission passed intake validation and is ready for maintainer review

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions