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 · shipped in 2.0.0, not in the 1.6.x line · relay off → clean TaskRelayNotSupported.
Type
Level
Since
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 minSince 1.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 minSince 1.6.0

The request path

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

VisualIntro3 minSince 1.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 minSince 1.6.0

Deterministic, not anomaly-based

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

Deep diveIntro4 minSince 1.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 minSince 1.6.0

Two Hangars, one verdict

An enforcement plane sits on the call path, so its availability is the floor under everything it governs. Running a second one was a governance problem long before it was a scaling one — here is why, and what the answer costs.

Deep diveCore9 minLanding in 2.5.0

Write your first MCPEgressPolicy

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

TutorialIntro15 minSince 1.6.0

The L7 MCPEgressPolicy language

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

ConceptCore8 minSince 1.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 minSince 1.6.0

Governance observability

OTel GenAI/MCP semconv spans and an identity-attributed audit record exported to OTLP and your SIEM over every governed call.

ConceptCore6 minSince 1.6.0

The governed task-relay flow

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

VisualCore4 minSince 2.0.0

Mid-flight consent for async tools

Governing an input_required task on the SEP-2663 wire -- gated on the client's own tasks/update, recorded and fail-closed.

ConceptCore7 minSince 2.0.0

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 minSince 2.0.0

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 minSince 2.0.0

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 minSince 2.0.0
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.