MCP and A2A Enterprise Gateway
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP and A2A Enterprise Gatewaylist the pinned tools I'm authorized to call through the gateway"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP and A2A Enterprise Gateway
A single, governed entry point for AI agents to reach enterprise tools (Model Context Protocol) and other agents (Agent2Agent protocol), including agents in partner trust domains. Every tool definition is reviewed and pinned by hash, every call is authorized by the agent identity fabric and the gateway's own policy, high-risk calls wait for a human, content crossing the boundary is inspected, and every decision lands in a signed audit chain.
Agent ─▶ Gateway ─▶ Authentication ─▶ Authorization ─▶ Federation
│ │ │ │
│ fabric introspection gateway policy RFC 8693 delegated
│ or federated JWKS + fabric PDP credential per hop
▼
pinned tool catalog · approval gate · content inspection · signed auditCapabilities
Capability | Implementation |
MCP gateway | Official MCP SDK |
Tool registration and discovery | Upstream servers registered behind an egress allow list; |
Lifecycle | draft → approved → deprecated (with sunset) → revoked; approval by a reviewer who did not run discovery (separation of duties) |
Rug-pull defense | Agents only ever see the pinned definition; a live definition that differs from its pin blocks calls until a reviewer approves the new version |
Tool poisoning | Descriptions and schema text are scored for injection at discovery; flagged versions need a written override to approve |
Per-tool allow lists | SPIFFE ID globs per tool version, plus credential scopes ( |
Parameter validation | Arguments validated against the pinned JSON Schema (Draft 2020-12, formats checked) and size-capped |
Response limits | Byte ceiling enforced on the wire before parsing, per tool or per server |
Output inspection | agentic-core |
Egress DLP | Credential material in tool arguments or A2A messages is blocked before it leaves |
A2A gateway | Agent Card at |
Agent card registry | Cards accepted only from configured trust domains and hosts, JWS-signed (RFC 8785 canonical form) by keys in the domain's JWKS, pinned by digest, same lifecycle as tools |
Federation | Outbound: RFC 8693 token exchange at the identity fabric for every hop, delegation depth checked against the target domain. Inbound: partner tokens verified against the partner JWKS and confined to an inbound scope ceiling |
Authorization | agentic-core |
Human approval |
|
Resilience | Per-agent token-bucket rate limits, per-upstream circuit breakers, timeouts everywhere, fail-closed on every dependency |
Audit | agentic-core signed hash chain, one chain per replica stored in PostgreSQL, verifiable online ( |
Observability | Prometheus metrics, OpenTelemetry traces, JSON logs with correlation IDs, SLO and security alerts, Grafana dashboard |
Related MCP server: production-mcp-server
Quick start (local)
Requires Docker. No API keys or cloud credentials are needed.
docker compose up --build
curl -s localhost:8090/.well-known/agent-card.json | jq .name
curl -s localhost:8090/.well-known/oauth-protected-resource | jqThe stack runs the gateway, the agent identity fabric,
PostgreSQL for each, an OIDC provider standing in for the workload issuer and
the enterprise IdP, and an OpenTelemetry collector. To use delegated upstream
credentials locally, register the gateway as an agent in the fabric and set
GATEWAY_GATEWAY_AGENT_ID and GATEWAY_WORKLOAD_TOKEN_FILE
(configuration).
Development
uv sync
make check # ruff, black, mypy --strict, bandit, contract drift, tests (coverage >= 90%)
make integration # PostgreSQL tests (needs GATEWAY_TEST_DATABASE_URL)
make helm terraformTest suites: tests/unit, tests/security (one test per threat T1-T18 in the
threat model), tests/chaos (dependency failures), tests/performance
(latency budgets; locustfile.py for load), tests/e2e (full HTTP lifecycle
with the official MCP SDK client, both MCP protocol eras, A2A JSON-RPC,
interoperability with the real identity fabric, and a property-based OpenAPI
contract test), tests/integration (PostgreSQL). Upstream MCP servers in the
tests are real SDK servers served in-process; no network is used.
API
Endpoint | Caller | Purpose |
| Agents (fabric credential) | MCP Streamable HTTP: |
| Agents | A2A JSON-RPC: |
| Anyone | The gateway's A2A Agent Card |
| MCP clients | RFC 9728 metadata naming the identity fabric |
|
| Upstream MCP servers and discovery |
|
| Tool lifecycle |
|
| Agent card registry |
|
| Human approval of high-risk calls |
|
| Verify this replica's signed audit chain |
Full contract: docs/api/openapi.json; JSON Schemas in schemas/.
Operator tools: python -m mcp_a2a_gateway.cardsign (sign your own agent cards),
python -m mcp_a2a_gateway.audit_export (verified audit segments for WORM storage).
Deployment
Layer | Location |
Container image |
|
Helm chart |
|
Namespace and secret sync |
|
Cloud infrastructure |
|
See the startup runbook.
Documentation
Architecture, MCP gateway design, A2A federation design, agent specification
Runbooks: startup, monitoring, incident response, rollback, disaster recovery, audit export
Shared controls (policy engine, audit chain, content guard, logging, telemetry) come from agentic-core.
License
Apache-2.0
This server cannot be deployed
Maintenance
Related MCP Connectors
Zero-trust gateway for AI agents: score tool calls, verify agent cards, enforce policy, audit.
Security gateway for AI agents: policy, approval, and audited execution, no secrets shared.
Agent-native security, trust, reliability, data and procurement tools for AI workflows.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables controlled AI-agent access to enterprise-shaped tools with a deny-by-default gated write path, human approval, dry-run execution, and append-only audit logging.1-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to safely call enterprise tools through a governed MCP gateway with permission enforcement, blast-radius controls, input validation, and a full audit trail for every invocation.MIT
- FlicenseNot gradedqualityCmaintenanceEnables agents to securely discover and invoke a centrally governed catalog of tools from distributed internal and external providers, with policy enforcement, quotas, inspection, and audit controls.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to securely invoke tools by enforcing identity proof, capability verification, and risk scoring on every request, blocking unsafe calls before they execute.MIT