The rejection email arrived at about 6:40 pm Brisbane time on 30 September, within minutes of me pressing Submit for review. The reason was “Keyword spam”. The violation reference ID was Yellow Argon.
The extension is part of ManyCP, a tool I’m building that submits MCP servers to directories. The extension fills in each directory’s submit form for you. The line Google objected to was the one telling people which directories it works on.
What does Yellow Argon mean on the Chrome Web Store?
Yellow Argon is the “Violation reference ID” in Google’s rejection email, and the notification ID of the “Keyword stuffing” section on Google’s troubleshooting page. The violation line in my email read “Having excessive and/or irrelevant keywords in the item’s description”. The page says the usual cause is excessive, irrelevant or inappropriate keywords in your listing metadata, most often the description, and its example is a long list of the sites the extension works on.
The spam FAQ puts a number on it. If you list supported websites or brands in the description, don’t list more than five. For a longer list, link to it or put it in a promotional screenshot. The listing requirements also count lists of sites, brands or keywords without real added value as keyword spam, along with repeating one keyword unnaturally more than five times.
I listed eight. The email printed the offending line back at me, so there was no detective work.
Chrome extension rejected for keyword spam: before and after
This was the paragraph in my description:
WORKS ON
mcpservers.org, mcp.so, MCP Market, AIBase MCP, mcp.directory, Glama, Smithery and cursor.directory. There is also a "Fill this page" button that […]
A second paragraph also said “for example Free Queue on MCP Market”. The email didn’t quote that one, but I cut it too. To a person, a list of supported sites is a useful sentence. To the policy, it’s a list of sites.
This is what I resubmitted:
WHERE IT RUNS
Only on the submit pages of the MCP directories in its site access list, which Chrome shows you when you install it. There is also a "Fill this page" button that […]
I didn’t shorten anything. The description was about 2,700 characters before and after.
The names still have a home. The Privacy tab asks you to justify each permission, and my host permissions box says, in part, “The eight other sites are the MCP directories whose submission forms the extension fills”, followed by the list. The names were already in that box when the description bounced, and the email only pointed at the description. So I rewrote the description and left the justification alone. There’s now a line in my listing file so I don’t forget: never name the directories in the description.
The description isn’t part of the zip, so there was no new package. I pasted the new text into the Store listing tab, pressed Submit for review and chose deferred publishing again. That was about 6:46 pm, a few minutes after the rejection. The email also offers an Appeal button (Build, then Status). Resubmitting was quicker, and the listing really was doing what the policy describes.
One loose end. My marquee promo image shows a mock panel with five of the directory names. Google’s metadata rule covers promotional images too, but its spam FAQ suggests a promotional screenshot as the place for a long list of sites, and the email didn’t flag it, so I think it’s fine.
Reviewer notes: the 500-character box and a demo account
The other trap was the test instructions box, which takes 500 characters at most. I couldn’t find that limit in Google’s docs. The test instructions page only says the tab is for credentials and instructions for reviewers, and that it’s only useful if your item needs restricted credentials or a paid account. My first draft ran to about 1,200 characters. The version I submitted was 417 (here with my support address swapped for a placeholder):
1. Sign in at manycp.com/login/reviewer in the same (non-incognito) Chrome window.
2. Click the ManyCP icon > Connect to ManyCP > Connect this browser.
3. Pick the server and press Start run. mcpmarket.com/submit opens and the form fills.
4. Press Skip in the ManyCP box. Please do not press the site's Submit.
The extension never submits, pays or solves captchas. Each sign-in resets the demo. Help: <support email>
The username and password went in their own fields, so the 500 characters only had to hold the steps. Three things in that note took more work than the words suggest.
- Say what not to press. My extension fills forms on other people’s sites. If a reviewer pressed the site’s real Submit, my demo server would land in somebody else’s directory. So the reviewer’s screens say “press Skip” where a normal user sees “press Submit”.
- Give them a login they can type. ManyCP signs you in with GitHub or an emailed link, and wants a real repo. I assumed a reviewer couldn’t always receive email, so I built one demo account with a password sign-in on its own page. It’s off unless configured, it expires (mine on 29 November 2026, 60 days out), and it can’t publish, bill, connect GitHub, change a plan, add or delete a server, or have ManyCP submit anything itself.
- Make the demo reset itself. Every reviewer sign-in puts the listing, the forms and the activity feed back to how I seeded them. A second reviewer, a re-review or the review of my next update all start from the same queue.
I’d built that account the same day, and it was the description that bounced me.
The extensions gallery cannot be scripted
I’d normally let Claude click through a form like this. This time my browser tool got back The extensions gallery cannot be scripted. when I pointed it at the developer dashboard. Chrome doesn’t let an extension script Web Store pages, so I did the dashboard by hand. What made that painless was a file in the repo, extension/store/listing.md, that holds every field in the order the dashboard shows them, ready to paste. When the rejection came, the repair was editing that file and pasting the description back in.
Where it stands
I resubmitted at about 6:46 pm on 30 September with the rewritten description. There was no new package, and I left the justification box alone. It’s since been approved.
If yours is stuck in review, Google says most reviews finish within a few days but can take up to a few weeks, and that if an extension has been pending for more than three weeks you should contact developer support.
If you got the same email, the checklist is short:
- Search your description for any list of sites, brands or regions.
- If you must name sites, name five at most, or link to the list.
- Don’t repeat any one keyword unnaturally. Google’s FAQ says under five is safest, but allows more when it reads naturally (my description says “ManyCP” 11 times).
- Put the real list in the permission justification, where naming the sites is the point.
Store rejections are their own genre. Here’s another, from Google Play: a Capacitor game rejected for an unresponsive UI.