Skip to content

Publish 403s for org namespace despite Owner role + public membership (io.github.<org>/*) #1649

Description

@JohnCari

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)

  1. mcp-publisher init → generated server.json with "name": "io.github.librocat/librocat"; mcp-publisher validate server.json passes.
  2. mcp-publisher login github (interactive device flow) → succeeds, confirms identity as JohnCari.
  3. 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.
  4. 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.
  5. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions