Overview
Alloy is an AI prototyping tool that lets product managers, designers, and founders build interactive prototypes using their existing product, not a blank canvas. Connect Alloy to Claude to capture, clone, and modify web apps and websites, then iterate with AI cloud agents that run in the background. With the Alloy connector, Claude can: Clone any website or web app — capture live pages with Alloy's website cloner and turn them into editable, high-fidelity prototypes in seconds Prototype on your existing product — import your real UI via browser capture and test new features, flows, and redesigns in context, without engineering time Run cloud agents — delegate multi-step prototyping and editing tasks to Alloy's AI agents and pull results back into your Claude conversation Manage projects and prototypes — create, list, edit, and share Alloy projects directly from Claude Alloy is built for product teams who need to communicate ideas visually: PMs validating concepts before writing a PRD, designers exploring variants of live pages, and founders demoing features that don't exist yet. Unlike generic AI app builders, Alloy works from your existing product's real code and design system, so prototypes look and feel like the real thing.
Tools
browse_mesh_storage
ChatGPTuploads/ prefix. Top-level layout: "" → root (shows devices/); "devices/" → one folder per device (folder name = device_id); "devices/{device_id}/" → pass recursive=True to flatten the per-run subfolders and see every MCAP directly (matches the Mesh Storage page). MCAP files come back with a pipeline_status field reporting ingestion into the data lake: "queued", "processing" (ingesting), "ready" (ingested), "failed" (ingest failed), or absent if unknown.create_dev_device_key
ChatGPTdescribe_mesh_table
ChatGPTget_binary_setup
ChatGPT<YOUR_PROVISIONING_KEY> placeholder. The user pastes their provisioning key (from the dashboard) or downloads the key-embedded yaml directly.get_docker_setup
ChatGPTdocker login and docker pull commands, and (c) a docker-compose.yml rendered with <YOUR_PROVISIONING_KEY> placeholder — the user copies the real provisioning key from the dashboard. Valid distro, architecture, variant, and tag combinations are defined by the current public edge release manifest.get_edge_config
ChatGPTpath=None → full manifest (every config file + content). - path="state.json" (or any path) → that single file's raw content. A full-manifest response contains every configuration file and its content. A single-file response contains the current raw content for path.get_edge_manifest
ChatGPTget_mesh_connection_info
ChatGPTget_mesh_file_download_url
ChatGPTget_mesh_inspect_url
ChatGPTpath, mission_id, or exact metadata_filters. If a mission or metadata locator matches multiple MCAPs, the response returns candidates so the caller can pass a specific path.get_mesh_replay_url
ChatGPTpaths, mission_id, or exact metadata_filters. Mission and metadata locators resolve through mesh.file_meta joined to mesh.files and return .mcap files only.list_devices
ChatGPTlist_mesh_files
ChatGPTpaths: one or more mesh-relative file paths, no uploads/ prefix. - mission_id: exact match on mesh.file_meta key alloy.mission_id. - metadata_filters: exact key/value matches against mesh.file_meta, for example [{"key": "alloy.mission_id", "value": "mission-123"}].list_mesh_tables
ChatGPTname_filter: case-insensitive substring on the table name, e.g. name_filter="battery" returns every *battery* table. - column_filter: case-insensitive substring searched across column AND struct field names in every table. For example, column_filter="heading" returns {schema, table, column, matched_fields} rows like fleet, statecsv__data, data, ["Heading_degrees"]; select matched fields double-quoted (data."Heading_degrees"). name_filter and column_filter can be combined. - limit (default 25, max 1000) + offset page the results; when more tables remain, the response includes next_offset.preview_mesh_table
ChatGPTquery_mesh_storage
ChatGPTalloy.* Iceberg tables and supports read-only SELECT and WITH queries. It is not DuckDB MCAP SQL; forms such as $FILE and read_mcap_* functions are unsupported. Results are bounded by limit and offset, including SQL without a LIMIT clause. Mission, exact file_id, and time-range predicates can reduce fleet scans before aggregates, sorts, list expansion, or payload retrieval. A natural alloy.mesh.file_meta join on file_id can dynamically prune fleet files. Supported top-level and primitive struct-leaf predicates can prune files when metrics exist. Struct containers, list or map descendants, and pointer payloads cannot prune files. The result limit bounds output, not scan or blocking-operator work. List indexes are 1-based. Bracket access after a list-of-struct index has the form data.points[1]['x']. Full list expansion has the form CROSS JOIN UNNEST(t.data.items) AS u(item). Correlated expansion is inner, accepts one list expression, and requires an alias. Null and empty lists produce no rows. Correlated JOIN UNNEST ... ON, outer expansion, WITH ORDINALITY, multi-argument correlated UNNEST, and arbitrary correlated LATERAL subqueries are unsupported. Ordinary table joins remain supported. Supported large binary leaves such as data.data or data.image.data may be pointer-backed. Project the exact leaf after selective inline filters; SELECT * or the parent struct does not request nested payload hydration. Pointer-backed payload contents are not filterable. Engine validation, syntax, unsupported-form, and scan-budget failures are returned in error. Transport and Arrow-stream failures can be transient or can represent a late query/data error after streaming begins. A selective query can be retried once after a transport or stream failure; repeated failures require a narrower or simpler query.reject_device
ChatGPTsearch_docs
ChatGPTupdate_edge_config
ChatGPTpath. The edge client picks up changes on its next sync, normally within 60 seconds, and restarts the recorder atomically. For state.json, omitted process entries are removed from the running process list.getAgentSession
ClaudegetAgentSessionChatMessages
ClaudegetAgentSessionFileContent
ClaudegetAgentSessionFiles
ClaudegetAgentSessions
ClaudeCapabilities
Example Prompts
Click any prompt to copy it.






