Client case study · Global agriculture science company · Global enterpriseLive proof of concept

Every AI agent, found. Every release, governed.

A governance platform on AWS AgentCore that discovers the AI agents and MCP gateways running across the client's AI Foundry and takes each one from draft to approval to deprecation.

  • Discovered, not typed in: live A2A and AGUI agent runtimes and MCP gateways ingested straight from AWS.
  • One governed lifecycle: Draft → Pending Approval → Approved / Rejected → Deprecated, enforced by the API.
  • Role-aware by design: Consumers, Publishers and Admins see and do different things, checked on the server.
ClientGlobal agriculture science company
Engagement3-week proof of concept
Built onAgentCore · Lambda · Cognito
AI Foundry estate · eu-central-1
AgentCore Registry · eu-west-1

Meet our client

Client
Global agriculture science company
Industry
Agriculture technology & enterprise AI
Market
Global enterprise

In a nutshell

The client's AI Foundry was growing fast: agents, runtimes and MCP gateways were being deployed across AWS with no central way to find, own or govern them. In a three-week proof of concept we built the AgentCore Registry: ingestion pipelines that discover live agents and gateways automatically, a governance API with a full approval lifecycle, Cognito-based personas enforced on the server, a React catalog, and a GitLab pipeline that deploys with no stored AWS keys.

Client data protectedAccount numbers, record IDs and demo records on this page are sanitised or changed. The workflow is real; the data is not.
01 · The problem

Agents everywhere. A catalog nowhere.

AI adoption outran governance. Agents and gateways lived across AWS, ownership was unclear, and nobody could say what already existed. Try answering one simple question both ways.

QIs there an approved agent that extracts data from PDFs, and who owns it?
Illustrative simulation · sample records
What was going wrong
  • No central catalog: agents, runtimes and MCP gateways were spread across AWS environments.
  • Unclear ownership: metadata and owners were hard to find, so assets were hard to trust or reuse.
  • Inconsistent governance: approvals happened differently every time, if at all.
  • No standard access control: nothing decided who could see a draft or retire an approved asset.
  • Growing duplication: without visibility, teams risked rebuilding what already existed.
  • Rising complexity: more services, regions and environments with every new initiative.
02 · Automated discovery

Ingestion that reads the live estate

Two ingestion Lambdas scan AgentCore runtimes and gateways, decide what belongs in the registry, and write every eligible asset as a draft record. Extending discovery to every AWS account the client runs is a Phase 2 recommendation. Run a discovery pass.

AgentCore runtimes · eu-central-1
Decision for the current asset

Press Run discovery.

Registry records written
Counts follow a representative ingestion run; asset names are samples.
How discovery decides
  • Scope by protocol: A2A and AGUI agents are ingested; HTTP and unknown runtimes are skipped by agreement, and MCP runtimes come in as gateways.
  • Agent cards first: agents that expose a working card become full A2A records with skills and capabilities.
  • Never lose metadata: everything else is stored as CUSTOM with model, gateways, auth and protocol kept intact.
  • Gateways with detail: URL, auth type, tool targets and interceptors are captured for every MCP gateway.
  • No duplicates: each run checks the registry before writing, so re-running is safe.
  • Draft by default: nothing discovered is visible to consumers until it has been approved.
03 · Normalisation

Four descriptor formats. One record shape.

The registry speaks A2A, MCP, AGENT_SKILLS and CUSTOM, each storing metadata in a different place. The governance API turns every one of them into the same clean record. Pick a source.

Raw registry record

Sample records. Field paths and normalised fields match the governance API.

04 · The governance lifecycle

Draft to approved, and nothing skips a step

Every transition goes through the API, which knows who you are and what state the record is in. Approval decides which records consumers can find in the catalog. Switch persona, take an action, and watch the server allow it or refuse it.

Acting as
API traffic
Rules the API enforces
  • One path only: drafts and rejected records are submitted; only pending records can be approved or rejected; only approved ones deprecated.
  • Wrong state, clear answer: any other move returns HTTP 409 with the state the record must be in.
  • Three editable fields: description, tags and additional metadata. Everything else comes from AWS and stays read-only.
  • Rejection loops back: a rejected record can be edited and resubmitted, with the reason in front of the publisher.
  • Admins can fix in review: pending records are editable by admins only; a publisher gets a 403.
  • Consumers see the result: only approved records ever reach the catalog's consumers.
One asset, start to finish
  1. 01 · DiscoveredIngested as a draftIngestion writes it to the registry. Consumers cannot see it yet.
  2. 02 · DescribedCompleted by a publisherDescription, tags and metadata are added, then the record is submitted.
  3. 03 · ReviewedDecided by an adminThe admin can correct the record, then approves it, or rejects it with a reason the publisher sees.
  4. 04 · ApprovedVisible in the catalogConsumers can now find it. From here, the only status change is deprecation.
  5. 05 · RetiredDeprecated by an adminConsumers no longer see it. Admins can still find it.

When an asset changes in AWS: re-running ingestion never writes a duplicate. An agent that starts exposing a card is upgraded to a full A2A record on the next run, and a gateway that gains a description is re-ingested as an MCP record.

05 · Role-based access

Three personas, enforced on the server

A Lambda authorizer validates the Cognito token and resolves the persona before any business logic runs. The catalog then filters records itself, whatever the browser asks for. Send a request.

Who is calling
Request path
    Records in the registry

    Sample records. Persona rules and authorizer behaviour match the deployed API.

    06 · Architecture

    A small, serverless control plane

    Four Lambda functions, one HTTP API and a React catalog behind CloudFront, reading runtimes in one region and writing to a registry in another. Trace a path, or see where it sits in the wider AI platform.

    07 · Engineering around the gaps

    A new AWS service, real constraints, working answers

    AgentCore Registry was new, and several things it did not support had to be designed around. Flip each card from the constraint to what we built.

    08 · Delivery

    Nothing reaches AWS by accident

    This pipeline deploys the registry platform itself. Agents and gateways reach the registry through discovery, not through this pipeline. Validation runs on every push. A deployment needs a correctly formatted tag and a person pressing play, and authenticates through GitLab OIDC with no stored AWS keys. Try to ship.

    Proof

    Inside the registry

    Real screens from the catalog across the three personas. Account numbers and record IDs are blurred.

    09 · The result

    From scattered assets to a governed catalog

    The proof of concept was demoed live to the client on real agents and gateways, with the full governance lifecycle working end to end and fixes from the demo shipped the same day.

    24live assets in the first ingestion run: 14 agents and 10 MCP gateways
    4Lambda functions: two ingestion, one governance API, one authorizer
    3personas, with visibility and actions enforced on the server
    5governance states from draft to deprecated
    0static AWS keys in the deployment pipeline
    3weeks from kickoff to a live demo on real data
    The resultThe client gained a single source of truth for its AI assets: discovered automatically, governed consistently, and visible to each team according to its role, as the foundation for governing AI across future AI Foundry programs.
    AWS AgentCore RegistryAgentCore Runtime & GatewayAWS Lambda (Python 3.12)boto3API Gateway (HTTP API)Amazon CognitoLambda authorizerCloudFrontS3IAMReactTerraformServerless FrameworkCloudFormationGitLab CI/CDOIDC
    What comes next · Phase 2 recommendations Recommended
    • Single sign-on: Microsoft Entra ID in place of the proof-of-concept Cognito users.
    • Every AWS account: ingest agents across all of the client's accounts with least-privilege cross-account access.
    • Skills as records: add the AGENT_SKILLS type once the skills repository is populated.
    • Manual registration: let publishers register assets directly, not only through ingestion.
    • Notifications and versioning: alert admins when something is submitted, and keep record history.
    • Agent-card standard: every new A2A agent exposes a card, so it is ingested as a full A2A record.
    AI governance, built in

    Know every agent. Govern every release.

    Automated discovery, a governed lifecycle and role-aware access for a growing AI estate.

    What a first conversation covers
    1. 01Your business objective
    2. 02The technical context
    3. 03The right next step
    Discuss a project View all case studies →