ax-context-gateway
Provides a context and memory gateway sidecar for Google AX agents, enabling pre-flight bounded context compilation, token admission, state snapshotting, and zero-egress in-pod MCP communication over a Unix Domain Socket.
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., "@ax-context-gatewayrehydrate my bounded context and memory state from the last checkpoint"
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.
ax-context-gateway
Kubernetes-native Context & Memory Gateway Sidecar for Google AX (Agent Executor)
ax-context-gateway is a production reference controller and sidecar that bridges Swarm-Context-Commander's bounded context compilation and token admission with Google AX's declarative agent orchestrator on Kubernetes.
Architecture & System Overview
Google AX introduces declarative Kubernetes primitives (Task, Workspace, Gateway, Model) and the Agent Substrate runtime for high-density, stateful agent multiplexing. Agents run in gVisor (runsc) sandboxes under strict zero-trust network policies (egress: mode: DenyAll).
ax-context-gateway resolves the fundamental friction between zero-trust sandboxing and stateful memory retrieval by serving pre-flight compiled context and state synchronization over an in-pod Unix Domain Socket Model Context Protocol (MCP) stream.
1. High-Level System Architecture
flowchart TD
subgraph ControlPlane ["Kubernetes Control Plane"]
AX_CTRL["Google AX Controller\n(Task, Workspace, Model)"]
ACB_CRD["AxContextBinding CRD\n(Tenant, Agent, Token Budget)"]
GW_CTRL["AxContextController\n(Reconciliation & Admission)"]
AX_CTRL <--> ACB_CRD
ACB_CRD --> GW_CTRL
end
subgraph Node ["Kubernetes Worker Node (gVisor runsc)"]
subgraph Pod ["Agent Pod"]
subgraph Vol ["Shared Memory Volume (emptyDir: Memory)"]
SOCK["/var/run/ax-context/mcp.sock\n(Zero-Network AF_UNIX IPC)"]
end
subgraph Sidecar ["Sidecar Container: ax-context-gateway"]
COMP["Bounded Context Compiler\n(Token Bounding & Tombstones)"]
MCP_SRV["UnixSocketMcpSidecar\n(JSON-RPC 2.0 MCP Server)"]
SNAP["State Snapshotter\n(SHA-256 Checkpointing)"]
COMP --> MCP_SRV
SNAP --> MCP_SRV
end
subgraph Agent ["Workload Container: Agent Runner"]
RUNNER["Autonomous Agent Runner\n(Python SDK / LangChain / Swarm)"]
CLIENT["AxContextClient\n(Zero-Egress MCP Client)"]
RUNNER --> CLIENT
end
MCP_SRV <== "duplex stream" ==> SOCK
CLIENT <== "duplex stream" ==> SOCK
end
end
GW_CTRL -->|"Pre-flight Context & Volume Prep"| Sidecar
AX_CTRL -->|"Suspend / Resume Signal"| GW_CTRL
GW_CTRL -->|"Trigger State Checkpoint"| SNAPRelated MCP server: genpark-multi-tenant-agent-isolation-sandbox-skill
Task & Context Lifecycle State Machine
The gateway aligns directly with the Google AX Agent Substrate lifecycle states:
stateDiagram-v2
[*] --> Admitted: AX Task Created
Admitted --> Bound: AxContextBinding Reconciled
state Bound {
[*] --> CompileContext
CompileContext --> EnforceTenantBoundary
EnforceTenantBoundary --> FilterTombstones
FilterTombstones --> BoundTokenCapacity
BoundTokenCapacity --> StartUnixSocketSidecar
}
Bound --> Running: Pod Scheduled & Agent Awakens
state Running {
AgentQueryGraph --> InPodMcpSocket
AgentMutateState --> RecordMemoryDelta
}
Running --> Suspending: AX Actor Preempted / Sleep Signal
state Suspending {
CaptureWorkingMemory --> ComputeSha256Digest
ComputeSha256Digest --> SealCheckpointFile
}
Suspending --> Suspended: Pod Memory Released
Suspended --> Resuming: Task Triggered with New Input
state Resuming {
LoadCheckpoint --> VerifyIntegrityHash
VerifyIntegrityHash --> FastRehydrationSub5ms
}
Resuming --> Running: Agent Continues Execution
Running --> Finalized: Task Completed / Terminated
Finalized --> [*]Context Compilation & Token Bounding Pipeline
Context is compiled deterministically prior to container unfreezing, ensuring zero cross-tenant contamination:
flowchart LR
Q["Task Initial Query & ContextPolicy"] --> T_GATE{"Tenant Isolation\nBoundary Gate"}
T_GATE -->|"Mismatch Tenant ID"| DROP["Drop Immediately"]
T_GATE -->|"Valid Tenant"| TOMB{"Tombstone\nFilter"}
TOMB -->|"Deleted / Tombstoned"| EXCLUDE["Exclude from Knowledge"]
TOMB -->|"Active Node"| SIM["Lexical & Seed Scoring\n(Jaccard Similarity)"]
SIM --> HOP["Multi-Hop Graph Expansion\n(max_graph_hops)"]
HOP --> CAP{"Token Capacity Gate\n(total <= max_tokens)"}
CAP -->|"Capacity Exceeded"| TRUNC["Set budget_exhausted = True\nStop Frontier"]
CAP -->|"Within Budget"| ADMIT["Admit Node & Edges"]
ADMIT --> HASH["Compute Canonical SHA-256 Digest\n(context_hash)"]
TRUNC --> HASH
HASH --> BUNDLE["CompiledContextPackage\nInjected to MCP Sidecar"]Network Topology & Security Boundaries
In contrast to traditional agent architectures that make external network calls to retrieve memory, ax-context-gateway maintains an airtight perimeter:
graph TD
subgraph Internet ["Public Internet / Untrusted Network"]
EXT_DB[("External Vector DBs")]
EXT_API["Third-Party Web APIs"]
end
subgraph KubernetesCluster ["GKE / Kubernetes Cluster"]
subgraph NetworkPolicy ["Cilium / Calico Zero-Trust Egress"]
FW["Egress Rule: DenyAll (Port * Drop)"]
end
subgraph Sandbox ["gVisor (runsc) Sandbox Boundary"]
subgraph AgentApp ["Workload Container"]
A_EXEC["Agent Code / LLM Loop"]
end
subgraph IPC ["Kernel AF_UNIX IPC"]
USOCK["/var/run/ax-context/mcp.sock"]
end
subgraph SidecarApp ["Sidecar Container"]
GATEWAY["ax-context-gateway Sidecar"]
end
end
end
A_EXEC -.->|"TCP Connect (BLOCKED)"| FW
FW -.->|"DROPPED"| EXT_DB
FW -.->|"DROPPED"| EXT_API
A_EXEC ===|"Zero-Network Unix Domain Socket"| USOCK
USOCK ===|"Local In-Memory IPC"| GATEWAYDeclarative Manifests
1. AxContextBinding Custom Resource
apiVersion: agent.google.com/v1alpha1
kind: AxContextBinding
metadata:
name: incident-analyst-task-42-binding
namespace: agent-workloads
spec:
targetTaskRef:
name: incident-analyst-task-42
tenantId: enterprise-acme-corp
agentId: secops-reconciliation-agent
contextPolicy:
maxContextTokens: 4096
maxGraphHops: 2
similarityThreshold: 0.75
enforceTombstones: true
snapshotConfig:
autoCheckpointOnSuspend: true
storageUri: "s3://acme-agent-snapshots/secops-reconciliation-agent/"2. Google AX Task Manifest
apiVersion: agent.google.com/v1alpha1
kind: Task
metadata:
name: incident-analyst-task-42
namespace: agent-workloads
spec:
modelRef:
name: gemini-2-5-pro
workspaceRef:
name: analyst-scratchpad-ws
runtimeClass: gvisor # runsc sandbox isolation
networkPolicy:
egress:
mode: DenyAll # Strict Zero-Trust
template:
containers:
- name: agent-runner
image: ghcr.io/aah20/autonomous-analyst:v1.0.0
env:
- name: MCP_SOCKET_PATH
value: /var/run/ax-context/mcp.sock
volumeMounts:
- name: ax-context-socket
mountPath: /var/run/ax-context
volumes:
- name: ax-context-socket
emptyDir:
medium: MemoryPython Client SDK Usage
Agents inside the container use AxContextClient with zero boilerplate:
from ax_context_gateway.client import AxContextClient
# Auto-detects $MCP_SOCKET_PATH
client = AxContextClient.from_env()
# 1. Fetch pre-flight compiled context & graph
context = client.get_bounded_context()
print(f"Admitted tokens: {context['total_tokens']} (Hash: {context['context_hash']})")
# 2. Query in-memory graph without network access
nodes = client.query_memory_graph(keyword="database credentials")
# 3. Record state mutations before AX suspension
client.record_memory_delta(key="incident_status", value="mitigation_in_progress")
# 4. Inspect session metrics & budget
metrics = client.get_session_metrics()
print("Session metrics:", metrics)Automated Conformance & Security Drills
The repository includes AxContextEvaluator to audit multi-tenant boundaries and benchmark rehydration latency:
PYTHONPATH=projects python3 -m ax_context_gateway.evaluator{
"suite": "ax_context_gateway_conformance_eval",
"all_passed": true,
"drills": [
{
"test_name": "tenant_isolation_leak_drill",
"passed": true,
"victim_tenant": "tenant-bank-corp",
"attacker_tenant": "tenant-adversary",
"leaked_count": 0,
"status": "SECURE"
},
{
"test_name": "token_starvation_bounding_drill",
"passed": true,
"max_budget": 500,
"total_admitted_tokens": 500,
"admitted_node_count": 10,
"budget_exhausted": true,
"status": "BOUNDED"
},
{
"test_name": "rehydration_latency_benchmark",
"passed": true,
"checkpoint_latency_microseconds": 360.83,
"avg_rehydration_microseconds": 96.56,
"min_rehydration_microseconds": 60.58,
"max_rehydration_microseconds": 401.33,
"iterations": 50,
"status": "OPTIMAL (<5ms)"
}
]
}Running the Unit Test Suite
PYTHONPATH=projects python3 -m unittest discover -s projects/ax_context_gateway/tests -vtest_client_duplex_session (test_evaluator.TestEvaluatorAndClient.test_client_duplex_session) ... ok
test_evaluator_drills (test_evaluator.TestEvaluatorAndClient.test_evaluator_drills) ... ok
test_suspension_checkpoint_and_rehydration (test_gateway.TestAxContextGateway.test_suspension_checkpoint_and_rehydration) ... ok
test_tampered_checkpoint_rejection (test_gateway.TestAxContextGateway.test_tampered_checkpoint_rejection) ... ok
test_tenant_isolation_and_tombstones (test_gateway.TestAxContextGateway.test_tenant_isolation_and_tombstones) ... ok
test_token_budget_enforcement (test_gateway.TestAxContextGateway.test_token_budget_enforcement) ... ok
test_unix_socket_mcp_zero_egress (test_gateway.TestAxContextGateway.test_unix_socket_mcp_zero_egress) ... ok
Ran 7 tests in 0.019s (OK)License
Apache-2.0
This server cannot be deployed
Maintenance
Related MCP Connectors
Sovereign Agent OS — Persistent Memory, Governance & Compliance for AI Agents.
MCP-native Trust Infrastructure for AI Agents. Persistent encrypted memory with Trust Quotient.
Private, portable memory and reusable skills for AI agents.
Verified memory for AI agents. Signed assertions, billing attestation, session continuity.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to maintain persistent, local memory with retrieval-augmented search, knowledge graphs, and context surfacing, without any cloud dependencies.41 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables developers and AI agents to enforce per-tenant security isolation for autonomous agents by compartmentalizing memory boundaries and managing sandboxed tenant execution. It exposes this deterministic, dependency-free guard through a native MCP server that plugs into Claude Desktop, Cursor, and other MCP-compliant clients.8-
- FlicenseNot gradedqualityCmaintenanceEnables secure, stateful AI agents and LLM tools to access enterprise databases, knowledge bases, live system metrics, and sandboxed code execution through the Model Context Protocol, with authentication, rate limiting, and safety guards.-
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to run with autonomous thermal/energy pacing, real-time threat interception, and AES-256-GCM encrypted state vaulting entirely in-process under 50 microseconds.-