Skip to main content

Connect to Management MCP

Management MCP is the authenticated ProductAtlas endpoint:

https://productatlas.app/mcp/manage

It is designed so an authenticated client needs only this server. The management collection contains the same three public, read-only tools as the anonymous endpoint:

  • search_blueprints
  • get_blueprint
  • get_blueprint_markdown

It also registers these authorized Publisher Release lifecycle tools:

  • set_release_deprecation
  • clear_release_deprecation
  • withdraw_release

No Draft, asset, submission, publication, or analytics tool is registered yet. Authentication does not expose unpublished content through public catalog tools, and Blueprint content remains untrusted third-party data.

Deployment status

The repository implementation and local tests are not hosted verification. Do not treat the management connection as live until ProductAtlas has verified the public edge routes, BeyondAuth token issuance and refresh, the dedicated audience/resource mapping, and revocation on the deployed environment.

Current Release lifecycle tools

All three Publisher tools mutate lifecycle state, require the selected Publisher's live releases:deprecate permission, and use expectedRevision for optimistic concurrency. They are non-idempotent. withdraw_release is also destructive and permanent for a Publisher; restoration is not a Publisher capability.

set_release_deprecation

Set or replace guidance for one exact immutable Release.

InputTypeRequiredBehavior
publisherIdstringYesExact stable Publisher grant ID selected during authorization.
namespacedIdstringYesCanonical @publisher/slug identity owned by that Publisher.
versionstringYesExact canonical semantic Release version.
expectedRevisionintegerYesCurrent non-negative lifecycle revision.
reasonstringYesBounded plain-text deprecation guidance.
replacementVersionstring or nullNoDifferent active version of the same Blueprint.
replacementBlueprintstring or nullNoDifferent public Blueprint in canonical @publisher/slug form.

clear_release_deprecation

Clear guidance from one exact active immutable Release.

InputTypeRequiredBehavior
publisherIdstringYesExact stable Publisher grant ID selected during authorization.
namespacedIdstringYesCanonical @publisher/slug identity owned by that Publisher.
versionstringYesExact canonical semantic Release version.
expectedRevisionintegerYesCurrent non-negative lifecycle revision.

withdraw_release

Permanently withdraw one exact immutable Release. A Publisher cannot restore it, so confirm the target and reason before invoking the tool.

InputTypeRequiredBehavior
publisherIdstringYesExact stable Publisher grant ID selected during authorization.
namespacedIdstringYesCanonical @publisher/slug identity owned by that Publisher.
versionstringYesExact canonical semantic Release version.
expectedRevisionintegerYesCurrent non-negative lifecycle revision.
reasonstringYesBounded plain-text withdrawal reason.
permanenceConfirmedbooleanYesExplicit acknowledgement that the exact Release cannot be restored by the Publisher.

Stable lifecycle errors

PrefixMeaningRecovery
[invalid_request]A version, revision, reason, replacement, or confirmation is invalid.Correct the exact input; do not guess a new revision.
[not_found]The published Release is absent, unavailable, or not identified canonically.Re-read the Publisher Release and use its exact identity and version.
[forbidden]The account, client, Publisher grant, current role, or live permission does not authorize the action.Review the connection and Publisher selection; do not retry unchanged.
[conflict]Lifecycle state changed, or lifecycle changes are currently restricted.Re-read the Release, review the new state and revision, then ask the human before retrying.

Responses contain a bounded lifecycle projection, including the canonical identity and version, availability, guidance or withdrawal fields, and the new revision. They do not return unpublished content or provider tokens.

Connect and review access

Give a compatible MCP client this setup URL:

https://productatlas.app/mcp/manage

The client discovers ProductAtlas metadata, registers itself, and opens the ProductAtlas authorization flow. Sign in, review the client name, redirect address, requested OAuth scopes, choose your individual publisher or a current organization publisher, then choose one permission preset and approve or cancel. ProductAtlas never asks you to copy a client secret, access token, refresh token, registration token, authorization code, or PKCE verifier.

After connection, use MCP Connections (/settings/mcp) to review connected clients, grants, timestamps, and bounded recent activity. There you can change a permission preset, require client-initiated reauthorization, or revoke a client.

Reauthorization removes the current ProductAtlas grants. Return to the MCP client and start a fresh connection so the client creates new PKCE, state, nonce, resource, and redirect parameters.

OAuth contract

ProductAtlas is the protected resource and permission authority for https://productatlas.app/mcp/manage; BeyondAuth is the actual issuer and token authority.

ContractValue
Protected-resource metadatahttps://productatlas.app/.well-known/oauth-protected-resource/mcp/manage
Authorization-server compatibility metadatahttps://productatlas.app/.well-known/oauth-authorization-server
Dynamic registrationhttps://productatlas.app/.well-known/oauth-register
Authorization proxyhttps://productatlas.app/.well-known/oauth-authorize
Resourcehttps://productatlas.app/mcp/manage
Registration scope stringopenid mcp.manage offline_access
ProductAtlas resource scopemcp.manage
Client authenticationclient_secret_basic
Grantsauthorization code and refresh token
PKCEPKCE S256

Only confidential client_secret_basic dynamic registration is supported. Public token_endpoint_auth_method=none registration is unsupported and rejected. The client_credentials grant is unsupported and rejected.

ProductAtlas currently serves authorization-server metadata that declares the BeyondAuth issuer. This temporary Toggly-compatible RFC 8414 issuer-location mismatch is not standards-complete. ProductAtlas OPS-429 will consume issuer-origin discovery after BeyondAuth OPS-430 publishes the required metadata, resource, audience, registration, and hosted proof.

Publisher permissions

The broad mcp.manage OAuth scope permits use of the protected resource; it does not authorize publisher actions. ProductAtlas checks the enabled client, current account, client/subject ownership, and broad scope for every protected call. Each publisher-action tool additionally checks current publisher authority and the exact live publisher permission. The current release lifecycle tools use that boundary; the three public-catalog tools perform no publisher action.

PermissionMeaning
drafts:readRead private Blueprint Draft state
drafts:writeCreate or change Blueprint Draft state
assets:writeCreate or change publisher assets
submissions:manageValidate and manage review submissions
releases:publishPublish a new immutable Blueprint Release
releases:deprecateDeprecate an immutable Blueprint Release
analytics:readRead publisher-scoped analytics

The View preset grants drafts:read. Author adds drafts:write and assets:write; it includes submissions:manage only when the selected publisher role permits submission. Publisher adds releases:publish, releases:deprecate, and analytics:read and is not offered to organization Contributors.

Organization grants are always intersected with current membership and role. Removing or demoting a member takes effect immediately even if an older client grant still contains a permission. A granted permission never overrides target ownership or other application authorization.

Revocation boundary

Revocation immediately disables the ProductAtlas registration and its publisher grants before ProductAtlas attempts BeyondAuth cleanup. BeyondAuth currently acknowledges client deletion without proving that its persisted grants and user-session references were removed. ProductAtlas therefore treats provider cleanup as unconfirmed and records reconciliation required.

OPS-432 tracks the BeyondAuth cleanup correction and hosted revocation proof. Until it is complete, the ProductAtlas client is locally denied, but documentation must not claim that provider-side sessions were fully revoked.