# testa [Health: Active]

**Category:** 🖥️ OS Automation  
**Repository:** https://github.com/valewnrt/testa  
**GitHub Stars:** 3  
**npm Downloads (last month):** 264  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/testa

## Description
Drive the iOS Simulator from an agent: read the screen, tap/type/swipe, replay flows in CI.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "testa": {
    "command": "npx",
    "args": ["-y","@valewnrt/testa-mcp"]
  }
}
```

## Documentation

## What testa MCP server does

The testa MCP server lets an AI agent operate an iOS Simulator as part of an end-to-end testing loop. It can inspect visible interface elements, identify text through Apple Vision OCR, send touch and keyboard input, and check whether expected labels, values, or elements are present.

The server is intended for iOS applications built with React Native, Expo, SwiftUI, or native frameworks. Because it can use OCR when the accessibility tree has no matching element, it can interact with visible text in apps that do not expose useful test identifiers. It also supports interfaces such as WebViews and canvas-based screens when visible text can be recognized.

## How it works

A local daemon keeps the simulator connection and accessibility translator warm. The first request may take several seconds while the daemon starts; later operations are reported at roughly 60 milliseconds per call, with marginal snapshot timings documented by the project.

Screen inspection returns compact element descriptions rather than images by default. Actions such as tapping, typing, or swiping return a settled UI diff, allowing an agent to observe only changes after an action. Selectors can refer to an element reference, accessibility identifier, visible label, or coordinates. OCR can be used explicitly or as a fallback for finding, asserting, and waiting.

Sessions can be recorded into plain-text flow files. A recorded flow can then run in CI without a model in the loop, producing JUnit output and failure artifact bundles.

## Setup and configuration

Installation is supported through the project’s Homebrew tap or from source with the included installation script. Running setup installs the skill and registers the MCP server. The documented environment requires macOS, Xcode 26, iOS 26 simulators, and Swift 6.

A typical workflow boots a named simulator, installs an app bundle, launches its bundle identifier, and then observes or controls the app. The local service uses a per-user Unix socket with 0600 permissions. The project states that it makes no network connection and collects no telemetry.

## Tools and capabilities

The testa MCP server covers these simulator operations:

- Read the accessibility tree or visible text through OCR.
- Tap, long-press, type, clear, set field values, swipe, drag, and drag-and-drop.
- Perform pinch, rotate, multi-touch, hardware-button, key, and key-combination input.
- Wait for elements to appear or disappear and assert existence, labels, or values.
- Control simulator conditions including notifications, GPS, biometrics, appearance, Dynamic Type, locale, pasteboard, photos, launch arguments, and launch environment.
- Run accessibility audits and OCR-aware visual comparisons.
- Capture screenshots and record or replay flows.

## Limitations and notes

The testa MCP server is focused on iOS and requires Apple’s simulator tooling on macOS; it is not documented here as an Android or web testing server. OCR is intended for visible text and may not replace accessibility-tree data for every interface.

The project describes the runtime binary as dependency-free and communicates directly with Apple frameworks and tools including CoreSimulator, SimulatorKit, AccessibilityPlatformTranslation, Vision, and simctl.

_Full upstream README: https://allmcps.com/mcp/testa/readme_

