io.github.vibeview/vibeview · version 0.72.0 · 3,878 weekly npm downloads · audited 2026-11-03
Notes
No hidden-instruction or invisible-character findings in any tool, prompt, or resource description.
Checks the directory's published tool requirements that are visible from tools/list. Passing them does not guarantee acceptance.
| Name | Title | Hint | Description |
|---|---|---|---|
ui_tree | read-only | Fetch the ref-annotated UI tree for the current screen. | |
logs | read-only | Read recent app logs from the device — JS console output, native errors, and crash messages from the app under test (not full system logs). Check after a crash, a frozen screen, or an unexpected blank tree, and to confir… | |
screenshot | read-only | Capture a screenshot of the current screen. Use it to check how something LOOKS — the UI tree carries no colour, contrast, or stacking information, so a screen can pass every check the tree can express and still be visib… | |
tap | writes | Tap an element by ref (e.g. @e5), or raw coordinates (e.g. 100,200). | |
long_press | writes | Long-press (touch and hold) an element by its ref. | |
swipe | writes | Perform a scrollbar-semantic swipe gesture in one of four directions. | |
scroll_to | writes | Scroll until an element matching the given text becomes visible. | |
drag | writes | Drag between two points, each an element ref (@e5) or raw coordinates (100,200). | |
alert | writes | Inspect or respond to a visible system alert on iOS or Apple TV (get, accept, or dismiss). `get` returns the message and the button labels. | |
scroll | writes | Scroll the current view up, down, left, or right using a gesture preset. | |
type | writes | Type text into the currently focused input field. | |
clear_text | writes | Clear the text in the currently focused input field. | |
press | writes | Press a device button or perform a system gesture (home, back, d-pad, etc). | |
open_url | writes | Open a deep link in the app under test. The link goes to that app only, never a browser: on Android a link the app has no screen for fails; on iOS only the app's own URL scheme (e.g. myapp://settings) is accepted, and a … | |
relaunch_app | writes | Close the app under test and start it again: a cold start that keeps the app's data, e.g. to check that something persists. Its log keeps streaming across the restart. Not available on embed sessions. | |
set_posture | writes | Fold or unfold a foldable device (form factor `foldable` in list_device_models — the iPhone Duo, Android foldables such as the Pixel 9 Pro Fold): a preset (closed, partial, open) or an exact hinge angle in degrees (angle… | |
rotate | writes | Rotate the device. A phone (and an Android foldable) toggles between portrait and landscape; the iPhone Duo turns a quarter clockwise, or by degrees 180/270. Reports the new orientation. Not available on TV devices. | |
shake | writes | Shake the device once (phones, tablets and foldables) | |
set_location | writes | Set the device's simulated GPS location, for location-based flows. Phones, tablets and foldables (iOS and Android); not available on TV devices. | |
set_language | writes | Restart the app under test in another language — a language tag such as de, fr, ja or pt-BR, or 'default' for the device's language — e.g. to check translations or take localized screenshots. Only the app changes; the de… | |
set_status_bar | writes | Show a clean status bar for screenshots (9:41, full battery, full Wi-Fi and cellular signal) or put the device's own status bar back. It stays until you change it or the session ends. iOS phones and tablets only. | |
wait | read-only | Wait for a specified number of seconds before continuing. | |
find | read-only | Find an element by text with optional spatial constraints (below/above/near). | |
tap_focused | writes | TV: move focus to an element and press SELECT in one step. | |
focus | read-only | TV: move focus to an element without activating it. | |
dev_start | writes | Start a VibeView session held by this MCP server, and use it as the default session for every other tool call until dev_stop. By default it is a React Native dev loop: a debug build that loads its JS from your local Metr… | |
dev_stop | writes | Stop the dev-loop session started by dev_start. | |
dev_reload | writes | Roku only: re-package the channel with the build command from vibeview.json (platforms.roku.build), upload it, and reload it into the session dev_start is holding (or, with no held session, this project's `vibeview dev -… | |
upload_app | writes | Upload an app build (zipped simulator .app for iOS/tvOS, .apk for Android/Android TV, or a Roku channel .zip) and return its app_id for dev_start. The MCP equivalent of `vibeview upload-app`. | |
list_device_models | read-only | List the device models you can start right now (model, OS version, platform, category, form_factor "foldable" for any device with a hinge — the iPhone Duo, Android foldables such as the Pixel 9 Pro Fold — and how many of… | |
list_apps | read-only | List your organization's uploaded apps: app id, name, platform and bundle id / package name. Sample apps (is_sample) are VibeView's examples, never this project's app. Pass an app id to dev_start (app) or list_builds. | |
list_builds | read-only | List an app's uploaded builds, newest first: id, version, build number, platform, kind (debug/release/unknown), upload time, note and retention (keep, expires_on as YYYY-MM-DD, expired; absent on older servers). Pass a d… | |
stop_session | writes | Stop any session by id — e.g. one created through the API, the sandbox, or a collaboration link. For the session dev_start started, dev_stop does the same without an id. | |
create_test | writes | Create a test for an app from plain-language steps, one per line; a check is a step starting with "Verify". Returns the test id for run_test. The first run is driven by AI; once it passes, later runs replay the saved pat… | |
run_test | writes | Run a saved test. With session_id it runs on that session (the device you are driving). Without it, VibeView always starts a new device of the test app's platform, runs the test and stops the device (it does not use a se… | |
run_group | writes | Run every test of a group in order. With session_id it runs on that session; without it, on a new device of the app platform that VibeView starts and stops (it does not use a session you hold from dev_start; pass session… | |
get_run | read-only | A run's status and, when a test failed, which step and why. Pass the run id run_test or run_group returned. | |
send_feedback | writes | Send the VibeView team a bug report, a friction note or a feature idea about VibeView itself. Only for problems with VibeView itself (the CLI, MCP tools, devices, sessions, runs, dashboard, docs) — never for bugs in the … |
npx mcpvetter scan --liveAdd this to a README:
[](https://mcpvetter.com/servers/vibeview)Get the MCPVetter verified badge, a re-audit within 24 hours of every npm release, and an email whenever tools, findings, or Claude directory readiness change. $29 per server per month. You prove ownership first, free.