Skip to main content
Glama

policy_evaluate

Evaluate lifecycle actions against fleet policy to return ALLOW/DENY decisions with reasons and per-check results; observe-only, with every evaluation receipted.

Instructions

Evaluate a lifecycle action against policy — evaluation ONLY, nothing executes (v0.1 is observe-only). Returns ALLOW/DENY + reasons + per-check results; every evaluation is receipted, DENYs included. Args: actor {agent, desk}, target, action, params.

Input Schema

NameRequiredDescriptionDefault
actorYes
actionYes
paramsNo
targetYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does a good job: it discloses that nothing executes, that the result is ALLOW/DENY plus reasons and per-check results, and that every evaluation writes a receipt including DENYs. Undisclosed are permission/auth prerequisites and any rate limits on receipt-writing evaluations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact clauses, front-loaded with the no-execution guarantee, followed by return shape and the argument list. No filler sentences; every clause adds information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Absent an output schema, the description usefully covers return values and the receipt side effect, which is the hardest part to infer. For a tool with a nested actor object and zero documented parameters, though, it should also clarify valid actions and target/params shape before an agent can call it confidently on the first try.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

At 0% schema coverage the description must compensate, and it only partly does: it uniquely reveals that `actor` has the subfields {agent, desk}, which the schema does not. But `target`, `action`, and `params` are merely named — there is no indication of valid `action` values, what a target identifier looks like, or what belongs in `params`.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Evaluate a lifecycle action against policy") and immediately pins the scope with "evaluation ONLY, nothing executes (v0.1 is observe-only)." That scope note cleanly separates it from the sibling tools, none of which are policy-check operations, so an agent can select it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The observe-only framing tells the agent this is the tool to call when it wants a verdict without side effects, which is a real usage condition. It stops short of naming exclusions or alternatives (e.g. use receipt_list to inspect prior evaluations), so the routing guidance is contextual rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.