Publish 403s for org namespace despite Owner role + public membership (io.github.<org>/*)
Author: JohnCariCreated Sep 17, 2026Updated Sep 17, 2026
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→ 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:- 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.
- Flipping org membership from Private to Public in GitHub org settings (
- 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 idIv23liUydBbI7Z2Q9bOZ), not a classic OAuth App. - Noted that
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 publish should succeed for io.github.librocat/*, per the documented rules in authentication.mdx.
Environment
mcp-publisherversion: 1.8.1 (commitf52dc852, 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.
Source: modelcontextprotocol/registry