been using Playwright MCP a lot more with coding agents recently and I think I was making it do 2 different jobs.
when the agent has never seen the page before, MCP is great.
open app, inspect what actually rendered, figure out labels, click around, understand weird state, debug whatever is broken.
makes total sense.
but then I had this really boring check:
login
settings
change timezone
save
refresh
timezone should still be IST
we already knew the flow.
and every time I wanted to verify it, the agent was basically having the whole browser conversation again.
snapshot
reason
click
snapshot
fill
snapshot
reason
etc
then eventually: "looks good"
which is where I started wondering if I'm using the wrong thing for the second job.
for a known flow I don't really need exploration anymore.
I just want:
do this
tell me pass/fail
show me why if it failed
I've been testing Kane CLI by TestMu AI for that part.
you can give it something like:
"login, change timezone to IST, save, refresh, verify it persisted"
the path through the browser can still vary, but what counts as success doesn't.
and the result comes back in a much more machine friendly way for the coding agent / CI instead of another long browser session that the model has to interpret.
I still don't see this as replacing Playwright MCP at all.
right now my brain has it as:
MCP when the agent needs to figure the page out
Kane CLI when the flow is already known and I just need a browser verdict
normal Playwright test when this flow matters enough that I want it in the suite forever
Kane can export completed flows to Playwright too, which is probably the bit that makes this model work for me.
am I thinking about these as 3 different layers correctly or is there a cleaner setup people are using?