Skip to main content
Glama

OpenZeppelin Contracts MCP Server

Official
by OpenZeppelin
api.ts2.21 kB
import type { CommonContractOptions } from './common-options'; import type { FungibleOptions } from './fungible'; import type { NonFungibleOptions } from './non-fungible'; import type { StablecoinOptions } from './stablecoin'; import { printStablecoin, defaults as stablecoinDefaults, isAccessControlRequired as stablecoinIsAccessControlRequired, } from './stablecoin'; import { printFungible, defaults as fungibledefaults, isAccessControlRequired as fungibleIsAccessControlRequired, } from './fungible'; import { printNonFungible, defaults as nonFungibledefaults, isAccessControlRequired as nonFungibleIsAccessControlRequired, } from './non-fungible'; export interface WizardContractAPI<Options extends CommonContractOptions> { /** * Returns a string representation of a contract generated using the provided options. If opts is not provided, uses `defaults`. */ print: (opts?: Options) => string; /** * The default options that are used for `print`. */ defaults: Required<Options>; } export interface AccessControlAPI<Options extends CommonContractOptions> { /** * Whether any of the provided options require access control to be enabled. If this returns `true`, then calling `print` with the * same options would cause the `access` option to default to `'ownable'` if it was `undefined` or `false`. */ isAccessControlRequired: (opts: Partial<Options>) => boolean; } export type Fungible = WizardContractAPI<FungibleOptions> & AccessControlAPI<FungibleOptions>; export type NonFungible = WizardContractAPI<NonFungibleOptions> & AccessControlAPI<NonFungibleOptions>; export type Stablecoin = WizardContractAPI<StablecoinOptions> & AccessControlAPI<StablecoinOptions>; export const fungible: Fungible = { print: printFungible, defaults: fungibledefaults, isAccessControlRequired: fungibleIsAccessControlRequired, }; export const nonFungible: NonFungible = { print: printNonFungible, defaults: nonFungibledefaults, isAccessControlRequired: nonFungibleIsAccessControlRequired, }; export const stablecoin: Stablecoin = { print: printStablecoin, defaults: stablecoinDefaults, isAccessControlRequired: stablecoinIsAccessControlRequired, };

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