RVAP

Azure API Center registry discovery

Optional implementation module

Show approved MCP servers to developer clients.

Control objective

Configure Microsoft Entra-protected Azure API Center MCP registry discovery for approved
Production-lifecycle MCP servers.

The check must return every approved name and zero unexpected names.

Azure API Center

Why it matters

Problem. Developer clients need a discovery view that includes approved MCP servers and
excludes draft, retired, and unreviewed records.

Solution. Limit the visible registry to approved Production records and require Microsoft
Entra sign-in.

Where the module fits

Work Owner
API Center and MCP inventory Register the MCP server and its inventory metadata
MCP tool security control Set runtime authorization, tool boundaries, and telemetry
Optional module Publish the approved discovery view to developer clients

Control boundary

In scope: registry endpoint, Microsoft Entra access, Data API visibility, client handoff, and
the live allowlist check.

MCP server owners govern server credentials, tool authorization, per-user visibility, and the
separate API Center MCP server at /mcp.

Architecture overview

  1. The MCP server passes the runtime security decision.
  2. Its API Center lifecycle moves to Production.
  3. Data API visibility selects MCP + Production.
  4. A Microsoft Entra-authenticated client reads the registry.
  5. The operational check compares all returned names with the ownership record.

Registry discovery boundary

An Entra-authenticated developer client discovers Production-stage MCP records through API Center, while runtime authorization remains separate.

Use the documented registry path

https://<api-center-name>.data.<region>.azure-apicenter.ms/workspaces/default/v0.1/servers

Use the data-plane hostname, default workspace, and v0.1 API version.

Use only the documented API Center data-plane endpoint.

Authentication and roles

  • Access method: Microsoft Entra ID
  • Developer role: Azure API Center Data Reader
  • Assignment scope: the exact API Center resource
  • Delegated data-plane scope: https://azure-apicenter.net/Data.Read.All
  • Anonymous access: disabled

Visibility tradeoffs

Choice Route used here Limit
Approval signal Lifecycle stage = Production Lifecycle must be governed as a release gate
Asset filter API type = MCP Conditions are global, not per user
Client settings Client-neutral settings file Each client needs a current adapter
Restore Portal-led prior-state restore No documented management API is assumed

Retained artifacts

Client settings

  • registry endpoint;
  • Microsoft Entra references;
  • supported client handoffs; and
  • approved server names.

Ownership record

  • global visibility conditions;
  • owner roles and review date; and
  • restore reference.

Implement the module

  1. Complete both artifacts and run preflight.
  2. Move approved MCP versions to Production.
  3. Confirm Microsoft Entra access and Azure API Center Data Reader.
  4. Configure and preview Data API visibility.
  5. Map the registry endpoint into the supported client.
  6. Run the live allowlist check.

Safety gates

  • Stop on the portal hostname, /mcp, or an undocumented registry path.
  • Stop if anonymous access is enabled.
  • Stop if the visibility preview contains an unapproved MCP server.
  • Stop if a client adds another registry without an owner decision.
  • Stop if any token or server credential would enter source control.

Expected result

PASS: Registry discovery returned <count> approved server name(s),
zero unapproved server names, across <pages> page(s).

The developer client can discover the approved record. Runtime authorization still decides whether
the client can connect to the MCP server and call a tool.

Operating state and restore

Owner Responsibility
API Center configuration owner Visibility and registry metadata
MCP server owner Lifecycle and review date
Client configuration owner Current client adapter
Runtime and security owners MCP access and tool controls

Restore the prior portal visibility setting and remove the registry from managed clients. Keep the
inventory and runtime controls.

Thank you!

Notes: This module stays outside the numbered sequence. It requires an approved API Center inventory record and runtime security decision.

Notes: Discovery is a catalog decision. Runtime access remains separate.

Notes: The registry becomes useful when its visible set matches the release decision.

Notes: The module adds no session number and changes no session dependency.

Notes: Runtime authorization governs access to the server.

Notes: Azure API Center is authoritative for registry contents and visibility.

Notes: Discovery controls the visible catalog. The MCP server controls runtime access.

Notes: The Microsoft Learn page has a shortened example. The endpoint format includes /workspaces.

Notes: The role reads visible registry data. The server authorizes its own connections.

Notes: Custom metadata can enrich _meta, but it is not the authorization boundary.

Notes: Tokens, tenant IDs, application IDs, and server credentials stay outside the repository.

Notes: Save the visibility change only when the preview matches the ownership record.

Notes: A client fallback to a public registry changes the control boundary.

Notes: The script never prints unexpected server names.

Notes: No removal script guesses an unsupported Data API settings interface.