How to submit an MCP server to Gemini CLI Extensions

By Jonah EasePublished Last checked
Gemini CLI's extension gallery has no submit page, no pull request and no review queue to join. The docs say the gallery indexes public extensions on its own and that you do not need to submit an issue or send an email[1]. A crawler finds repositories by a GitHub topic and reads a manifest, and that is the whole route. So the work is making sure the crawler can see you.
The three things the crawler needs
- A public GitHub repository.
- The topic
gemini-cli-extensionon the repository's About section. The crawler uses it to find new extensions[1]. gemini-extension.jsonat the absolute root of the repository or of the release archive[1].
The docs add that tagged repositories are crawled daily and that an extension appears "if it passes validation"[1]. They do not list what validation checks, so I will not guess.
What the manifest has to say
{
"name": "weather-tools",
"version": "1.0.0",
"description": "Forecasts and alerts for any city",
"mcpServers": {
"weather": {
"command": "node",
"args": ["${extensionPath}/dist/server.js"],
"cwd": "${extensionPath}"
}
}
}nameis lowercase letters, digits and dashes, with no underscores or spaces. It is how users refer to the extension, and the docs expect it to match the extension's directory name[2].descriptionis the line shown on the gallery page[2]. Write it for a stranger.mcpServersmaps a name to a server config, loaded at startup like entries insettings.json. Refer to your own files with${extensionPath}, and keep the executable incommandand its arguments inargs[2].- Anything a user must supply, such as an API key, goes in a
settingsarray with anenvVarand asensitiveflag, so the install asks for it[2].
Install it the way a user will
gemini extensions install <your-repo-url> clones the repository, and --ref picks a branch, tag or commit. If you ship GitHub Releases instead, the CLI looks for the release marked Latest, and the archive must keep the manifest at its root[1][2]. While you work, gemini extensions link . points the CLI at your folder so you can test without reinstalling[2].
When the extension is not in the gallery
Check the topic first
In May 2026 someone reported that two extensions had vanished from the gallery. A maintainer found that both repositories had lost the gemini-cli-extension topic, said the crawler relies on it, and asked them to add it back; after the next crawl, usually a day, the extensions showed again[3]. The issue was filed on and closed on .
Then the manifest
A manifest in a subfolder, a name that does not match its folder, or a command and its arguments joined in one string are the other things the docs warn about[1][2]. Fix them, wait for the next daily crawl, and look again.
The route, by hand
Add the manifest, push it, then on the repository's page you click the gear beside About, add the topic and press Save changes. There is no Submit button anywhere in this directory's route, so nothing else is yours to press.
Current status,
GitHub's search found 1,008 public repositories carrying the topic on this date[4]. The release docs still describe daily crawling and no submission step[1]. The gallery's old browse address redirected to geminicli.com/extensions when I opened it.
Sources
- Gemini CLI docs: Release extensions · checked
- Gemini CLI docs: Extension reference · checked
- Gemini CLI issue 26346: some extensions not showing up any more · checked
- GitHub: repositories with the gemini-cli-extension topic · checked
ManyCP is not affiliated with, endorsed by or sponsored by any directory, Docker, OpenAI, Anthropic or GitHub named here. Names are used to say which service a fact is about.
Or skip all of that
Or let ManyCP fill it in for you
ManyCP fills in every field and links straight to the steps. You click send. On Pro, ManyCP files it by hand for you.