How to submit an MCP server to LobeHub MCP Marketplace

By Jonah EasePublished Last checked

LobeHub's marketplace has no submit page. You publish with its command-line tool, @lobehub/market-cli, which needs Node 22 or newer and asks you to sign in twice in a browser[1]. The part that takes thought is the manifest file, because after the first publish it is the source of truth for the listing.

Two sign-ins, once per machine

  1. login opens a browser for LobeHub's own sign-in and stores a token on your machine. It waits for you for up to 5 minutes[1].
  2. github connect opens a second browser step that links the GitHub account which can push to your repository. Publishing, claiming and updating all need it[1].

On a machine with no browser, login listens on a local port between 51234 and 51243, so forward that port over SSH or run the command on your laptop[1]. Both steps are safe to repeat. You click through them yourself, and the guide tells tools acting for you not to automate them.

lhm.plugin.json: three required fields

Only identifier, name and version are required. The identifier is lowercase letters, digits, hyphens and underscores, and has to match the listing on every later update[1]. Everything else is optional but is what a visitor reads:

lhm.plugin.json, a small version
{
  "identifier": "your-org-your-server",
  "name": "Your Server",
  "version": "1.0.0",
  "description": "What an agent can do with it, in one sentence",
  "homepage": "https://github.com/your-org/your-server",
  "cloudEndpoint": "https://your-server.example.com/mcp"
}

You do not have to type the tools in. plugin init connects to your server, over stdio with --stdio or to a running HTTP endpoint with --url, reads its tools, resources and prompts, and drafts the file. The guide says to read it before publishing[1][2].

Publish, then read the status

The route, in order
npx -y @lobehub/market-cli login
npx -y @lobehub/market-cli github connect

# draft the manifest from the running server, then read it before you publish
npx -y @lobehub/market-cli plugin init --url https://your-server.example.com/mcp --dir .

npx -y @lobehub/market-cli plugin publish https://github.com/your-org/your-server --dir .
npx -y @lobehub/market-cli plugin list --output json
  • You may publish only a repository you own or can push to, and an account is limited to 10 publish attempts an hour[1].
  • The reply carries the identifier and a status of processing while LobeHub reads the repository[1]. plugin list shows the listing once it is yours.

A listing the crawler already made

If the marketplace found your repository first, publishing converges with that listing. You can also take it with plugin claim <identifier>, which matches your connected GitHub username against the listing's GitHub homepage[1]. Listings you have not claimed do not appear in plugin list.

The next release

Raise version in the manifest and run plugin update --dir .. A new version starts from the last one with your fields applied, the same version merges in place, and a version you update is marked validated so the "Unvalidated" badge goes[2]. Leaving out cloudEndpoint keeps what the crawler found[2].

Errors the CLI prints, and three that are open

You seeWhat it means
Not logged in, or Session expiredRun login again.
You don't own plugin "x"Run plugin claim x, then retry.
GitHub user … does not have push accessConnect an account that can push to the repository.
Too many repository submissionsThe 10-an-hour limit. Wait about an hour.
lhm.plugin.json not foundPass --dir with the folder that holds it.

The table is from the publisher guide[1], read .

Three problems on the tracker

  • A repository owned by an organization. A user reported that claiming and submitting both refuse it, because the connected username differs from the organization that owns the repository. The issue was open when I looked, filed [4].
  • A listing that stays not_validated after a successful publish, with no reason shown. Open, filed [5].
  • A grade pinned to F. One report says the score counts the README as a required item and that enrichment never filled it in for that listing. Open, filed [6].

There is no form, so it is all by hand

The commands above are the whole route. npm lists the CLI at version 0.0.41 as of , still below 1.0, so flags may move[3]. Check --help against what you read here.

Current status,

The publisher guide is live and describes the sign-ins, the manifest and the 10-an-hour limit above[1]. The three issues listed were still open, so check the tracker before assuming a fix[4].

Sources

  1. LobeHub Market: the MCP publisher guide · checked
  2. LobeHub Market: the lhm.plugin.json reference · checked
  3. npm: @lobehub/market-cli · checked
  4. LobeHub issue 17416: CLI cannot claim or submit organization repositories · checked
  5. LobeHub issue 19785: listing remains not_validated after a successful publish · checked
  6. LobeHub issue 19836: enrichment never fills the README or licence, pinning the grade to F · 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 writes every answer and opens the right page. You send it yourself. It runs on your machine, with your own sign-ins.

ManyCP prepares

  • lhm.plugin.json, built from your listing and tools
  • The exact commands with your repo URL
  • LobeHub's own prompt for Claude Code or Cursor

You do

  • Run login and github connect (they open your browser)
  • Run publish

More directories