Vizier
Server Details
Deterministic authorization for one proposed AI agent action, returned with a signed receipt.
- Status
- Healthy
- Uptime
- 100.0% over 23 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 1 tool
With only one tool, there is no possibility of overlap or confusion. The tool's purpose is clearly stated and distinct.
The single tool name 'vizier_verify_action' follows a clear verb_noun pattern with a namespace prefix. No inconsistencies exist because there is only one tool.
A single tool is borderline thin for the apparent purpose. While it may be sufficient for a focused verification service, the typical range for well-scoped servers is 3-15 tools.
The surface covers the core verification operation but lacks supporting tools for policy management, audit trails, or explanations. Notable gaps exist for a complete lifecycle.
Available Tools
1 toolvizier_verify_actionVerify Agent ActionBRead-onlyIdempotentInspect
Evaluate whether an AI agent should be allowed to perform a proposed action.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | ||
| grant | No | ||
| action | Yes | ||
| context | Yes | ||
| authority | Yes | ||
| principal | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false, so the safety profile is covered. The description adds only the fact that this is a gatekeeping evaluation, without disclosing latency, failure modes, whether a decision is cached, or how a denied action should be handled — meaningful gaps for a policy-decision tool, but not a contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or repetition. It is efficiently written, though arguably too terse given the structural complexity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool requiring five mandatory, deeply nested inputs (agent identity, principal, action descriptor, authority constraints, request context) and with no output schema, one sentence is far from sufficient. It omits what inputs matter, how authority constraints affect the outcome, and what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across six parameters, five of them required, including deeply nested objects (agent, action, authority with its quorum/amount/target constraints, context with approvals). The description mentions none of them, so it fails to compensate for the coverage gap; only the parameter names themselves offer any hint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and purpose: evaluate whether an AI agent may perform a proposed action. It is unambiguous and actionable, though it never states what the evaluation returns (an allow/deny verdict) or the policy framework it checks against. No siblings exist, so differentiation is moot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer it should call this before permitting an action, but there is no explicit guidance on ordering, prerequisites, what to do with the verdict, or whether a rejection is final. No alternatives are named, though none exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
vizier_verify_action3 fields changed- added
Input schema / properties / authority / properties / constraints / properties / quorumAdded value: +{ + "additionalProperties": false, + "properties": { + "allowed_approvers": { + "items": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "max_age_seconds": { + "maximum": 86400, + "minimum": 1, + "type": "integer" + }, + "min_approvals": { + "maximum": 10, + "minimum": 1, + "type": "integer" + }, + "require_distinct_owners": { + "type": "boolean" + } + }, + "required": [ + "min_approvals" + ], + "type": "object" +} - added
Input schema / properties / context / properties / approvalsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "action_hash": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "approver_id": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "approver_owner": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "decision": { + "default": "APPROVE", + "enum": [ + "APPROVE", + "REJECT" + ], + "type": "string" + }, + "grant_token": { + "type": "string" + }, + "notes": { + "maxLength": 1024, + "type": "string" + }, + "signature": { + "type": "string" + }, + "timestamp": { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$", + "type": "string" + } + }, + "required": [ + "approver_id", + "action_hash", + "timestamp", + "decision" + ], + "type": "object" + }, + "type": "array" +} - added
Input schema / properties / context / properties / proposal_idAdded value: +{ + "pattern": "^prp_[0-9a-zA-Z_-]+$", + "type": "string" +}
1 tool update
- Changed
vizier_verify_action2 fields changed- added
Input schema / properties / authority / properties / constraints / properties / allowed_dlp_categoriesAdded value: +{ + "items": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / authority / properties / constraints / properties / dlp_screeningAdded value: +{ + "type": "boolean" +}
1 tool update
- Changed
vizier_verify_action2 fields changed- added
Input schema / properties / authority / properties / constraints / properties / blocked_entitiesAdded value: +{ + "items": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / authority / properties / constraints / properties / sanctions_screeningAdded value: +{ + "type": "boolean" +}
1 tool update
- Changed
vizier_verify_action5 fields changed- added
Input schema / properties / authority / properties / constraints / properties / cool_off_secondsAdded value: +{ + "maximum": 86400, + "minimum": 1, + "type": "number" +} - added
Input schema / properties / authority / properties / constraints / properties / max_repeated_callsAdded value: +{ + "maximum": 100, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / authority / properties / constraints / properties / max_session_actionsAdded value: +{ + "maximum": 10000, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / authority / properties / constraints / properties / time_window_secondsAdded value: +{ + "maximum": 3600, + "minimum": 1, + "type": "number" +} - added
Input schema / properties / context / properties / session_idAdded value: +{ + "maxLength": 256, + "minLength": 1, + "type": "string" +}
1 tool update
- Changed
vizier_verify_action1 field changed- added
Input schema / properties / grantAdded value: +{ + "maxLength": 8192, + "minLength": 1, + "type": "string" +}
1 tool update
- First observed
vizier_verify_action
Related MCP Connectors
Pre-execution policy gate for consequential agent actions with durable trust receipts.
Human-in-the-loop approval for agent actions, with verifiable action-bound receipts.
Issue signed receipts for AI agent actions; verify any receipt offline - free, no account.
Independent effect verification and signed receipts for consequential AI agent actions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides cryptographic governance receipts for AI agents, enabling pre-execution evaluation and signed verdicts (EXECUTE/BLOCK/REVIEW/SHADOW) with offline-verifiable audit trails.MIT
- AlicenseNot gradedqualityBmaintenanceProvides tools to evaluate an AI agent's step before execution, returning signed ALLOW/DENY receipts, and to verify receipt chain integrity.Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables AI agents and MCP clients to screen proposed actions, enforce deterministic policies and limits, and produce tamper-proof signed audit receipts before any external side effect is executed.2 npmMIT
- AlicenseCqualityCmaintenanceEnables an AI agent to preflight concrete tool calls by recording principal, destination, scope, authority evidence, and relations, allowing only formed actions to execute and producing inspectable evidence receipts.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.