Inspiration
I run LaunchLoop (launchloop.xyz). We run developer programs like hackathons and accelerators that help companies get builders using their technology, mostly in gaming and AI. We also perform transformations for our clients, getting them ai-ready. And when we have some extra time, we build/incubate our own products, one of them is Methora.io, which is about getting AI-assisted work all the way to done instead of just started.
So a WebMCP hackathon was right up our alley. I browsed the public directories of WebMCP-enabled sites to see what people were connecting. What I found was that most sites had tools for searching, pricing, signing up and checking out (the start of the funnel). But very few had tools for cancelling, returning, or closing an account. I couldn't find anyone measuring that, so I built something that does.
I don't think WebMCP really works until an agent can do everything a human can on a site. And you can't fix what you can't measure, so hopefully Full Loop helps WebMCP take the next step!
What it does
Full Loop takes a website's WebMCP tools and sorts them into eight stages of a customer relationship: Discover, Evaluate, Commit, Use, Modify, Reverse, Exit, Support. It shows which stages the site covers and gives it a score. If an agent can commit on a user's behalf (buy, book, sign up) but has no tool to cancel, return or leave, the site is flagged as an open loop.
I ran it over the 475 sites in the public webmcp.com directory, about 2,989 tools in total. 148 sites let an agent commit. 144 of those give it no way to undo. No site in the directory has an exit tool.
The page also registers eight WebMCP tools of its own, so you can do the audit through an agent in ChatGPT's browser instead of clicking:
audit_siteandaudit_tool_listrun the audit and render it on the pagefind_sites_by_stage,compare_sitesandget_corpus_statsanswer questions about the directory (for example "which travel sites let you cancel a booking?", which currently returns nothing)draft_missing_toolswritesregisterToolstubs for the missing stages into an editor on the pageset_stub_codelets the agent rewrite a stub in that editor while you edit it tooadd_review_notelets the agent leave a short note on a stage card
Tool calls are logged on the page so you can see what the agent did.
How we built it
It's a static site: HTML, CSS and plain JavaScript, hosted on GitHub Pages. There's no backend and no AI API. The classification is a set of regular expressions run over tool names and descriptions, checked in a fixed order (Exit and Reverse first, so cancel_order doesn't get caught by the generic order rule). The scoring weights each stage. Stub templates are picked by stage and site category.
The tools are registered with document.modelContext.registerTool, with a fallback to navigator.modelContext. Each has a JSON Schema inputSchema and an execute function that updates the DOM and returns JSON in content[0].text. The directory data is a snapshot fetched by a small Node script and committed to the repo, so the site doesn't depend on webmcp.com being up.
I tested it in ChatGPT's in-app browser with Codex on GPT-5.6 Sol.
Challenges we ran into
Word boundaries in regex don't work on snake_case. \bpolicies\b never matched search_shop_policies_and_faqs, so the tool fell through to matching on its description, which mentions "return policy", and it got filed under Reverse. That made a lot of Shopify stores look like they had closed loops when they didn't. Splitting names into words before matching fixed it, and the open-loop rate went from 77% to 97%.
Deciding what counts as Reverse also took some thought. Shopify's cancel_cart undoes a cart, not an order, so I put it under Use. The number would have looked better the other way, but it would have been wrong.
Accomplishments that we're proud of
The 97% figure is reproducible from public data, and as far as I can tell nobody had computed it before. The site works the same whether or not an agent is present. And it has no dependencies, no keys and no server, so there's nothing to break during judging.
What we learned
With WebMCP the page doesn't need its own model. The agent in the browser supplies the reasoning and the page supplies data and functions. Once I understood that, I stopped trying to add an AI API and the project got simpler.
Also, the WebMCP ecosystem right now is mostly acquisition tooling. Sites are giving agents the ability to start things that the same agent can't finish.
What's next for Full Loop
Full customer flow mapping with green/red lights for which parts are active on WebMCP. I'd also love the audits to be live, and connect to an orchestrator. That way someone can see what is possible with all of the WebMCP sites, while also having a good idea about what is not possible. Also, any site going live on WebMCP should have the full customer journey, so I hope Full Loop becomes integral in ensuring that everyone is setting up WebMCP... THE RIGHT WAY! And I want to bring the lifecycle idea back into Methora, where a job shouldn't count as complete unless it can also be reversed, validated, insured or exited.
Built With
- codex
- css
- devin
- github
- html
- javascript
- pages
- webmcp
Log in or sign up for Devpost to join the conversation.