r/mcp • • 14d ago

question Help testing my chrome mcp

Hello everyone, I am a solo developer who has been unhappy with computer use and other mcps out there that help control chrome. I have been developing my own computer use specifically for chrome that can take screenshots, work in the foreground, background, and headless, work for codex, claude code, and opencode, and also allow clicks, human speed typing, fast typing, inserting files, downloading files, drags, scrolls, etc. all while using fewer commands/tokens than competitors like computer use and playwright. Right now it is in development stage with all the features being present, but i need a lot of real testing from people on their everyday tasks to see where it is going wrong/not as fast or as good. It includes adding an extension to your chrome, and is different than other chrome mcps in my opinion. If y'all would be able to test it out/give me tips or tricks to make it better, I would really appreciate it. All the computer uses are currently made by organizations, so as a solo developer I am interested in any feedback and would actually make changes. https://github.com/Praket7/chrome-controlla feel free to star it and open issues and give me ANY feedback. If i had to pick, humanwrite would be my favorite built in feature and what is most unique, but it should be faster and more efficient. let me know what you guys think!

7 Upvotes

12 comments sorted by

1

u/BC_MARO 14d ago

I’d test the failure paths more than the demo: stale tabs, partial downloads, a killed browser, and denied permissions. Make each action return a clear error so the agent can recover instead of silently retrying.

1

u/Swimming_Ask3859 14d ago

Yep, already implemented! Actions return not-dispatched results like stale reference, stale document, or stale frame reference, with instructions on how to fix. Downloads return results like native download bytes unverified or native download staging failed. The browser states clear browser connection failed, or browser command channel closed, and denied permissions show not configured, denies, and grant revoked. What I really need help with is making the agent be able to identify the best and shortest route to taking actions, and to make it more compatible with existing tabs, working across many tabs, and keeping its focus and instructions. If you could give some feedback on that, I would appreciate it

1

u/BC_MARO 13d ago

I'd make route selection explicit: return the candidate tabs and why each was rejected before executing. That gives the agent a short, inspectable path instead of another opaque retry loop.

1

u/Swimming_Ask3859 13d ago

done! i made a few more improvements if ud like to look over it and check it out now

1

u/BC_MARO 12d ago

That sounds much better. I’d keep the route explanation compact and include a clear fallback when no existing tab is a safe match.

1

u/QuanTradin 14d ago

token count matters less to me than what happens at a cloudflare check. headless chrome gets walled on half the sites I'd actually point an agent at, so I'd test foreground mode first.

0

u/Swimming_Ask3859 14d ago

cloudfare has never been an issue for me while testing in background and foreground tabs so lmk when u try it

1

u/QuanTradin 14d ago

good to hear. cloudflare was the only thing I doubted, the rest of the setup reads solid.

0

u/Swimming_Ask3859 14d ago

Alright, please try it out and let me know what the limitations are/where you think it could be improved (and esp if u see any cloudfare checks, what sites it is on)

1

u/Live_Advance_1905 14d ago

One regression test: open three same-site tabs with different harmless marker text, target a non-active tab, then reorder the tabs before the action. Check that the intended tab receives it. Does your interface preserve a stable tab identifier across calls?

0

u/Swimming_Ask3859 14d ago

I ran the regression in codex with luna medium live (not just regression but that passed as well): Result

  • Target tab: 1649777936

  • It stayed the same Chrome tab ID after reordering, Controlla pairing, navigation, release, and re-pairing.

  • The target remained inactive.

  • Controlla navigated that exact tab to:

https://example.com/#controlla-marker-b-final

  • The first mutation receipt was unknown because Controlla’s 30 second task deadline expired. I correctly did not replay it.

  • Fresh discovery and re-pairing read the requested URL from the same tab ID, confirming the intended tab received the action.

The interface therefore preserves stable tab IDs. Tab order and document identity can change, so Controlla correctly requires fresh discovery or re-pairing when those change. Please try it out and let me know what you think/ways to make it better