Inspiration

While building ListingPilot, I realized that writing product descriptions is only part of the problem. Online stores often get product information from different suppliers and sources. Sometimes information is missing, and sometimes two sources give different specifications. If AI uses the wrong information, it can create a very good-looking product listing that is simply not true. That is what inspired the idea behind ListingPilot: AI should move fast, but merchants should remain in control. For the WebMCP Challenge, I wanted to see how an AI agent could help a merchant find and improve weak listings while still having clear limits on what it is allowed to do.

What it does

ListingPilot lets an AI agent work with a product catalog through WebMCP. For this challenge, I created a safe demo catalog with 500 synthetic products. The agent can:

  1. Search the catalog and find products that need improvement.
  2. Inspect the Product Truth behind a product.
  3. See which facts are verified, conflicting, or missing.
  4. Prepare a better title and description using only verified information.
  5. Stop and wait for the merchant before anything can be approved. In the demo, the agent finds an Orion VX65 TV with a catalog health score of 61/100. It confirms facts such as the model, 65-inch screen size, 4K UHD resolution, and native 120 Hz refresh rate. But it also finds conflicting information about the number of HDMI ports and missing warranty information. Instead of guessing, ListingPilot leaves those facts out. That is the main idea behind the project: AI speed. Verified truth. Human control.

How we built it

The challenge edition of ListingPilot is built with Next.js and TypeScript and deployed on Vercel. I connected it to WebMCP through four tools:

  • search_products — search the product catalog
  • inspect_product — inspect Product Truth and product health
  • prepare_listing_improvement — prepare a safer listing
  • publish_approved_changes — publish only after human approval One decision was especially important to me: approval is not a WebMCP tool. The AI agent can do the repetitive work and prepare a proposal, but it cannot approve its own proposal. That decision stays with the merchant. The challenge version uses synthetic product data, so judges can test the workflow without needing a Shopify account or accessing real merchant information.

Challenges we ran into

The biggest challenge was deciding how much control to give the AI agent. I wanted the agent to be genuinely useful, not just give suggestions. But ecommerce changes can affect real customers, so I also didn't want an agent to freely publish information without a human decision. That is why I separated preparation from approval. Another challenge was conflicting product information. If one source says a TV has one number of HDMI ports and another source says something different, the easiest solution would be to choose one. ListingPilot doesn't do that. It marks the information as conflicting and keeps it out of the proposed listing. I also spent a lot of time testing the WebMCP tool lifecycle and how the tools behave inside ChatGPT's browser.

Accomplishments that we're proud of

I'm most proud that ListingPilot does more than give an AI agent access to an ecommerce page. The agent can actually understand something useful about the catalog. In the demo, it starts with 500 products, finds the listing that needs the most attention, checks the Product Truth, understands which facts it can trust, and prepares a safer listing. And it still cannot make the final decision for the merchant. For me, that balance is the most important part of ListingPilot: Verified facts are used. Conflicting facts are excluded. Missing facts are not invented. Approval stays human.

What we learned

Building this challenge changed how I think about AI agents. Before working with WebMCP, it was easy to think about AI mainly as something that generates content. But an agent becomes much more useful when an application gives it specific tools and reliable information to work with. I also learned that giving an agent more power is not always better. Sometimes the better design is to let AI handle the repetitive work while keeping an important decision with the person using the product. And for ecommerce, I learned something that has become central to ListingPilot: Good writing based on bad product data is still a bad listing.

What's next for ListingPilot

This challenge version uses synthetic data and focuses on one clear workflow. My bigger goal for ListingPilot is to bring the same idea to real ecommerce catalogs: better product intelligence, merchant-specific listing rules, SEO, structured product data, bulk operations, and safe Shopify publishing. I want ListingPilot to help merchants use AI across large catalogs without having to choose between automation and control.

Built With

Share this project:

Updates

Submission history