Publish Claude Artifact HTML as a Screenly Edge App - #306
Closed
salmanfarisvp wants to merge 15 commits into
Closed
Conversation
Add tool annotations, an MCPB bundle manifest, release packaging for desktop platforms, and route logger output to stderr so the MCP stdio JSON-RPC stream stays clean.
Fork pull_request runs do not receive repository secrets, so SCREENLY_API_TOKEN is empty and `screen list` fails auth. The job also uses screenly/cli@master, so it never exercises the PR's own code.
The listing text claimed api.screenly.io and no third-party telemetry; production uses api.screenlyapp.com and the CLI always initializes Sentry.
Prefer Settings → Extensions over GitHub sideloads, and guide macOS Gatekeeper blocks via Privacy & Security → Open Anyway instead of xattr.
Mark asset_create as open-world, treat updates as destructive, and mark link/share tools idempotent so hints match MCP spec meaning.
Keeps the duplicated 33-tool name/description catalog from drifting between mcpb/manifest.json and the #[tool] handlers.
Windows bundles ship screenly.exe; bake matching entry_point/command into each single-platform manifest instead of relying on a stale override.
The >=0.10.0 bound had no Screenly-specific source and could silently block installs; keep platform compatibility only.
Use the workspace screenlyapp.com Settings → Security → API tokens path in both places so install docs no longer conflict.
Gives Claude Desktop and the marketplace listing a proper brand mark; the release pack step and local build docs now include icon.png.
Pin @anthropic-ai/mcpb to 2.1.2 for reproducible releases, and publish screenly-macos-arm64/x64 and screenly-windows-x64 aliases alongside the rustc-target filenames.
Claude can now create an app from HTML and reuse the app id to deploy updates as new revisions, with screenly.js and theme CSS variables injected for the player.
Claude is more likely to call edge_app_publish_from_html for Artifact HTML instead of asset_create.
tempfile was only a dev-dependency, so cargo build failed; also match existing MCP format-string style.
Member
Author
|
Closing this in favor of a stacked PR. GitHub will not accept Stacked review (Edge App HTML publish only, based on #304): After #304 merges, this work can be reopened against |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
edge_app_publish_from_htmlso Claude can turn Artifact / webpage HTML into a Screenly Edge App (wrapsscreenly.jsplus theme CSS variables compatible with@screenly/edge-appssetupTheme()).app_idcreates the app; passingapp_iddeploys a new revision the same way asscreenly edge-app deploy.Test plan
cargo test --bin screenly mcp::app_idandrevision.app_idand the revision increments.src/mcp/server.rstool names and descriptions.