CAIN-42 MCPGate

CAIN-42 · E51 · universal governance

Keep your framework. Keep your model. Keep one security contract.

Agents propose actions. CAIN decides. The boundary enforces. Systems execute. Evidence remembers. The same policy, identity, approval and evidence path works across six framework tool-call shapes and any model provider — because the adapter normalizes the call and the runtime does the rest.

6
framework adapters
13/13
contract cases per adapter
78/78
conformance cases passed
12
cross-provider demo rows, one contract
0
unauthorized effects in the governed path

The contract

native tool call
  -> normalize            (strict, versioned GovernanceRequest)
  -> authenticate         (ASSERTED is not authenticated)
  -> authorize            (policy + delegation attenuation)
  -> approve when HIGH    (bound to exact parameters, single use)
  -> enforce              (single-use capability, verify + consume)
  -> execute              (only through the runtime)
  -> observe              (independent before/after snapshot)

Framework matrix

FrameworkNative shapeContractLive framework
OpenClawaction.tool / input13/13not tested here
LangGraph{name, args, id}13/13not tested here
CrewAItool / tool_input13/13not tested here
AutoGenfunction call13/13not tested here
OpenAIfunction / responses tool call13/13no credentials
Anthropictool_use input13/13no credentials

No fake integration claims. The frameworks are not installed in this environment, so every adapter reports live_framework_tested=false. What is tested is normalization, identity, policy, approval, capability enforcement and consequence observation for each native shape.

Try it

curl -LO https://cainstudio.online/open-source/downloads/cain42-open-core-0.1.2.tar.gz
tar xzf cain42-open-core-0.1.2.tar.gz && cd cain42-open-core-0.1.2
pip install cryptography httpx pytest

python3 -c "from cain.governance.conformance import run_all; print(run_all()['summary'])"
python3 -c "from cain.governance.demo import run_demo; d=run_demo(); print(d['security_contract_identical'])"
python3 -m pytest tests/test_evolution51_adapters.py -q

What is honest

← open core · E50 adversarial lab · claims