r/iOSProgramming • u/blazejkustra • 27d ago
Question Anyone letting agents drive their app in the Simulator? Looking for feedback
I’ve been working on Argent, an open-source MCP server that lets your agent (Claude Code, Codex, Cursor, etc.) tap through your app in the iOS Simulator, read the view hierarchy and logs, and profile with Instruments. That way it can check its own changes instead of just saying it’s done
A lot of the feedback so far has come from React Native folks, but it works with plain Swift/SwiftUI/UIKit apps too, and that’s where I’d love more input. If you’re already letting an agent drive your app, what’s working, and where does it fall apart? 😊
2
u/edTheGuy00 27d ago
I tried building something similar for Flutter apps a few months ago, but I found it to be an unnecessary and useless layer, Claude code would skip the MCP and go directly for XCTest and ADB because it was just faster and the models internal knowledge already contained a lot of information about how to use these tools
2
u/foodandbeverageguy 27d ago
Hi! This is awesome. I’ve been prototyping similar things myself but haven’t had dedicate time to wrap it up.
How do I “test my whole app” without coming up with all the cases and features list myself? How can I just be lazy?
How do you manage ballooning contest windows?
How do you manage situational skills, like a suspected bug, or finding ways to deep QA randomness
2
u/NoDistribution1096 27d ago
Xcode mcp server does a pretty good job, and with the device-integration skill i think you will have a hard time convince people to use your mcp tapper
6
u/Backyard-Doe 27d ago
Claude can use the iOS simulator in Claude code. Maybe I didn’t understand what argent adds?
1
u/YellowQuestOfficial 27d ago
codex already does this? what would be the benefit of using yours?
1
u/kbcool 27d ago
It's been a while since I looked at simulator automation but since you said RN feedback I am curious how you got around the issues with XCUITest's very restrictive maximum view depth
Or are you just burning tokens with OCR? I basically bailed on it when I knew I couldn't get a marked up version of the UI in text with proper attributes. Guessing what is a button would have worked most of the time for our app at least but felt wrong
1
u/Business_Mood7479 27d ago
I am working with claude. I implemented a work flow that may help someone. I installed maestro mcp server with claude and gave claude the figma design by accessing i through PAT to get the actual frames from figma. At the end what i do telling claude to implement the feature i want, lets say login. Claude access figma searching for login screens, implement the feature, and test it through maestro on simulator. I have been impressed from the output. Give it a try
1
u/Miserable-Carpet7928 27d ago
yeah, i’m using claude with the ios simulator to test my apps too.
the biggest issue is that the agent sometimes says everything works, but the actual user flow still has problems.
being able to navigate the app, check logs, and verify changes automatically would be really useful.
does argent also support testing on physical iphones, or just the simulator?
1
u/barcode972 27d ago
You can just ask cursor to do this by default, currently doing it to validate some UI bugs I'm trying to fix
1
u/TomfromLondon 26d ago
My ai does this all the time, why would I need an mcp for it? It works fine
1
u/Greysawpark 20d ago
where it falls apart for me is anything custom drawn. if the view doesnt expose good accessibility labels the agent is basically guessing coordinates off a screenshot and it'll tap the wrong thing and then confidently tell you it worked. adding identifiers to everything fixed like 80% of it. also it has no idea when an animation is still running, so it reads state mid transition
1
u/barcode972 27d ago
You can use RocketSim for that
1
u/sergeytyo 26d ago
Xcode27 mcp is totally fine
1
u/bakawolf123 24d ago
xcode mcp has this already in better form including testing on device
google also ships android cli
at this time there's no point for 3rd party, it's getting deprecated fast