Variant · MCP
MCP Action Envelope™
Produced by an MCP verifier check. Carries the MCP server target, ResultState, ReasonCodes, and a TrustOps handoff URL when setup or upgrade is recommended.
When this envelope is produced
- A verifier checks an MCP server’s posture before a tool call.
- The relying party reads the envelope and applies local policy.
Example envelope
MCP Action Envelope (illustrative)
{
"schema_version": "action-envelope-v1",
"envelope_type": "mcp",
"target_type": "mcp_server",
"target_value": "<ECZ-XX-XXXXXX::MCP-XXXXXX>",
"result_state": "NO_PUBLIC_RESOLVER_PROOF_FOUND",
"reason_codes": ["OPERATOR_PROOF_NOT_FOUND", "MANIFEST_NOT_FOUND"],
"resolver_url": null,
"machine_json_url": null,
"recommended_next_steps": [
"If you operate the MCP server: start setup in TrustOps.",
"If you do not operate it: share resolver guidance with the operator."
],
"trustops_action_url": "https://trustops.ecocitizenz.com/start?source=developer_gateway&intent=mcp_assurance",
"developer_guidance_url": "https://developers.ecocitizenz.com/action-envelope/mcp",
"policy_mode": "OPEN",
"local_policy_decides": true,
"recheck_before_reliance": true,
"no_safety_or_approval_inference": true
}Action Envelope field reference
| Field | Type | Purpose |
|---|---|---|
| schema_version | string | Envelope schema version, for example action-envelope-v1. |
| envelope_type | string | One of resolver, mcp, agent, reciprocal_reliance. |
| target_type | string | What is being checked, for example mcp_server, agent_credential, api_passport, package, domain, sbom. |
| target_value | string | Canonical identifier or URL for the target. |
| result_state | enum | One of the 18 canonical ResultStates. |
| reason_codes | string[] | Granular reason codes that explain the ResultState. |
| resolver_url | string | Public Resolver URL for the target, where available. |
| machine_json_url | string | Machine-readable JSON URL for the target, where available. |
| recommended_next_steps | string[] | Suggested next steps for the relying party. Guidance only. |
| trustops_action_url | string | TrustOps handoff URL for setup or lifecycle, where applicable. |
| developer_guidance_url | string | Developer Gateway guidance URL for the target type. |
| policy_mode | enum | OPEN, PREFER, or REQUIRE — the relying party local policy mode. |
| local_policy_decides | boolean | Always true. The relying party decides the outcome locally. |
| recheck_before_reliance | boolean | Always true. Re-check Resolver before any high-risk action. |
| no_safety_or_approval_inference | boolean | Always true. The envelope is not a safety or approval claim. |
The envelope is not proof authority
An Action Envelope is a transport for guidance. It carries a ResultState and ReasonCodes, points at the Resolver for proof, and points at TrustOps for setup. It is not itself proof authority. Resolver remains the public proof surface for current state.
No overclaim posture
- No public resolver proof found yet does not mean unsafe.
- Re-check before reliance.
- Local policy decides.
- The verifier does not create or change verification state.
ECZ-ID separates setup, verification state, and public proof so operators can prepare evidence and relying parties can re-check before they act. TrustOps handles setup. Resolver remains the public proof surface. The verifier does not create or change verification state. Start setup in TrustOps when you operate the target. Share resolver guidance when you do not. Local policy decides. Re-check before reliance.
