contract_presets
List every contract the studio can generate, with each preset's parameters, their types and defaults, the OpenZeppelin files it is built on, its licence, its wizard feature flags, and its audit label. Takes no arguments, is public, and is FREE. Call it before generating anything: `params` is per-preset and the order is the constructor's order, so the catalogue is the only place to read a preset's shape from — a required parameter that is missing is refused naming it, and an optional one falls back to its declared default. `audit` is the label the deploy path will enforce for a CLEAN generation of that preset, and it is a label on putty's own template, not an external audit of anything. **This tool does not generate anything.** Generation is a metered operation and the MCP surface does not expose it: a tool that spends credits has to be gated by a run's approval, and a direct tool call has no run to gate. Ask the person to run the deploy path, which prices the generate, the compile, and the tests together.
List every contract the studio can generate, with each preset's parameters, their types and defaults, the OpenZeppelin files it is built on, its licence, its wizard feature flags, and its audit label. Takes no arguments, is public, and is FREE. Call it before generating anything: params is per-preset and the order is the constructor's order, so the catalogue is the only place to read a preset's shape from — a required parameter that is missing is refused naming it, and an optional one falls back to its declared default. audit is the label the deploy path will enforce for a CLEAN generation of that preset, and it is a label on putty's own template, not an external audit of anything. This tool does not generate anything. Generation is a metered operation and the MCP surface does not expose it: a tool that spends credits has to be gated by a run's approval, and a direct tool call has no run to gate. Ask the person to run the deploy path, which prices the generate, the compile, and the tests together.
Input
The tool takes a single JSON object. Every field, its type, and an example are on the generated reference at GET /mcp/tools, under this tool's name.
Calling it
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": { "name": "contract_presets", "arguments": {} }
}Put your arguments in place of the empty object. A call that fails comes back as a normal result carrying isError: true and a message naming what went wrong, not as a JSON-RPC protocol error.
Notes
The category is Contracts, subcategory Studio. The full request and response shape, and a live playground, live on the generated reference at GET /mcp/tools.