Skip to main content
Glama
OpenZeppelin

OpenZeppelin Contracts MCP Server

Official
by OpenZeppelin

cairo-multisig

Generate multi-signature smart contracts requiring quorum approval for transaction execution. Create secure Cairo contracts with configurable signers and upgrade options.

Instructions

Make a multi-signature smart contract, requiring a quorum of registered signers to approve and collectively execute transactions.

Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the contract
quorumYesThe minimal number of confirmations required by the Multisig to approve a transaction.
upgradeableNoWhether the smart contract is upgradeable.
infoNoMetadata about the contract and author

Implementation Reference

  • The handler function that executes the cairo-multisig tool. It takes input parameters, constructs MultisigOptions, generates Cairo code using the external multisig.print function from @openzeppelin/wizard-cairo, and returns it as text content.
    async ({ name, quorum, upgradeable, info }) => { const opts: MultisigOptions = { name, quorum, upgradeable, info, }; return { content: [ { type: 'text', text: safePrintCairoCodeBlock(() => multisig.print(opts)), }, ], }; },
  • Zod schema defining the input parameters for the cairo-multisig tool: name, quorum, upgradeable, and info.
    export const multisigSchema = { name: z.string().describe(commonDescriptions.name), quorum: z.string().describe(cairoMultisigDescriptions.quorum), upgradeable: commonSchema.upgradeable, info: commonSchema.info, } as const satisfies z.ZodRawShape;
  • Direct registration of the 'cairo-multisig' tool on the MCP server, including the tool name, prompt, schema, and handler.
    return server.tool( 'cairo-multisig', makeDetailedPrompt(cairoPrompts.Multisig), multisigSchema, async ({ name, quorum, upgradeable, info }) => { const opts: MultisigOptions = { name, quorum, upgradeable, info, }; return { content: [ { type: 'text', text: safePrintCairoCodeBlock(() => multisig.print(opts)), }, ], }; }, );
  • Top-level call to register all Cairo tools, including cairo-multisig, on the main MCP server.
    registerCairoTools(server);
  • Registration entry for Multisig tool in the Cairo tools registry, which calls the specific registerCairoMultisig function.
    Multisig: () => registerCairoMultisig(server),

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/OpenZeppelin/contracts-wizard'

If you have feedback or need assistance with the MCP directory API, please join our Discord server