Summary
mcp-publisher publish returns 403 for an organization namespace (io.github.librocat/librocat) even though both documented prerequisites in docs/modelcontextprotocol-io/authentication.mdx are met: I am the sole Owner of the librocat GitHub org (not just a member), and org membership visibility is Public (confirmed independently via the unauthenticated GitHub API: GET /orgs/librocat/public_members/JohnCari → 204).
Error
Error: publish failed: server returned status 403: {"title":"Forbidden","status":403,"detail":"You do not have permission to publish this server. You have permission to publish: io.github.JohnCari/*. Attempting to publish: io.github.librocat/librocat. If you're trying to publish to a GitHub organization, you may need to make your organization membership public in your GitHub settings: ..."}
What I checked/tried (5 attempts across 2 browser sessions)
mcp-publisher init → generated server.json with "name": "io.github.librocat/librocat"; mcp-publisher validate server.json passes.
mcp-publisher login github (interactive device flow) → succeeds, confirms identity as JohnCari.
mcp-publisher publish → 403 as above. Repeated with a fresh login each time (5 times total), including after:
- Flipping org membership from Private to Public in GitHub org settings (
github.com/orgs/librocat/people), verified via the public API as above.
- A several-minute wait for possible propagation delay.
- A full browser restart, to rule out stale cookies/session cache client-side.
- Ruled out the org's classic OAuth App access-restriction policy (
Third-party access → OAuth app policy) — that governs classic OAuth Apps, and the registry's login uses a GitHub App (MCP Registry Login (Prod), client id Iv23liUydBbI7Z2Q9bOZ), not a classic OAuth App.
- Noted that
MCP Registry Login (Prod) is not installed on the librocat org (only personally authorized via the device flow) — github.com/organizations/librocat/settings/installations shows only an unrelated app (Vercel) installed. authentication.mdx doesn't document org installation as a requirement for the interactive login path (only for CI-style Personal Access Tokens needing read:org / fine-grained Members: Read-only), so I didn't want to grant broader org access speculatively without knowing it's actually needed — flagging this as a possible missing requirement/doc gap if it turns out to be the real cause.
Expected
Given I'm the org's sole Owner with public membership, mcp-publisher publish should succeed for io.github.librocat/*, per the documented rules in authentication.mdx.
Environment
mcp-publisher version: 1.8.1 (commit f52dc852, built 2026-08-06)
- Auth method: GitHub (interactive device flow)
- Target namespace:
io.github.librocat/librocat
- Personal namespace that does work:
io.github.JohnCari/*
Happy to provide more detail (org id, timestamps of attempts, etc.) if useful.
Summary
mcp-publisher publishreturns 403 for an organization namespace (io.github.librocat/librocat) even though both documented prerequisites indocs/modelcontextprotocol-io/authentication.mdxare met: I am the sole Owner of thelibrocatGitHub org (not just a member), and org membership visibility is Public (confirmed independently via the unauthenticated GitHub API:GET /orgs/librocat/public_members/JohnCari→204).Error
What I checked/tried (5 attempts across 2 browser sessions)
mcp-publisher init→ generatedserver.jsonwith"name": "io.github.librocat/librocat";mcp-publisher validate server.jsonpasses.mcp-publisher login github(interactive device flow) → succeeds, confirms identity asJohnCari.mcp-publisher publish→ 403 as above. Repeated with a fresh login each time (5 times total), including after:github.com/orgs/librocat/people), verified via the public API as above.Third-party access→OAuth app policy) — that governs classic OAuth Apps, and the registry's login uses a GitHub App (MCP Registry Login (Prod), client idIv23liUydBbI7Z2Q9bOZ), not a classic OAuth App.MCP Registry Login (Prod)is not installed on thelibrocatorg (only personally authorized via the device flow) —github.com/organizations/librocat/settings/installationsshows only an unrelated app (Vercel) installed.authentication.mdxdoesn't document org installation as a requirement for the interactive login path (only for CI-style Personal Access Tokens needingread:org/ fine-grainedMembers: Read-only), so I didn't want to grant broader org access speculatively without knowing it's actually needed — flagging this as a possible missing requirement/doc gap if it turns out to be the real cause.Expected
Given I'm the org's sole Owner with public membership,
mcp-publisher publishshould succeed forio.github.librocat/*, per the documented rules inauthentication.mdx.Environment
mcp-publisherversion: 1.8.1 (commitf52dc852, built 2026-08-06)io.github.librocat/librocatio.github.JohnCari/*Happy to provide more detail (org id, timestamps of attempts, etc.) if useful.