AWS Cedar policy_engine plugin for MCPG gateway (dev.mcpg.policy.cedar) — evaluates Cedar policies with support for schema validation, entity stores, bundle hot-reload, and annotation-driven obligations/redactions
Single tool 'evaluate' has a well-structured input schema with 4 parameters (principal, action, resource, context), each with type and description. Description is 287 chars, explaining the Cedar policy evaluation flow and output (PolicyDecision with Allow/Deny/NotApplicable, matched policy IDs, obligations/redactions). However, output schema is not documented in the source, no explicit return type definition visible. Parameter descriptions are present but lack detail on expected formats, constraints, and error cases. No enum constraints on action or effect values. Risk classification (READ_ONLY) is present but tool lacks idempotent/readonly annotations in the protocol sense.
Evaluates a Cedar policy decision request against the compiled PolicySet. Translates MCPG's evaluation envelope (principal, action, resource, context) to Cedar's typed Request, executes authorization, and returns PolicyDecision with Allow/Deny/NotApplicable effect, matched policy IDs, and annotation-driven obligations/redactions.
Output schema not documented. Tool description mentions PolicyDecision with Allow/Deny/NotApplicable effect and matched policy IDs, but no explicit return type schema is visible in source code. LLMs cannot plan downstream operations without knowing response structure.
Parameter descriptions lack format constraints and validation rules. 'principal' is described as 'Principal entity with subject_id and optional attributes' but does not specify required fields, attribute types, or examples. 'action' lacks enum values or pattern constraints.
No error handling guidance. Tool description does not explain what happens on policy evaluation failure, invalid principal/resource format, missing schema, or Cedar parsing errors. LLMs have no recovery path.
Tool lacks protocol-level annotations. Risk is marked READ_ONLY in metadata, but MCP spec (2026-07-28) expects toolAnnotations (readOnlyHint, idempotentHint) in the tool definition itself for LLM visibility.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
No pagination or result limits documented. If PolicySet evaluation returns multiple matched policies, no guidance on max count, truncation, or how to handle large result sets.