agenticlately · GH-600 Study Prep
Home Phase B Lesson 2.4
PHASE B · LESSON 2.4

MCP registries + allow lists

Lesson 2.3 was how to plug in an MCP server. This one is who's even allowed to — an admin control set above the developer. A registry is the catalog of approved servers; an allow list is the gate policy. Know the two policy modes, the resolution order, and the one big limitation.

~10 minread 4quiz questions Tier 1source cited
Story

Anyone can claim to be an electrician. A serious site doesn't let a stranger plug gear into the panel just because they showed up — there's an approved-contractor list at the gate. Two things make it work: a directory of vetted contractors (names, licenses, what they're cleared to do), and a gate rule — "only people on the list get in," or the looser "anyone's welcome."

For MCP, that directory is a registry, and that gate rule is an allow list. Lesson 2.3 was how to plug in a server; 2.4 is who's even allowed to — set by an admin, above the individual developer.

The idea, in plain English

MCP has three parts worth naming (a likely exam beat):

Two sub-skills, both admin-level

Configure the MCP registry (point Copilot at a catalog) and configure MCP allow lists (set which servers are permitted). This is an org/enterprise governance control — not something an individual agent file decides.

Configuring the registry + the allow-list policy

An admin:

  1. Enables MCP — "MCP servers in Copilot" must be Enabled (org) / Enabled everywhere (enterprise).
  2. Sets the MCP Registry URL — a catalog of approved servers (creating the registry is a prerequisite to setting access policy). Backing store can be Azure API Center (https://SERVICE.data.REGION.azure-apicenter.ms/workspaces/WORKSPACE). Trap: don't append /v0.1/servers — Copilot adds it automatically. The GitHub MCP Registry is at github.com/mcp.
  3. Sets the access policy — the "Restrict MCP access to registry servers" dropdown:
PolicyMeaning
Allow allno restriction — any MCP server is usable
Registry onlyonly servers listed in the registry may be used (stricter)

Saved policy takes effect immediately for all developers in scope. The policy that applies to a developer comes from whichever org/enterprise granted their Copilot seat. (Feature is in public preview.)

Which policy wins (memorize the order)

When more than one policy could apply, GitHub resolves in this order:

StepRule
1 · ScopeEnterprise beats org (enterprise rules cover every org/user under it)
2 · StrictnessRegistry-only beats Allow-all (the more restrictive wins)
3 · Recencyon ties, the most recently uploaded registry wins

And if a user holds seats from multiple orgs/enterprises, GitHub applies one policy — it does not combine them.

Worked example — same user, two policies

A developer has seats from Enterprise X (Registry-only) and Org Y (Allow-all). Step 1 scope: enterprise outranks org → Enterprise X wins → the developer is held to Registry-only. (Even at equal scope, step 2 strictness would still pick Registry-only.) One-look: enterprise > org; stricter > looser; newer > older — in that order, one policy at a time.

The honest limitation (exam-worthy)

The allowlist is not tamper-proof today:

Governance framing (MS Reactor, 2026-05-28)

Treat allow-list changes as governance-sensitive — review them like high-risk dependency changes. Wildcard allow-lists are an anti-pattern; pair registry policy with the narrow per-tool allow-listing from 2.2 (github/<tool>, not github/*).

The cert-language version

Which MCP servers an agent may use is governed by registries (a catalog of approved servers) and allow lists (the access policy) — set at the org/enterprise level, not in the agent file. The policy is Allow all or Registry only, resolved by scope (enterprise > org) → strictness (Registry-only wins) → recency. Enforcement is name/ID-based and not tamper-proof; for maximum security, disable MCP entirely.

Our summary · grounded in MS Learn — Agent tooling… + GitHub Docs (configure MCP registry/access, policy resolution) + MS Reactor 2026-05-28 · fetched 2026-05-30

Common confusions (read these or lose points)

Ticks this lesson done on the home roadmap. Saved in this browser.

Quiz · Lock it in

0 / 0 answered
Q1 · multiple choice

What controls which MCP servers an agent is allowed to use?

Answer · C. Registries + allow lists govern which servers an agent may use (Knowledge-Check Q7). Not repo size, not seat count. The agent file selects within what the admin policy permits.
Q2 · multiple choice

A developer has an Enterprise seat set to Registry-only and an Org seat set to Allow-all. Which policy applies?

Answer · B. Resolution order: scope first — enterprise beats org. Only one policy applies (never combined), and on a strictness tie Registry-only would win regardless.
Q3 · multiple choice

An exam stem claims "the MCP allow list guarantees no unapproved server can ever run." Best response?

Answer · D. The allowlist is not tamper-proof — it checks server name/ID, with no hard-block yet, and a local user can edit config to work around it. Disabling MCP is the only true lockdown today.
Q4 · explain back

In your own words: name MCP's three components, the two allow-list policy options, and the order GitHub uses to resolve conflicting policies.

Suggested answer

Three components: servers (provide tools), registries (catalog of approved servers), allow lists (access policy). Two policy options: Allow-all (any server) and Registry-only (only registry servers, stricter). Resolution order: (1) scope — enterprise beats org; (2) strictness — Registry-only beats Allow-all; (3) recency — newest registry wins on ties. Only one policy applies at a time.


  
Source · MS Learn — Agent tooling, MCP, and execution environments + GitHub Docs (configure MCP registry/access) + MS Reactor 2026-05-28 · fetched 2026-05-30

Unofficial study material. Not affiliated with, endorsed by, or sponsored by GitHub or Microsoft. “GH-600” and “GitHub” are trademarks of their respective owners, used for identification only.