npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@openzeppelin/contracts-mcp

v0.7.0

Published

OpenZeppelin Contracts MCP Server

Readme

OpenZeppelin Contracts MCP Server

NPM Package

A Model Context Protocol (MCP) server that allows AI agents to generate smart contracts using OpenZeppelin Contracts libraries.

This server runs locally and requires Node.js to be installed. For a hosted version, see OpenZeppelin MCP Servers.

[!WARNING] AI agents determine when and how to use the MCP server and therefore may produce inaccurate results. You should always review any information produced by the AI agent to ensure that any results are accurate and suit your purposes.

Features

Provides tools to generate smart contract source code for the following languages and contract kinds. Resulting contracts use OpenZeppelin Contracts libraries for each language. Tools are named in the format <language>-<contract>.

| Language | Contracts | | --- | --- | | solidity | erc20, erc721, erc1155, stablecoin, rwa, account, governor, custom | | cairo | erc20, erc721, erc1155, erc6909, account, multisig, governor, vesting, custom | | confidential | erc7984 | | stellar | fungible, stablecoin, non-fungible, governor, vault, account | | stylus | erc20, erc721, erc1155 | | tron | trc20, trc721, trc1155, governor, custom | | uniswap-hooks | hooks (tool name is just uniswap-hooks) |

MCP Apps

Hosts that support the MCP Apps extension (for example Cursor and Claude) can render an interactive Wizard UI for each tool: the same options as the web Wizard for that contract kind, a live code preview, and a button to hand the current source back to the agent. Language and kind pickers are omitted because the tool name already selects them.

Send Updates to Agent checks host MCP Apps capabilities:

  • message (e.g. Claude): sends a chat message that includes the full current source so the agent sees option changes. Also best-effort stages via updateModelContext when advertised (some hosts do not attach silent context to draft-injected messages, so the message itself must be self-contained).
  • No message capability (e.g. Cursor today, including hosts that only advertise updateModelContext): the button is Copy to Clipboard (same idea as the web Wizard copy action).
  • Outbound links (tooltip “Read more”, import hyperlinks in the preview) use the host openLinks capability via openLink. If the host does not advertise it, those links are hidden so nothing looks clickable that cannot open.

Clients without Apps support continue to work — tools still return source code as Markdown text. The server always returns tool text; hosts that do not implement MCP Apps simply ignore the UI metadata.

App HTML artifacts

Interactive App HTML is not committed to git. It is generated into packages/mcp/apps/ and included in the published npm tarball.

  • Published package (npm / npx): Apps HTML is already in the package; no extra build step.
  • Local checkout (Cursor/Claude pointed at packages/mcp/dist/cli.js, or a file: dependency): run yarn --cwd packages/mcp build:apps after cloning or changing MCP App UI sources. If HTML is missing, the server fails closed at startup with a message to run that command (npm consumers should reinstall or report a packaging bug).
  • CI / publish: CI builds Apps before MCP tests; prepublishOnly builds Apps before npm publish.

Installation

Cursor

For quick installation, use the button below.

Add to Cursor

For manual installation:

  1. Go to Settings > Cursor Settings > Tools & Integrations > MCP Tools > New MCP Server.
  2. Add the contents from the Client Configuration section to your MCP configuration file and save.
  3. See the MCP server in the list.

Windsurf

  1. Go to Settings > Windsurf Settings > Cascade > Manage MCPs > View raw config.
  2. Add the contents from the Client Configuration section to your MCP configuration file and save.
  3. Click Refresh on the Manage MCP Servers page.
  4. See the MCP server in the list.

Claude Desktop

  1. Go to Settings > Developer > Edit Config.
  2. Add the contents from the Client Configuration section to your MCP configuration file and save.
  3. Restart Claude Desktop.
  4. Click the "Search and tools" button and see the MCP server in the list.

Client Configuration (Cursor/Windsurf/Claude Desktop)

{
  "mcpServers": {
    "OpenZeppelinContracts": {
      "command": "npx",
      "args": [
        "-y",
        "@openzeppelin/contracts-mcp"
      ]
    }
  }
}

Claude Code

claude mcp add OpenZeppelinContracts -- npx -y @openzeppelin/contracts-mcp

VS Code

For quick installation, use one of the buttons below.

Add to VS Code Add to VS Code Insiders

For manual installation:

  1. Follow VS Code documentation to Add an MCP server to your workspace using the following configuration:
{
  "servers": {
    "OpenZeppelinContracts": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@openzeppelin/contracts-mcp"
      ]
    }
  }
}
  1. Start the MCP server according to Manage MCP servers.

Usage

When interacting with an AI agent, for example in your IDE's Write or Agent mode, ask it to write or modify smart contracts for your use case. When the AI agent determines it is appropriate to do so, it will use the MCP server to generate the contracts or determine best practices for your use case.