validate_inputs
Check a set of user-supplied circuit inputs against the circuit's declared signal schema WITHOUT proving. Returns {valid, errors, schema}. Call this before prove_circuit whenever the user supplies values: it is instant, it never downloads a bundle when the circuit is in the catalog, and its error...
This record as markdown: /tools/0gzk-mcp/validate-inputs.md
What validate_inputs does on 0gzk
AI agents call validate_inputs to retrieve information from 0gzk without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Circuit name |
chain | string | — | Registry chain used only when the circuit is not in the catalog |
inputs | object | — | Candidate inputs keyed by signal name; omit to just fetch the expected schema |
Parameters from the server's own tool schema.
Why validate_inputs is rated Low
Even though validate_inputs only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.
Attacks that exploit this kind of access
The rule that runs validate_inputs safely
PolicyLayer is an MCP gateway: it sits between your AI agents and 0gzk, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For validate_inputs, this is the rule to start with:
validate_inputs is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect 0gzk, apply this rule, and every validate_inputs call is checked against it from then on.
Questions about validate_inputs
Check a set of user-supplied circuit inputs against the circuit's declared signal schema WITHOUT proving. Returns {valid, errors, schema}. Call this before prove_circuit whenever the user supplies values: it is instant, it never downloads a bundle when the circuit is in the catalog, and its errors name the exact signal and expected type. Also use it (with no inputs) to show a user what a circuit needs. It is categorised as a Read tool in the 0gzk MCP Server, which means it retrieves data without modifying state.
validate_inputs accepts 3 parameters: name, chain, inputs. Required: name. The full parameter table on this page comes from the server's own tool schema.
Register the 0gzk MCP server in PolicyLayer and add a rule for validate_inputs: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches 0gzk. Nothing to install.
validate_inputs is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the validate_inputs rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for validate_inputs. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
validate_inputs is provided by the 0gzk MCP server (@0gzk/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on 0gzk, and thousands of servers like it.
This server
Across the catalogue