Disclosure: Jarvis AI is a product of ASCENDING Inc., which publishes Explore Agentic. We flag every page that discusses Jarvis and mark comparison tables that include it. Our editorial policy is on the About page.

Article · Agent Gateway

Agent Registry vs. Agent Gateway

Compare an agent registry with an agent gateway: the registry knows what exists and who may call it, the gateway enforces that at runtime. Why both must be co-designed.

Contributing Writer · AWS Agents
Reviewed by Ryo Hang
8 min · Updated May 8, 2026
Key findings
  1. 01
    Registry and gateway are not interchangeable

    Registry = catalog plane (what exists, who can call it). Gateway = data plane (enforcement at the invocation point). Conflating them creates real holes in enterprise agent strategy.

  2. 02
    Three failure modes when split

    Schema drift, orphaned policies, audit gaps. All three follow predictably when registry and gateway are procured as separate products and synced.

  3. 03
    Two diagnostic questions

    Deprecation propagation timing and access-revocation timing. The answers expose whether the vendor has one product, two products, or two products with manual reconciliation between them.

Why this distinction matters in 2026

When enterprises in 2026 evaluate agent infrastructure, the most common confusion is treating registries and gateways as interchangeable components that can ship in the same product slot. They are not the same thing, and conflating them introduces real holes.

The failure modes are different. The security surface is different. The governance requirements are different. This article draws the line, covers the three places they overlap, and connects back to the orchestration problem both are trying to solve. For the broader treatment of why the orchestration layer is non-negotiable, see The Agent Orchestration Layer.

The registry: catalog plane

The agent registry is the source of record for the agents and MCP servers that exist, what capabilities each supports, who owns each one, and who is allowed to call each one. Identity, capability schema, access policy, versioning, ownership. The capability schema itself is what makes the registry usable at runtime: a typical entry carries an agent_id, a version string (semver, with the previous active version retained for rollback), a tools array where each tool advertises a JSON Schema for its arguments and a returned-type contract, and a policy_ref pointing at the access policy currently bound to that version. The tool half of that shape is not our invention — the MCP tools specification defines a tool as a name, an optional title, a description, an inputSchema that "MUST be a valid JSON Schema object (not null)", an optional outputSchema, and optional annotations. When the registry approves a new version, those four fields are what the gateway reads on the next call to decide whether an incoming invocation matches the surface the registry now advertises.

One reason the registry cannot simply trust what an agent submits: the same specification warns that "clients MUST consider tool annotations to be untrusted unless they come from trusted servers," and notes that tool-name uniqueness is scoped to a single server, so anything aggregating tools across servers "SHOULD implement a disambiguation strategy such as prefixing tool names with a server identifier." Establishing which servers are trusted, and owning the namespace that disambiguates them, is catalog-plane work.

The registry is not a broker or an intermediary in the invocation path. It exists as a catalog every interested component queries to gather information. Each entry provides an audit foundation that lets invocations be traced.

The single question the registry answers: does this agent exist and am I using it correctly?

The gateway: data plane

The agent gateway is where enforcement happens — at the invocation point, between the orchestrator / LLM and the registered agents and MCP servers. It handles authentication, authorization, routing, rate limiting, and circuit breaking. It generates the per-call observability record: the resolved MCP tool, the resolved arguments, the resolved result, the agent version that served the call, and the policy snapshot the gateway used to authorize it.

That is a policy enforcement point in the sense the access-control literature already uses. NIST's glossary defines a policy enforcement point as a component that "enforces policy decisions in response to a request from a subject requesting access to a protected object; the access control decisions are made by the policy decision point" — and, in the CNSSI wording carried in the same entry, as "a system entity that requests and subsequently enforces authorization decisions." The registry/gateway split is that split. NIST SP 800-207, Zero Trust Architecture (August 2020) applies the same decomposition to network access, which is why zero-trust reviewers usually recognize this architecture on sight.

The vendor implementations name the same jobs. AWS describes Amazon Bedrock AgentCore Gateway as "a fully managed AI gateway that provides a single, secure entry point for agentic traffic" that "converts APIs, Lambda functions, and existing services into Model Context Protocol (MCP)-compatible tools," and states that it "is the only solution that provides both comprehensive ingress authentication and egress authentication in a fully managed service" in its developer guide. Its capability list is a data-plane list: Security Guard, Translation, Composition, Secure Credential Exchange, Semantic Tool Selection, Infrastructure Manager.

The single question the gateway answers, per invocation: should this particular call actually happen right now?

Architecture diagram: the Agent Registry shown as a side-car catalog plane holding metadata and policy, the Agent Gateway as the inline data plane proxying calls between LLM orchestrators and downstream MCP agents.
Catalog plane vs. data plane — registry holds the source of record, gateway sits in the call path and enforces it.

Side-by-side: what each plane answers

Five questions show where the two planes diverge — and why neither can stand in for the other.

QuestionRegistry (catalog plane)Gateway (data plane)
What exists?Source of record for every registered agent and versionConsults the registry's view at call time
Should this invocation run right now?Out of scope — registry only describes what is allowed in principleDecided per call against current policy and identity
What does the audit record contain?Approval state at the moment of registrationResolved call record (tool, arguments, result, agent version, identity)
Where does a policy change land first?Authored here when an agent or version updatesPicked up on the next call after the registry update
What fails if this plane is missing?Gateway loses source of truth and drifts to whatever was loaded lastRegistry intentions are never enforced at runtime

Security governance: what the combined layer protects

Neither the registry nor the gateway alone covers enterprise security requirements. Three properties depend on both planes being co-designed.

Two boxes feed ochre arrows into an ochre band. The registry half, what was approved, records which version was current at the moment of decision, the policy in effect as a snapshot rather than a mutable ID, and the agent_id, semver version, tools array with an inputSchema per tool, and policy_ref. The gateway half, what was invoked, records who invoked, which agent version ran and which MCP tools were called, using OpenTelemetry attributes gen_ai.tool.name, gen_ai.tool.call.id, gen_ai.tool.type, gen_ai.agent.id, gen_ai.agent.name and gen_ai.operation.name.
Auditors ask a question that spans both halves, so an audit programme built on either one alone fails on its first real request.
  1. 01

    Access policy without enforcement is a document

    The registry defines which agent can invoke which other agent and which user roles are authorized. The gateway executes that policy as a runtime decision. A registry without a gateway is a directory of intentions; a gateway without a registry has no source of truth for what to enforce, so it falls back on whatever was loaded last.

  2. 02

    Both planes must be attributed in the audit record

    A complete audit record includes the gateway side (who invoked, what version of the agent ran, which MCP tools were called, with what inputs) and the registry side (which version was current and what policy was in effect at the moment of the decision). Without attribution from both, the audit is either raw logs without semantic meaning, or registry snapshots without corresponding invocations. The gateway half has a standard vocabulary: OpenTelemetry's GenAI semantic conventions define gen_ai.tool.name, gen_ai.tool.call.id, gen_ai.tool.type, gen_ai.agent.id, gen_ai.agent.name, and a gen_ai.operation.name whose well-known values include execute_tool and invoke_agent. The MCP specification's own security guidance is blunter still: clients SHOULD "log tool usage for audit purposes."

  3. 03

    Policies must propagate ahead of time

    When access is revoked or an agent deprecated, there is a window between the registry update and the gateway enforcing the new state. Real-time propagation is a baseline security property, not a performance optimization. Stale policy enforced past its revocation window is a security incident in slow motion.

Three additional governance properties — traceable identity, enforced approval gates, blast-radius control — also depend on the combined layer. We cover them in the orchestration article. Governance is not a separate plane bolted on top of an orchestration stack; governance is what makes the orchestration stack trustworthy enough to run production code.

Where do the registry and gateway have to share state?

Many vendors ship the registry and the gateway as separate products with periodic sync. Three failure modes follow predictably when this is the architecture.

The protocol gives the enforcement side a hard edge to hold. Under the MCP authorization specification, MCP servers "MUST validate that access tokens were issued specifically for them as the intended audience, according to RFC 8707 Section 2," clients "MUST implement Resource Indicators for OAuth 2.0" and send the resource parameter "in both authorization requests and token requests," and servers "MUST implement OAuth 2.0 Protected Resource Metadata (RFC 9728)." A token minted for one server therefore cannot be replayed against another — but only if the enforcement point knows which resource identity the registry currently assigns to that agent version. Shared state is what makes the audience check mean anything.

Along the top, a registry box approving agent v2.3 with an updated capability schema, an ochre dashed sync window box, and a gateway box still enforcing v2.1's schema. Below, three boxes name the consequences. Schema drift leaves the gateway over-permissive, allowing tools v2.3 added, or under-permissive, refusing tools v2.1 still has. Orphaned policies keep authorizing calls against a version that no longer exists. Audit gaps make reconciliation manual because no shared version reference or policy snapshot exists. An ochre band closes with the security-incident framing.
All three failures are downstream of the same architectural choice, which is why fixing them one at a time never sticks.
  1. 01

    Schema drift

    The registry approves agent v2.3 with an updated capability schema. The gateway is still enforcing against v2.1's schema. During the sync window the gateway is either over-permissive (allowing tools that v2.3 added) or under-permissive (refusing tools that v2.1 still has). Neither is acceptable in a system making decisions on live enterprise data.

  2. 02

    Orphaned policies

    When an agent is deprecated in the registry, access policies tied to that version should stop being enforceable. If the gateway holds its own copy of policy objects without automatic cleanup, stale policies accumulate — creating audit confusion, or worse, continuing to authorize invocations against an agent version that no longer exists.

  3. 03

    Audit gaps

    The registry knows what was approved. The gateway knows what was invoked. A complete audit trail requires both records to refer to the same version, the same policy, and the same moment in time. If they are maintained separately, post-hoc reconciliation is a manual exercise — not a system guarantee.

How long a change takes to bind, according to the documentation that defines it. Every figure below is the specification's or the vendor's own published number, read August 2026.
Change you makeWhere it bindsDocumented windowThe source's own wording
A token is presented to the wrong resourceMCP server / gateway, per requestNone — re-evaluated on every callServers "MUST validate that access tokens were issued specifically for them as the intended audience"; "invalid or expired tokens MUST receive a HTTP 401 response."
The protocol version a caller declaresPer requestNone — no session-level pinThe version travels in each request's _meta, and "the server accepts or rejects each request independently."
A rate-limit change or emergency block (AgentCore Gateway)GatewayUp to 30 seconds"Rate limit changes take up to 30 seconds to propagate. Plan for this delay during incidents — a block entry (rate: 0) is not immediate."
Nothing — the rate-limit service itself is degraded (AgentCore Gateway)GatewayNo enforcement while degraded"Rate limits use fail-open behavior. If the rate limit service is temporarily unavailable, traffic is allowed through. Do not use rate limits as your sole security mechanism."
Retiring an agent version (Foundry Agent Service)Catalog, by handNo automatic expiry; hard stop at 1,000 valid revisionsHTTP 400, Maximum number of agent versions (1000) exceeded — "This error is terminal, not a transient one, so don't retry the same call."
Retiring a protocol feature (MCP specification)A future specification revisionAt least 12 months; at least 90 days under expedited removal"the number of months, at least twelve, that the feature must remain Deprecated before it is eligible for removal"; expedited removal "must still provide at least ninety days."

The pattern in that table is the argument of this article, stated in numbers. The two rows with no propagation window at all are the two things the protocol evaluates on every single request — audience validation and version declaration. Everything the gateway holds as its own cached copy of state acquires a window, and the windows are published: thirty seconds for a rate-limit or emergency-block change on AWS's managed gateway, unbounded when the limiter itself is unhealthy, and manual for catalog-side version retirement on Foundry. None of those are defects — AWS documents the thirty seconds and the fail-open behaviour openly, which is more than most vendors do. They are the cost of holding state in two places.

That is what the two diagnostic questions below are really testing. Ask any vendor for the equivalent of this table for their own product, in their own documentation. If the number is not written down anywhere, it is not a number they are managing. Figures above are from the MCP authorization specification, the MCP versioning guide, the MCP feature lifecycle and deprecation policy, AWS's AgentCore Gateway rate-limit best practices, and Microsoft's Foundry Agent Service quotas and limits.

Two questions that reveal whether a vendor has both

Most vendor decks list the same features. The two questions below cut through the feature parity and expose the architecture.

  1. 01

    Deprecation propagation

    If you deprecate an agent version in the registry right now, how long until the gateway stops routing invocations to it? The right answer is real-time, or at the next call. Anything that includes a sync interval, a cache TTL, or a manual cache flush exposes a window where the gateway is enforcing a state the registry has retired.

  2. 02

    Access revocation

    If you revoke a user's access in the registry right now, how long until the gateway stops authorizing their invocations? Same question, same correct answer. If the answers differ for these two scenarios, you are looking at two products with different sync semantics, not a unified control plane.

How Jarvis Registry implements both

Jarvis Registry is a unified registry and gateway, not two products synced together. The catalog and data planes share schemas and policy objects. It indexes A2A agents, MCP providers, and external providers like AWS AgentCore and Azure AI Foundry as part of a federation layer. Both of those carry their own catalog semantics that a federation layer has to read: AgentCore Gateway composes "multiple APIs, functions, tools, agents, and model providers behind a single endpoint" and supports "OpenAPI, Smithy, and Lambda as tool input types" per the AWS developer guide, while Microsoft Foundry Agent Service gives each agent "a dedicated Microsoft Entra identity," snapshots versions automatically, and publishes agents into the Entra Agent Registry per Microsoft Learn. Access policy, capability schema, and version information are stored in one place and read by the gateway in real time at call evaluation.

The product registers as the unified MCP endpoint that Jarvis Chat, Claude Desktop, Claude Code, VS Code, Cursor, GitHub Copilot, Microsoft Copilot, Windsurf, and ChatGPT all connect to. From the client's perspective there is one MCP server. Behind it Jarvis Registry is brokering invocations across providers, with one audit trail and one policy surface.

Deprecation in the registry takes effect in the gateway on the next call. Access policy revocation does the same. The per-call audit record names the registry version and the policy configuration in effect at the moment of the call — eliminating the post-hoc reconciliation that splits the registry-gateway-as-two-products architecture.

Governance is not an additional layer tacked on. Governance is the system.

References

Primary sources behind the protocol and vendor claims in this article. All URLs verified August 2026.

SourceURL
Model Context Protocol — Tools (revision 2026-07-28): tool definition, inputSchema JSON Schema requirement, untrusted annotations, audit logging guidancemodelcontextprotocol.io/specification/2026-07-28/server/tools
Model Context Protocol — Authorization: resource-indicator and audience-validation requirementsmodelcontextprotocol.io/specification/draft/basic/authorization
RFC 8707 — Resource Indicators for OAuth 2.0 (February 2020)rfc-editor.org/rfc/rfc8707
RFC 9728 — OAuth 2.0 Protected Resource Metadatarfc-editor.org/rfc/rfc9728
NIST Computer Security Resource Center — glossary entry, "policy enforcement point"csrc.nist.gov/glossary/term/policy_enforcement_point
NIST SP 800-207 — Zero Trust Architecture (Rose, Borchert, Mitchell, Connelly; August 2020)csrc.nist.gov/pubs/sp/800/207/final
OpenTelemetry — GenAI spans convention (gen_ai.tool.*, gen_ai.agent.*, gen_ai.operation.name)github.com/open-telemetry/semantic-conventions-genai — gen-ai-spans.md
Model Context Protocol — Versioning: per-request protocol version declaration, accepted or rejected independently per requestmodelcontextprotocol.io/specification/versioning
Model Context Protocol — Feature Lifecycle and Deprecation Policy: twelve-month minimum deprecation window, ninety-day expedited-removal floormodelcontextprotocol.io/community/feature-lifecycle
AWS — Amazon Bedrock AgentCore Gateway developer guidedocs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway.html
AWS — AgentCore Gateway rate limit best practices: 30-second propagation window, fail-open behaviourdocs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-rate-limits-best-practices.html
Microsoft Learn — Quotas and limits for Microsoft Foundry Agent Service: 1,000 valid agent revisions, terminal HTTP 400 at the caplearn.microsoft.com/en-us/azure/foundry/agents/concepts/limits-quotas-regions
Microsoft Learn — What is Microsoft Foundry Agent Service? (agent identity, version snapshots, Entra Agent Registry)learn.microsoft.com/en-us/azure/foundry/agents/overview
Frequently asked

Common questions

  1. What is the difference between an agent registry and an agent gateway?

    The registry is the catalog plane: source of record for which agents exist, what they do, who owns them, who can call them, and what version is current. Out of the call path. The gateway is the data plane: in the call path, enforcing authentication, authorization, routing, and observability for every invocation. Different planes, different failure modes, different vocabularies. Both are required for governed agentic AI in 2026.
  2. Can I buy a registry without a gateway, or vice versa?

    You can. We do not recommend it. A registry without a gateway is a directory of agents nobody is enforcing access to. A gateway without a registry is enforcing whatever policy was last loaded into it, with no source of truth for whether the policy is current. Both shapes pass a basic demo and fail the first audit. The architectural answer is one product where both planes share schemas, policy objects, and version reference.
  3. How do registries and gateways interact with the orchestration layer?

    The orchestration layer sits above both. It uses the registry to discover which agents and MCP servers exist (and what they can do); it relies on the gateway to enforce the access policy on each invocation it triggers. The orchestration layer itself owns workflow lineage, logic-step semantics, approval gates, bounded autonomous agent pools, and the tool-level audit. The full breakdown is in /agent-registry/agent-orchestration-layer/.
  4. What are the diagnostic questions that catch a vendor pretending to have both?

    Two. First: if you deprecate an agent version in the registry now, how long until the gateway stops routing invocations to it? Second: if you revoke a user's access in the registry now, how long until the gateway stops authorizing their invocations? The right answer to both is real-time, or at the next call. Any sync interval, cache TTL, or manual flush exposes the registry-gateway split as two products with reconciliation between them, not a unified control plane.
  5. Where does Jarvis Registry fit in this architecture?

    Jarvis Registry is a unified registry and gateway in one product. The catalog plane and the data plane share schemas, policy objects, and version reference, so deprecation and revocation propagate on the next call rather than the next sync. Federates across AWS AgentCore, Azure AI Foundry, Cloudflare MCP Server Portals, and self-hosted MCP and A2A servers. Connects Jarvis Chat, Claude Desktop, Claude Code, VS Code, Cursor, GitHub Copilot, Microsoft Copilot, Windsurf, and ChatGPT through one MCP-compatible endpoint.