# How to submit an MCP server to LobeHub MCP Marketplace

By [Jonah Ease](https://manycp.com/about) Published 1 Oct 2026 Last checked 1 Oct 2026

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 see | What it means |
| --- | --- |
| Not logged in, or Session expired | Run `login` again. |
| You don't own plugin "x" | Run `plugin claim x`, then retry. |
| GitHub user … does not have push access | Connect an account that can push to the repository. |
| Too many repository submissions | The 10-an-hour limit. Wait about an hour. |
| lhm.plugin.json not found | Pass `--dir` with the folder that holds it. |

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

### 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 21 July 2026 [4].
- **A listing that stays not_validated** after a successful publish, with no reason shown. Open, filed 21 Sept 2026 [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 22 Sept 2026 [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 1 Oct 2026, still below 1.0, so flags may move[3]. Check `--help` against what you read here.

## Current status, 1 Oct 2026

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](https://github.com/lobehub/lobehub/issues) before assuming a fix[4].

## Sources

1. [LobeHub Market: the MCP publisher guide](https://market.lobehub.com/s/publish-mcp) · checked 1 Oct 2026
2. [LobeHub Market: the lhm.plugin.json reference](https://market.lobehub.com/s/publish-mcp/references/manifest) · checked 1 Oct 2026
3. [npm: @lobehub/market-cli](https://www.npmjs.com/package/@lobehub/market-cli) · checked 1 Oct 2026
4. [LobeHub issue 17416: CLI cannot claim or submit organization repositories](https://github.com/lobehub/lobehub/issues/17416) · checked 1 Oct 2026
5. [LobeHub issue 19785: listing remains not_validated after a successful publish](https://github.com/lobehub/lobehub/issues/19785) · checked 1 Oct 2026
6. [LobeHub issue 19836: enrichment never fills the README or licence, pinning the grade to F](https://github.com/lobehub/lobehub/issues/19836) · checked 1 Oct 2026

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.

---

Source: [ManyCP](https://manycp.com/directories/lobehub)
