Skip to main content
Glama

OpenZeppelin Contracts MCP Server

Official
by OpenZeppelin
shared.ts1.48 kB
import type { AiFunctionPropertyDefinition } from '../types/function-definition.ts'; import { commonDescriptions } from '../../../../common/src/ai/descriptions/common.ts'; const sharedFunctionDescription = { name: { type: 'string', description: commonDescriptions.name }, symbol: { type: 'string', description: commonDescriptions.symbol }, burnable: { type: 'boolean', description: commonDescriptions.burnable, }, pausable: { type: 'boolean', description: commonDescriptions.pausable, }, mintable: { type: 'boolean', description: commonDescriptions.mintable, }, } as const satisfies AiFunctionPropertyDefinition<{ name: string; symbol: string; burnable: boolean; pausable: boolean; mintable: boolean; }>['properties']; export const addFunctionPropertiesFrom = < TContract, TCommonOptions extends Record<string, unknown> = Record<string, unknown>, TCommonOptionName extends keyof (typeof sharedFunctionDescription & TCommonOptions) & keyof TContract = keyof (typeof sharedFunctionDescription & TCommonOptions) & keyof TContract, >( commonOptions: TCommonOptions, commonOptionNames: TCommonOptionName[], ) => commonOptionNames.reduce( (pickedCommonOptions, commonOptionName) => ({ ...pickedCommonOptions, [commonOptionName]: { ...commonOptions, ...sharedFunctionDescription }[commonOptionName], }), {} as Pick<typeof sharedFunctionDescription & TCommonOptions, TCommonOptionName>, );

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