Ermöglicht es AI Agents, mit dem iOS Simulator zu interagieren, indem sie den Bildschirm lesen, Touch-Gesten ausführen und Test-Flows in der CI abspielen.
Auch bekannt als valewnrt/testa, @valewnrt/testa-mcp
- Stars
- 3
- Tools
- —
- Downloads, 30 Tage
- —
- Neueste Version
- 0.2.2
- Letzter Commit
- 8. Okt. 2026
- Lizenz
- MIT
Was ist Testa MCP?
Testa ist ein MCP server. Ermöglicht es AI Agents, mit dem iOS Simulator zu interagieren, indem sie den Bildschirm lesen, Touch-Gesten ausführen und Test-Flows in der CI abspielen.
Zusammenfassung generiert aus dem README des Projekts
Über Testa MCP server
Testa gibt AI Agents die Möglichkeit, direkt mit dem iOS Simulator auf macOS zu interagieren. Es fungiert als MCP server, der Clients wie Claude Code, Cursor oder Codex die Fähigkeit verleiht, mobile Interfaces zu sehen und zu manipulieren. Das Tool arbeitet, indem es den Accessibility Tree liest und Apple Vision OCR nutzt, um Bildschirme zu interpretieren. Dadurch kann es mit React Native, Expo oder SwiftUI Anwendungen arbeiten, ohne dass Code-Änderungen oder spezifische Test-Identifikatoren nötig sind.
Nutzer installieren den Server via Homebrew auf einem Mac mit Xcode. Einmal konfiguriert, kann ein Agent komplexe Aufgaben wie Tapping, Tippen, Swipen oder das Rotieren des Geräts ausführen. Das System ist auf Effizienz hinsichtlich des LLM-Token-Budgets optimiert, indem Bildschirme als kompakter Text statt als schwere Bilder dargestellt werden. Entwickler können zudem Agent-Aktionen in Flow-Dateien aufzeichnen, um sie in CI-Umgebungen mittels einer GitHub Action abzuspielen. Dies liefert JUnit-Output und Failure-Artifacts, ohne dass während der Ausführung ein Live-Modell benötigt wird.
Was du damit machen kannst
- 1Automatisierte UI-TestsFordere einen Agent auf, eine Anwendung zu starten und einen spezifischen User-Registration-Flow abzuschließen.
- 2Testen ohne Code-ModifikationenÜberprüfe das App-Verhalten auf Bildschirmen, die keine vordefinierten Test-Identifikatoren besitzen.
- 3Continuous Integration ReplayFühre zuvor aufgezeichnete Agent-Interaktionen in einer CI-Pipeline aus, um die Stabilität sicherzustellen.
- 4Simulation komplexer GestenInstruiere eine KI, Multi-Touch-Interaktionen wie Pinching oder das Ziehen von Elementen durchzuführen.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
So installierst du Testa MCP
Formate geprüft am 10. Nov. 2026Zu Cursor hinzufügenZu Goose hinzufügenTesta MCP in Claude Code installieren
$ claude mcp add testa -- npx -y @valewnrt/testa-mcpTesta MCP in Cursor installieren
~/.cursor/mcp.json
{
"mcpServers": {
"testa": {
"command": "npx",
"args": [
"-y",
"@valewnrt/testa-mcp"
]
}
}
}Testa MCP in VS Code installieren
.vscode/mcp.json
{
"servers": {
"testa": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@valewnrt/testa-mcp"
]
}
}
}Testa MCP in VS Code CLI installieren
$ code --add-mcp '{"name":"testa","type":"stdio","command":"npx","args":["-y","@valewnrt/testa-mcp"]}'Testa MCP in Claude Desktop installieren
claude_desktop_config.json
{
"mcpServers": {
"testa": {
"command": "npx",
"args": [
"-y",
"@valewnrt/testa-mcp"
]
}
}
}Testa MCP in Codex installieren
$ codex mcp add testa -- npx -y @valewnrt/testa-mcpTesta MCP in Codex config.toml installieren
~/.codex/config.toml
[mcp_servers.testa] command = "npx" args = ["-y", "@valewnrt/testa-mcp"]
Testa MCP in Gemini CLI installieren
$ gemini mcp add -s user testa npx -- -y @valewnrt/testa-mcpTesta MCP in Gemini settings.json installieren
~/.gemini/settings.json
{
"mcpServers": {
"testa": {
"command": "npx",
"args": [
"-y",
"@valewnrt/testa-mcp"
]
}
}
}Konfiguration
TESTA_MCP_FULLSet to 1 to expose all 40 tools instead of the 13-tool token-lean default.
TESTA_UDIDTarget a specific simulator UDID instead of the booted one.
| Name | Beschreibung | Typ |
|---|---|---|
| TESTA_MCP_FULL | Set to 1 to expose all 40 tools instead of the 13-tool token-lean default. | |
| TESTA_UDID | Target a specific simulator UDID instead of the booted one. |
Automatisierte Checks
Geluften am 14. Nov. 2026Vollständiger Bericht →Unsere automatisierten Checks bestanden. Das ist kein Security-Audit: Lies den Code und gib dem Server nur den minimal notwendigen Zugriff. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbarvalewnrt/testa is public and reachablegithub.com/valewnrt/testa ↗Bestanden
- Paket nennt dieses Repository als Quelle@valewnrt/testa-mcp names valewnrt/testa as sourcenpmjs.com/package/@valewnrt/testa-mcp ↗Bestanden
- Build-Provenienz (Sigstore-Attestierung)No build attestation published for this releaseNicht geprüft
- Open Source Lizenz (OSI)MITspdx.org/licenses/MIT.html ↗Bestanden
- Commit oder Release im letzten JahrLast commit or release 2026-10-08github.com/valewnrt/testa ↗Bestanden
- OpenSSF ScorecardNicht geprüft
- Package-Name ähnelt keinem populären PackageNo popular package one edit away from @valewnrt/testa-mcpBestanden
- Keine kritischen Advisories im Paket oder seinen Abhängigkeiten1 resolved dependencies checked; no critical advisoryosv.dev ↗Bestanden
- Keine versteckten Anweisungen an das Modell0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersBestanden
- Destruktive Tools sind markiertNicht geprüft
- Remote-Endpoint beantwortet den MCP-HandshakeNicht geprüft
README
Auf GitHub ansehenTesta
Let your AI agent test your iOS app.
Testa gives Claude Code, Codex, Cursor or any MCP client eyes and hands in the
iOS Simulator. It reads the screen as compact text, taps, types and swipes with
real touch events, and checks the result. It works with React Native, Expo and
SwiftUI apps, and you don't have to add a single testID. When the agent is
done, save the run as a flow file and replay it in CI without a model.
Install
Requires macOS with Xcode 26 (iOS 26 simulators).
brew tap valewnrt/testa
brew install testa
testa setup # installs the Claude Code skill and registers the MCP server
Or build from source: git clone https://github.com/valewnrt/testa && cd testa && ./install.sh.
Connect your agent
testa setup already configures Claude Code. For other agents:
codex mcp add testa -- testa mcp # Codex
{ "mcpServers": { "testa": { "command": "testa", "args": ["mcp"] } } }
The JSON goes into Cursor's .cursor/mcp.json or any other MCP client config.
Then ask your agent something like "Launch the app in the simulator, sign up
with a test account and check that the welcome screen appears."
More in docs/agents.md.
Try it yourself
Testa is a plain CLI, so you can drive it by hand too:
$ testa boot "iPhone 17 Pro"
$ testa install ./MyApp.app && testa launch com.example.myapp
$ testa ui
19 elements (on screen)
e2 StaticText "ready" #status @201,89
e5 Button "Tap me" #tapButton @102,171
e18 TextField #textInput =type here @201,601
…
$ testa tap "Tap me"
tapped e5 Button Tap me
-- ui changes --
~ e2 StaticText "tap:1" #status @201,89
~ e6 StaticText "count: 1" #tapCount @41,208
$ testa assert "#status" label=tap:1
PASS label tap:1
The first command starts a background daemon (a few seconds, once). After that, each command takes about 60 ms.
What makes it different
- No app changes needed. Testa reads the accessibility tree and falls back to on-device OCR (Apple Vision) for anything that isn't in it: system sheets, canvas-drawn screens, games, WebViews. More →
- Built for token budgets. A screen is one line per element, about 200 tokens instead of about 1,500 for a screenshot, and every action replies with only what changed. Benchmark →
- Record once, replay in CI.
testa flow recordturns what the agent did into a plain-text flow file.testa flow runreplays it with JUnit output and failure artifacts, and there's a GitHub Action. More → - Real gestures and device control. Tap, long-press, swipe, drag-and-drop, pinch, rotate, multi-touch and hardware buttons, plus push notifications, location, Face ID, dark mode, Dynamic Type and more.
- One local binary, no dependencies. Testa talks to Apple's simulator frameworks directly: no Node, no Python, no WebDriver server. No network, no telemetry. How it works →
Status
Testa is pre-1.0 and is used against real production apps. It relies on private Apple frameworks, so a new Xcode can break it; a weekly job runs the suite against Xcode betas so breakage shows up early. Verified on Xcode 26.4 with iOS 26.4 simulators. iOS Simulator only: no real devices, no Android (why).
Documentation
- Commands: selectors, the observe → act → verify loop, full reference
- Using Testa from an AI agent: MCP setup, tools, token cost
- Testing apps without testIDs
- Flows & CI: flow files, recording, GitHub Action
- How it works · Security model
- How Testa compares to Maestro, Appium, idb and Argent
- Troubleshooting & limitations
Contributing
Bug reports, Xcode-compatibility reports and pull requests are welcome. Start with CONTRIBUTING.md; questions and ideas go to Discussions. Changes are listed in the CHANGELOG.
Acknowledgements
Testa's HID and accessibility work was informed by studying Meta's idb (MIT); no idb code is linked or bundled. Thanks to everyone who has contributed.
License
Testa MCP Fragen
Wie füge ich Testa MCP zu Claude Code hinzu?
Führe claude mcp add testa -- npx -y @valewnrt/testa-mcp in deinem Terminal aus. Füge --scope user hinzu, damit der Server in jedem Projekt verfügbar ist.
Wie füge ich Testa MCP zu Cursor hinzu?
Öffne ~/.cursor/mcp.json und füge den Server unter mcpServers hinzu, mit der Cursor-Config aus dem Installationsabschnitt oben.
Welche Apps kann Testa testen?
Es funktioniert mit React Native, Expo und SwiftUI Apps, ohne dass zusätzliche testID-Erweiterungen erforderlich sind.
Benötigt Testa Änderungen an meinem Anwendungscode?
Nein, es liest den Accessibility Tree und nutzt On-Device OCR für Elemente, die nicht im Tree gefunden werden, wie zum Beispiel System-Sheets oder Spiele.
Kann ich diese Tests in einer CI-Umgebung ausführen?
Ja, du kannst die Session eines Agents als Flow-Datei aufzeichnen und sie in der CI mithilfe einer GitHub Action abspielen.
Unterstützt es echte Android-Geräte?
Nein, Testa ist auf den iOS Simulator beschränkt und unterstützt keine echten Geräte oder Android.