Schema
CedarV1Policy
Type:
object
Cedar:V1 policy body. Present on
Policy when PolicySummary.type is cedar_v1. Cedar policies encode their rules directly in text rather than in the rules sub-resource; the rules endpoints are not available for Cedar policies.schema_url
· required
Type:
string
URL of the Cedar schema this policy was authored against. The evaluator looks up the schema by this URL from its built-in registry. Use
https://schemas.docker.com/policy/cedar/v1/mcp/v0 for MCP policies.All schema constraints and annotations
{
"description": "URL of the Cedar schema this policy was authored against. The evaluator looks up the schema by this URL from its built-in registry. Use `https://schemas.docker.com/policy/cedar/v1/mcp/v0` for MCP policies.\n",
"examples": [
"https://schemas.docker.com/policy/cedar/v1/mcp/v0"
],
"type": "string"
}text
· required
Type:
string
One or more Cedar
permit or forbid statements. Must be syntactically valid Cedar and must not carry an @id annotation (IDs are server-assigned).All schema constraints and annotations
{
"description": "One or more Cedar `permit` or `forbid` statements. Must be syntactically valid Cedar and must not carry an `@id` annotation (IDs are server-assigned).\n",
"examples": [
"permit(principal, action == MCP::Action::\"call_tool\", resource is MCP::Tool);"
],
"type": "string"
}All schema constraints and annotations
{
"description": "Cedar:V1 policy body. Present on `Policy` when `PolicySummary.type` is `cedar_v1`. Cedar policies encode their rules directly in `text` rather than in the rules sub-resource; the rules endpoints are not available for Cedar policies.\n",
"properties": {
"schema_url": {
"description": "URL of the Cedar schema this policy was authored against. The evaluator looks up the schema by this URL from its built-in registry. Use `https://schemas.docker.com/policy/cedar/v1/mcp/v0` for MCP policies.\n",
"examples": [
"https://schemas.docker.com/policy/cedar/v1/mcp/v0"
],
"type": "string"
},
"text": {
"description": "One or more Cedar `permit` or `forbid` statements. Must be syntactically valid Cedar and must not carry an `@id` annotation (IDs are server-assigned).\n",
"examples": [
"permit(principal, action == MCP::Action::\"call_tool\", resource is MCP::Tool);"
],
"type": "string"
}
},
"required": [
"text",
"schema_url"
],
"type": "object"
}