# io.github.ccustomai/custom-ai-view

See any site as it looks on a real iPhone, iPad or MacBook — and drive that window over MCP.

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the content rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 1.14.0
- **Author:** io.github.ccustomai
- **License:** Unknown
- **Source:** https://github.com/ccustomai/custom-ai-view

## Trust

60/100 (B), scored on the content rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: clean
- Obfuscation scan: clean
- Evidence age: 7 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-28T06:48:33.948Z
- **Version scanned:** HEAD
- **CVEs:** no coverage — this entry has no package coordinates to query OSV against, so "no known CVEs" is NOT asserted for it.

## Tools

35 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `custom_ai_view_state` — What the Custom AI View browser is showing right now: current URL, device, viewport size,
- `custom_ai_view_devices` — List every device in the catalogue with its viewport size, pixel ratio and safe areas.
- `custom_ai_view_open` — Open a URL in the Custom AI View browser, optionally switching device and orientation.
- `custom_ai_view_screenshot` — Take a screenshot and return the image, so you can see the page exactly as it renders on the
- `custom_ai_view_inspect` — Read one element on the previewed page: its markup, computed styles, box, and position in the
- `custom_ai_view_find` — Search the previewed page for elements, by CSS selector or by the text they show.
- `custom_ai_view_tree` — Read the element tree of the previewed page, one level at a time. Omit path for the
- `custom_ai_view_edit` — Change an element in the previewed page, live. Set CSS properties, replace text or
- `custom_ai_view_collect` — Save everything about what is on screen right now into one dated folder for this
- `custom_ai_view_record` — Screen-record the device. "start" begins and runs for as long as you like — frames
- `custom_ai_view_library` — Where captures are filed, and which sites already have material. Pass a path to
- `custom_ai_view_edits` — The live edits being replayed into this site on every load. Edits are kept per
- `custom_ai_view_revert` — Drop this site's live edits and reload, putting the page back exactly as the site
- `custom_ai_view_click` — Tap an element in the previewed page, as a finger would.
- `custom_ai_view_type` — Type into a field in the previewed page, firing the events a framework expects.
- `custom_ai_view_back` — Go back one page, or forward. Prefer this to re-opening a URL after a wrong tap:
- `custom_ai_view_windows` — List the open device windows: id, device, orientation, page title and address.
- `custom_ai_view_new_window` — Open another device window, so two devices can be compared side by side without
- `custom_ai_view_close_window` — Close one device window. Use it to tidy up after a comparison — windows opened by an
- `custom_ai_view_storage` — Read or change the previewed site's localStorage or sessionStorage. Use it to see
- `custom_ai_view_network` — What the page asked the network for: method, address, status, size and how long each
- `custom_ai_view_emulate` — Put the page in conditions other than this machine's. Dark mode, reduced motion,
- `custom_ai_view_snapshot` — An outline of what is on the screen: the links, buttons, fields, headings and
- `custom_ai_view_audit` — Judge the page against the physical device rather than against the DOM. Reports tap
- `custom_ai_view_hover` — Move the pointer onto an element without clicking. A menu that opens on hover,
- `custom_ai_view_drag` — Press on an element, move by an offset, and release — which on a phone is a swipe.
- `custom_ai_view_upload` — Give a file to a file input on the page. Every upload flow — an avatar, a document,
- `custom_ai_view_evaluate` — Run a JavaScript expression inside the previewed page and get its value back.
- `custom_ai_view_key` — Press a key on the previewed page: Enter to submit a form, Escape to close a modal,
- `custom_ai_view_scroll` — Scroll the previewed page, or a scrollable element inside it. Positive dy scrolls down.
- `custom_ai_view_record_clip` — Record the device frame for a fixed number of milliseconds and write an animated GIF.
- `custom_ai_view_console` — Recent console output and uncaught errors from the previewed page.
- `custom_ai_view_set_device` — Switch the device or orientation without changing the page.
- `custom_ai_view_reload` — Reload the page. Modes: normal, hard (bypass cache), purge (also wipe storage and cookies).
- `custom_ai_view_wait` — Wait until the page is ready before looking at it. Without this the only way to find out

## Install

This entry has no npm package and no hosted endpoint, so there is nothing for an MCP client to launch or connect to. It is indexed as source only.

## Blast radius

Moderate to extensive — no credential declaration found, from the publisher, the upstream registry, or the README. Known so far: mutates data; 2 privileged tools.
- Floor 21, ceiling 57 (tier: unknown)
- `unknown` means the floor and ceiling land in different bands — not measured enough to name one. It does not mean low.
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/io.github.ccustomai%2Fcustom-ai-view
- Install plan: https://forgeregistry.com/api/v1/packages/io.github.ccustomai%2Fcustom-ai-view/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/io.github.ccustomai%2Fcustom-ai-view
- HTML page: https://forgeregistry.com/registry/io.github.ccustomai%2Fcustom-ai-view
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
