Learn

Understand how Hangar governs every MCP call.

Concepts, hands-on walkthroughs, and the design reasoning behind the enforcement plane — explore by the part of the request path you care about, or filter the library below.

How a call is governed
Click any control to explore its concepts.Show everything
Cluster planeoperator admission · runs at deploy, once per workload — not per request
Applies only in namespaces labelled mcp-hangar.io/enforce-egress=true.
The enforcement pipeline
ordered — top → bottom is real execution order
governance gate reliability opt-in · off
Responsemutators → truncation
if an upstream returns a task handle →
ADR-014 · not in v1.6.0 · relay off → clean TaskRelayNotSupported.
Type
Level
Status
Start here

From install to a governed deny in 10 minutes

Install the operator, apply a policy, and watch the same call go from allowed to denied.

TutorialIntro10 min1.6.0

What is a policy enforcement plane?

One deterministic allow/deny path for every MCP tool call — and why that beats a passive gateway.

ConceptIntro6 min1.6.0

The request path

A visual walk from the client, through the enforcement seam, to the upstream — and where each control fires.

VisualIntro3 min1.6.0

Enforcement plane vs API gateway for MCP

Why a governing chokepoint on the call path beats a passive proxy in front of your MCP servers.

Deep diveIntro5 min1.6.0

Deterministic, not anomaly-based

No scores to tune, no baseline to train -- enforcement you can read, test, and reason about.

Deep diveIntro4 min1.6.0

What Hangar costs — and where it stops

Every other page here argues what Hangar does. This one is the bill and the fence: the real cost of putting it on the call path, and the things it deliberately refuses to do.

Deep diveIntro7 min1.6.0

Write your first MCPEgressPolicy

Hands-on: deny by default, allow only read-only tools, and pin egress to a single upstream.

TutorialIntro15 min1.6.0

The L7 MCPEgressPolicy language

Glob allow/deny/requireApproval plus secret-pattern and payload-size argument scanning -- deterministic, no ML.

ConceptCore8 min1.6.0

Digest pinning: tool schemas can't drift under you

Pin a tool schema fingerprint at authorize time; any drift fails the call closed.

ConceptCore5 min1.6.0

Governance observability

OTel GenAI/MCP semconv spans and an identity-attributed, append-only audit chain over every governed call.

ConceptCore6 min1.6.0

The governed task-relay flow

Mint → relay + ledger + TaskCreated → follow-ups → consent gate → recorded decision, one diagram at a time.

VisualCore4 minv2 preview

Mid-flight consent for async tools

A real, blocking human decision on an input_required task -- recorded and fail-closed.

ConceptCore7 minv2 preview

Govern an async task end-to-end

Follow a relayed task from mint through follow-ups, an input_required consent prompt, to a recorded decision.

TutorialCore15 minv2 preview

Governed async tasks: relay-with-governance, not an executor

An MCP task hands the caller a promise the work will finish later. Most gateways either drop that promise on the floor or grow a job runner to keep it. Hangar does neither -- it relays the task and governs its lifecycle at the proxy seam, so every async task_id is a first-class governed object without Hangar ever running a job.

ConceptDeep10 minv2 preview

MCP on the v2 SDK: Tasks as a negotiated capability

SEP-2663 promotes Tasks out of experimental into a negotiated extension -- the unblocker for governed relay.

ConceptDeep8 minv2 preview
Read top to bottom for the guided path — start with the install walkthrough — or use the map and facets to jump straight to what you need.