list_apps
Apps this server can open, with what each one does. Optional query filters by name, description or category (e.g. 'shop', 'douala').
query
io.github.shipvo由 GitHub 账号 shipvo 发布v0.0.6更新于 Nov 1, 2026
Open a React Native app in a simulated phone: read the screen, tap, type, set device state.
让助手在模拟手机中操作 React Native 应用:读取屏幕、点击、输入、滚动,并设置设备状态。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.shipvo%2Fshipvo/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"shipvo": {
"type": "http",
"url": "https://sim.shipvo.dev/mcp",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}Lets AI agents (Claude, Cursor, Claude Code, PiPilot…) use a Shipvo app without a phone: open it, read the screen as an accessibility tree, tap, type, scroll, go back, take screenshots, and read what the app sent to its backend. Plus the owner API: change content, prices and offers, and publish to every phone.
Start the simulator first (shipvo sim in the app). The hosted version needs no local setup: { "url": "https://<host>/mcp/<key>" }.
Tools: list_apps, open_app, screen, tap, type, scroll, back, screenshot, set_device, push_notification, notifications, open_notification, device_log, end_session, owner_describe, owner_command.
Native features work with no phone: the simulated device (see @shipvo/device) shows permission dialogs, the camera, the fingerprint prompt, payment prompts, notification banners and the share sheet as real dialogs in the tree; set_device decides what the phone has (location, a barcode in view, whether the fingerprint matches, whether a payment is approved, network off).
The simulator shows only what a phone would: a horizontal rail lists the visible items, so agents swipe it (scroll right with the rail's ref) exactly as on a device. Measured against a real Android emulator and iPhone simulator, see docs/parity-results.md.
Run the server where the simulator runs and put it behind HTTPS (a Cloudflare Tunnel is enough):
Clients connect with a URL instead of a command:
Each client connection gets its own MCP session; each open_app gets its own phone. Requests without a valid key are refused. The hosted version at sim.shipvo.dev will issue keys per account with scopes (test, owner, read).
来源:packages/mcp/README.md,提交 04866d2
Apps this server can open, with what each one does. Optional query filters by name, description or category (e.g. 'shop', 'douala').
queryOpen an app in a fresh phone-sized session and return its first screen.
app必填darksessionseed_cartOpen simulator sessions (phones) on this server: id, app, release and when each started. Use to resume after a reconnect.
无需输入参数。
The current screen as an accessibility tree with refs.
session必填Tap a button, link or choice by ref. Returns the new screen.
ref必填session必填Type into a text field by ref (replaces its content). Returns the new screen.
ref必填text必填entersession必填Scroll the page (down/up) or a horizontal rail (right/left, give the rail's ref). Returns the new screen.
refsession必填direction必填Go back one screen.
session必填A PNG of the phone screen (for checking layout, colours, images). The tree from `screen` is usually enough to act.
session必填Change what the simulated phone has: location, a barcode in front of the camera, permission states, whether the fingerprint will match, whether a payment will be approved, network on/off. Takes effect for the next action.
cameraonlinepaymentsession必填locationbiometricspermissionsDeliver a push notification to the simulated phone; it appears as a banner the agent can tap.
body必填datatitle必填session必填The notification shade: notifications delivered to the simulated phone in this session (their banners vanish after 5 s, like a heads-up on a real phone).
session必填Tap a notification from the shade (newest if no id is given): the app handles it exactly as if its banner was tapped.
idsession必填What the app did with the device in this session: permission prompts and answers, location reads, scans, fingerprint checks, payments, notifications, shares.
session必填Put the simulated phone back to a known state (permissions undetermined, default location, nothing in front of the camera, log cleared), optionally with a new profile.
apisession必填platformClose the session and get a report: steps taken, and the orders the app sent to its backend during the session.
session必填List the owner commands of an app (content, prices, offers, orders, publish). Needs PN_OWNER_TOKEN.
app必填Run an owner command against the live app (changes are audited; `publish` makes them live on every phone within seconds).
app必填argscommand必填已满足适用检查项的 100%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
{ "mcpServers": { "shipvo": { "command": "npx", "args": ["-y", "@shipvo/mcp"], "env": { "PN_SIM": "http://localhost:4545", "PN_OWNER_TOKEN": "…optional…" } } } }PN_API_KEYS="key-for-claude,key-for-pipilot" shipvo-mcp --http 8787{ "mcpServers": { "shipvo": { "url": "https://sim.shipvo.dev/mcp", "headers": { "Authorization": "Bearer key-for-claude" } } } }