Skip to content
Agentmart
Submit a tool

Tapp

Test iOS, Android, and web apps with agent exploration, replayable flows, and CI gates.

Connector by aarwitz · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 2
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/aarwitz-tapp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Test iOS, Android, and web apps with agent exploration, replayable flows, and CI gates.

Use cases: testing, ci-cd

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
5 read · 4 write · 0 delete · 6 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 15

Read from the source code; the running server may list different tools.

Read 5 · Look things up without changing anything.

  • tapp_doctor
  • tapp_explore
  • tapp_look
  • tapp_plan
  • tapp_validate

Write 4 · Create, change, send or run things.

  • tapp_build
  • tapp_ci
  • tapp_feedback
  • tapp_run

Not yet classified 6 · We could not tell from the name and description.

  • tapp_act
  • tapp_init
  • tapp_map
  • tapp_open_app
  • tapp_report
  • tapp_session

Tools (15)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • tapp_act
  • tapp_buildiOS simulator: build, install, boot

    action `build` (default): build the iOS app under projectDir for the simulator (auto-detects container and scheme) and install it, returning the bundle id — use before tapp_explore/tapp_look when the app is not installed; `install`: build a given project/workspace + scheme and install it; `simulators`: list available simulators; `boot`: boot one by udid or name.

  • tapp_ciThe merge gate in CI: preview, install, baseline

    Set up the deterministic release gate from the application model. action `inspect` (default) renders the target-aware GitHub workflow and CI manifest without writing; `install` writes both with collision protection; `baseline` imports a successful conclusive gate report as the target's baseline. The gate itself runs with `npx -y @aarwitz/tapp@latest ci`. No network, commits, or AI.

  • tapp_doctorCheck Tapp readiness

    Check the workspace and toolchain: Xcode, simulators, adb, Playwright, and what each platform can run right now.

  • tapp_exploreExplore the real app (observe — never a verdict)

    Autonomously explore an iOS app (appBundleId), Android app (androidAppId) or web app (url) like a tester — taps, types, navigates — and return findings, coverage and evidence. It OBSERVES: no score, no ship verdict; the deterministic gate (`npx -y @aarwitz/tapp@latest ci`) judges. Runs for minutes; for one screen use tapp_look, for a journey use tapp_session. readOnly:true turns it into the read-only audit (renders and reads, never clicks, crawls `pages` same-origin pages) — the only mode safe against production or a site you do not own. goal:"…" locates a named screen/control from source + th…

  • tapp_feedbackSend feedback to the tapp maintainers

    Draft a public GitHub issue on aarwitz/tapp about tapp itself — a bug in tapp, an idea, or a question (not a finding about the app under test). Adds the tapp version, platform availability and the latest capture id, and redacts home paths and tokens. Default is a DRAFT with a prefilled github.com URL; pass submit:true only after the user agreed to file a public issue (uses this machine's gh).

  • tapp_initInspect a repository: application model + release plan

    Deterministically inspect repository targets, reviewed Tasks/contracts, actors, capabilities and the persistent UI Map, and return the application model plus a compact grounded release-contract plan. `inspect` is read-only; `write` creates .tapp artifacts without overwriting; `refresh` updates source evidence; `explore` builds/starts a detected target, runs the real-surface exploration, merges its UI Map, then refreshes the plan. Keyless; no AI unless remote AI was explicitly enabled.

  • tapp_lookSee one screen

    The fast way (seconds) to SEE the app: with appBundleId/androidAppId it launches the installed app fresh and returns a screenshot plus the accessibility tree of the screen it lands on; with no target it photographs whatever is on the booted simulator right now (tree:true returns the accessibility tree instead). No exploration, no findings. Use appLaunchArgs/appLaunchEnv for a login bypass or backend override. For a screen reached by signing in or several taps, use tapp_session. Pass `capture` (an id, a path, or "latest") to read a finished run instead of a live app: its screens with the moment…

  • tapp_mapThe UI Map: read, build, or diff

    Tapp's platform-neutral UI Map: observed screen states, semantic controls, transitions, provenance and Task/contract coverage. action `read` returns one (repo .tapp/ui-map.json or a capture's); `build` merges a map from OCQA evidence; `diff` reports additions and absences, calling absence a lost state only when comparableFullSweep is true. No AI.

  • tapp_open_app
  • tapp_planThe release-plan lifecycle

    One tool for the reviewed release plan in .tapp/release-plan.json. action: `read` (default) · `review` (approve/reject/defer items — decision metadata only) · `generate` (grounded Task/contract DRAFTS under .tapp/proposals; untrusted, no AI) · `validate` (replay drafts on a real target) · `promote` (move fully validated drafts into reviewed artifacts) · `pr` (deterministic PR coverage plan from changedFiles) · `adopt` (append one observed PR coverage proposal) · `actor_read` / `actor_set` (named test actors; env-var NAMES only, never credential values). Nothing is trusted until real determinis…

  • tapp_reportEvidence: recent runs, or one run's summary

    Without captureId: list recent capture runs for THIS project (other projects' captures are counted but hidden unless allProjects). With captureId: that run's summary metadata. Cite only the capture a command just returned as evidence. With journeys:true: the journeys you own and how each one's last check went — this repository's committed Flows, or, with `studio` + `token` (or $TAPP_STUDIO/$TAPP_TOKEN), the ones on your hosted Studio. That is how to answer "is everything still working?".

  • tapp_runReplay a Flow, Task, contract, or Scenario

    Replay a committed deterministic test exactly, the same way every time — keyless, no model. Pass ONE of: flowPath or an inline `flow` ({name, app|url, steps:[{tap:X},{type:{field,value}},{wait_for:S},{assert_screen:S},{assert_exists:X},…]}), taskPath (.tapp/tasks/*.yml, compiled then replayed), contractPath (.tapp/contracts/*.contract.ts), or scenarioPath / inline `scenario` (multi-actor, web). A failed assertion fails the run and is reported like a finding. $TEST_EMAIL/$TEST_PASSWORD come from testEmail/testPassword or a configured `actor`. Use tapp_explore to find bugs; use this to prove a f…

  • tapp_sessionDrive the app step by step (persistent session)

    A persistent interactive session: the app launches once and stays up for a tap → inspect loop. action `start` launches an installed iOS/Android app, an owned web URL, or the workspace's managed web target (pass `focus` to reach a named screen first); then one action per call: `login` (email+password or `actor` — fills, submits and verifies in one call; prefer it over manual typing), `tap` (id/label or x/y), `type` (text, optional id — replaces the field), `swipe`, `back`, `wait` (for id/text), `tree` (re-inspect; full:true for every raw element), `screenshot`; `save_flow` writes the recorded s…

  • tapp_validateCheck a Flow, Task, contract, or Scenario without launching

    Deterministically validate a committed artifact — pass ONE of flowPath/flow, taskPath, contractPath, scenarioPath/scenario. Tasks and contracts can be grounded against the UI Map (mapPath; updateMap:true records their coverage). compile:true returns the expanded keyless Flow a Task or contract executes as (Tasks only need a `platform`). Nothing is launched and no model is used.

Signals

Stars
2
Forks
0
Open issues
0
Weekly downloads
2,051
Last commit
Oct 23, 2026 (6 days ago)
Last release
Oct 25, 2026 (4 days ago)
Last package publish
Oct 23, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.aarwitz/tapp
Version
0.32.0
Auth
No auth
Packages
npm @aarwitz/tapp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 26, 2026
Cite this page

Tapp MCP server. Agent Mart. https://agentmart.dev/connectors/aarwitz-tapp (last updated 2026-10-26)