INDEPENDENT / LOCAL-ONLY / PUBLIC-SAFE
MCP authorization proofs, with the limits left in.
Public reference fixtures for inspecting resource, audience, scope, session, token-handling, and selected signed-agent boundaries around synthetic MCP-shaped tool calls — plus a plug-in runtime gate for tool execution.
DEMO REEL · HOST RECEIPT
Closed loop on film — not a mock.
Same energy as the X closed-loop posts: run the gate, show PASS/REFUSE, leave a receipt.
Live film uses a host-captured mcp-assure check transcript (0.3.2) — re-run yourself.
Open the mcp-assure demo reel →
· raw log mcp-assure-check.txt
RUNTIME CONTROL PLANE (LIBRARY)
mcp-assure — the model proposes; the gate decides.
mcp-assure is an open-source security CLI and runtime for MCP-style tool calls: policy packs, argument constraints, optional resource/audience binding checks, velocity and blast limits, freeze mode, hash-chained decision receipts, and a local mcp-assure check control-plane health command. Middleware does not execute a tool handler on DENY or DRY_RUN. Zero runtime dependencies for the core package. Optional FastMCP middleware and a proactive campaign watch address agentic tool-plane abuse shapes. It is a runtime gate, not a hosted code vulnerability scanner.
pytest / python -m mcp_assure purple are the re-runnable proofs — not production-at-scale evidence.pip install mcp-assure
mcp-assure status
mcp-assure check # purple + campaign detector (CI)
mcp-assure evaluate --tool echo --args-json '{"text":"hi"}'
python examples/host_demo.py
# optional FastMCP: pip install "mcp-assure[fastmcp]"
THE BOUNDARY
Make the allowed path boring. Make the denied path explicit.
The fixture holds one synthetic clean control beside negative paths. It records what is allowed, what is refused, and which assumptions the verifier itself is challenged to catch.
01 / ALLOW
Minimal readA synthetic subject with the exact resource and records:read scope can initialize and read fixture data.
02 / DENY
Binding failuresMissing bearer, wrong resource, and wrong audience refuse before a tool result is returned.
03 / DENY
Authority failuresInsufficient scope, session replay by another subject, and downstream-token passthrough are refused.
04 / VERIFY
Evidence challengeKnown-bad mutations such as scope bypass and audience bypass must fail the verifier rather than become a pass.
OBSERVED FIXTURE OUTCOMES
SECOND IMPLEMENTATION BOUNDARY
FastMCP native middleware, under the same narrow contract.
A separate operator-owned FastMCP 3.4.4 fixture carries a synthetic Ed25519 signed-agent envelope through native on_call_tool middleware on stateless JSON Streamable HTTP. It initializes, discovers one static read-only tool, and records a clean control beside explicit refusals.
RECOVERY-BOUNDARY REFERENCE
Replay state must fail closed when it cannot be trusted.
A small local filesystem fixture records a SHA-256 operation digest in an exclusively created JSON file. A valid existing record is a replay; a malformed record is not silently forgiven. Both paths refuse the synthetic operation without calling an external service.
ENGAGEMENT MODEL
Start with the boundary, then leave a testable handoff.
This work is scoped as an authorization-control assessment and reproducible test-fixture engagement. It is not presented as certification, a complete audit, or a guarantee about a production system.
01 / SCOPE
Map the allowed surfaceAgree the owned system, authorization questions, safe test method, out-of-bounds areas, and the decision-maker for external action.
02 / REPRODUCE
Build the smallest useful proofTurn the agreed boundary into clean controls, negative paths, and a local receipt a team can run again.
03 / VERIFY
Challenge the evidenceTest the verifier with known-bad mutations, record limitations, and separate a lead from a supported result.
04 / HAND OFF
Leave usable artifactsDeliver the reproduction command, evidence notes, limitations, and a prioritized next-control plan for the owner.
CLIENT-READABLE SAMPLE
See the review format, not just the method.
The public synthetic sample turns two operator-owned local fixture receipts into an authority map, boundary table, evidence summary, engagement shape, and downloadable six-page report.
RUN THE REFERENCE
One self-contained local test file.
node --test mcp-assurance/lab/mcp-authz-reference.test.mjs
The public reference fixture binds only to an ephemeral localhost server and uses synthetic labels. See the evidence snapshot and source before drawing a stronger conclusion.